C#入门教程08.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#入门教程08.07:修改dll
https://blog.jackeylea.com/csharp/how-to-alter-csharp-dll/