您现在的位置: 365建站网 > 365学习 > 国外一款串口通信控件破解(一) 兼谈 .net Attribute原理

国外一款串口通信控件破解(一) 兼谈 .net Attribute原理

文章来源:365jz.com     点击数:786    更新时间:2009-09-16 11:51   参与评论
近日破解了一个国外的串口通信控件,.net写的,中间破费周折,写下来希望能给大火一点启示帮助。具体名字就不写了,用xx.2.dll替代。

1、IDLASM进行反汇编,结果提示

受保护的模块 -- 无法进行反汇编

看来需要改造版本的 ILDASM 

下载ILDASM修改版V2.0

可以成功进行反编译了。

ildasm xx.2.dll /out=xx.2.il

2、大量的名称被混淆,需要仔细分析相关代码

反编译后,il大量的name被混淆,

直接尝试 ilasm 
ilasm /dll /res:xx.2.res /key:xx.2.snk xx.2.il /out:xx.2.dll /quiet
结果发现根本不能编译反汇编出来的il文件
看来要进行 名称反混淆后 ,再进行处理才可以。

3、名称反混淆

使用在pediy下载的Simple Assembly Explorer 进行名称反混淆,之前使用过一个DeObfuscator反混淆,反混淆后有问题,很多能读的类都给修改了,导致暴露给外界调用的类名找不到。使用Simple Assembly Explorer 的没有问题。

使用Simple Assembly Explorer 进行名称反混淆后。Ildasm成IL,再ilasm后 可以正常组装成dll了
但是运行例子的时候出现了
未能加载文件或程序集 “xx.2, Version=2.0.0.3108, Culture=neutral, PublicKeyToken=98fd87b7d0f115c7” 或它的某一个依赖项。强名称验证失败。 (异常来自 HRESULT:0x8013141A)

因为自己生成一个SNK,编译后导致
PublicKeyToken改变了。重新编译例子程序,ok,这个错误消失,但是出现了新错误

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (786人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------