V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xu2060
V2EX  ›  问与答

关于 c# dll 的问题请教各位!

  •  
  •   xu2060 · 2022-01-18 14:22:38 +08:00 · 1141 次点击
    这是一个创建于 800 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景: 现在公司有一个需求,要求用前端 vue 调用 C#写的数字签名的 dll 库,对文件进行签名。于是我就想到了部署一个服务端程序专门干签名这个事(将 dll 放在服务端进行远程调用),但是现在遇到一个问题:调用 dll 的 signature()方法后,会弹出一个 windows 对话框选择数字证书(会有交互),但是我想在想把它变成 webapi 的形式,通过 json 传输数据。 如何把 dll 库与调用者的交互,转换成接口的形式? 1.只有一个 dll ,没有 c#的源码 2.服务端程序是什么语言都行 C# Python ...

    请教各位,有实现的可能吗?

    8 条回复    2022-01-18 18:54:34 +08:00
    thinkershare
        1
    thinkershare  
       2022-01-18 15:51:45 +08:00
    没啥好的办法, 反编译 DLL, 修改内部逻辑, 或者干脆自己重写写签名逻辑, 直接写在前端后端都可以, 前端也有一堆签名库
    ysc3839
        2
    ysc3839  
       2022-01-18 15:53:24 +08:00
    发 DLL 来看看吧
    xiangyuecn
        3
    xiangyuecn  
       2022-01-18 15:58:09 +08:00
    目测逃不过反编译,要是反编译了,基本上就不用他这个 dll 了,目测随便手写一个都比它强,就像 1 楼讲的一样🐶
    cppc
        4
    cppc  
       2022-01-18 17:51:19 +08:00 via iPhone
    技术上可行,就是用类似做游戏外挂的技术。但是你最好弄轻松这样做的法律风险,你这样就是代替用户签名了,也失去了签名的意义
    iseki
        5
    iseki  
       2022-01-18 18:01:33 +08:00
    再弄个东西帮你操作对话框~~~
    thinkershare
        6
    thinkershare  
       2022-01-18 18:27:01 +08:00
    使用 Windows hooks 模拟人操作也不是不行
    yuzhibopro
        7
    yuzhibopro  
       2022-01-18 18:43:49 +08:00
    这个交互按钮有没有可以直接获取。
    GeruzoniAnsasu
        8
    GeruzoniAnsasu  
       2022-01-18 18:54:34 +08:00
    这个选文件的对话框是「打开文件」对话框?

    如果是跟浏览器上传文件时弹的那个「打开文件」一样的东西,那么它在 c#中的用处就仅仅是获取一个文件路径字符串,反编译后改掉逻辑也很简单的。

    不过我感觉更科学的方式是直接换掉这个库
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3349 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:37 · PVG 21:37 · LAX 06:37 · JFK 09:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.