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

2022-01-18 14:22:38 +08:00
 xu2060

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

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

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

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

不过我感觉更科学的方式是直接换掉这个库

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/828992

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX