C#入门教程04.07:修改dll
系列索引:C#入门系列教程索引
上一篇:C#入门教程08.06:代码加壳
修改的是托管dll,使用的是上一篇中的exe/dll
默认
exe/dll都没有强签名,没有加壳,没有混淆
使用dnSpy打开dll

在函数处点击编辑方法

弹出函数修改界面

将return a + b;改为return a - b;

点击右下角的编译,如果没有错误就会关闭函数修改界面
点击菜单中的保存模块

根据需要设置保存模块参数

点击确定,将修改写入文件。
执行exe,输出为
1 | |
exe调用dll中的getSum函数,获取2和8的和,但是dll我们修改了函数的实现,变为差,所以执行结果为2-8=-6
加强签名
dll加强签名,没有加壳,没有混淆
用同样的方法修改函数实现为差
输出和上面一样,也就是说,单独的强签名无法验证dll未修改。
要想保证强签名dll未修改,你需要验证签名
C#入门教程04.07:修改dll
https://blog.jackeylea.com/csharp/how-to-alter-csharp-dll/

