首页
社区
课程
招聘
[旧帖] [原创]破解合计行控件AX.SumDataGrid.dll 0.00雪花
发表于: 2011-3-28 20:14 4298

[旧帖] [原创]破解合计行控件AX.SumDataGrid.dll 0.00雪花

2011-3-28 20:14
4298

破解合计行控件AX.SumDataGrid.dll(仅供大家学习交流,勿用于商业用途)

主程序调用AX.SumDataGrid.dll时会先出现下面界面,下面开始破解这个 dll
 
先用Reflector 分析,可以加载,但程序是被混淆(加密)过的,可以看到类名(大部分被改成无序的名称了),但要打开类,看类里的代码时会出现  “Expression stack is empty at offset 0006”
 
照着上面的错误提示google了一下,找到了”看雪”, 看雪大牛如是说:
程序是用 .Net Reactor 混淆过的
用dotnet helper反编译得到IL文件,
用文本编辑器删除以下的文本段:
    IL_0000:  br         IL_0007

    IL_0005:  pop
    IL_0006:  ldc.i4.0
,再编译。
得到的文件可以用reflector看C#源码

我照作了,果然OK,可以看到函数内部代码了

于是找到底是哪段代码让上面那个广告弹出来的,刚开始想从反混淆着手破解,先用reflector把AX.SumDataGrid.dll反成C#代码,然后再根据自己2个月的C#学习经验来调试,但是看啊看,实在太累人了,代码里有好多”asdfsdf(“  和  ” Adse)jou”之类的字符串变量,查找替换了老半天,里面还是有很多错误的地方,还是不能编译成DLL,可能这条路行不通.
后来换了思路,找程序的破解入口,也就是说哪句话让那个广告窗口出来了(当时想着找关键字show()),后来在reflector中看代码,分析出来了,是下面这句,后来验证果真不错,哈哈,这两个月的C#也不是白学的

破解前
 
但是知道是这句代码了,还有一个问题没解决:怎么把这句话给去掉(或注释掉)???   现在有的可只是一个DLL文件啊,没有源码啊,自己又不懂IL语言,不会修改,后来临时补了下IL语言(在网上找了一点儿,临时抱佛脚),学了老半天,也还是找不到上面的这个破解入口点所对应的IL代码部分.
下午下班吃完饭,内急,去蹲厕所, 蹲着蹲着,嘿灵感来了,我顿时有种预感破解就要成功了,果真如是

新建一个工程,什么也不要往里边加,就只在一个新定义的函数中添加(还得在工程里新添加一个空类TestExpired)
public void ABC()
        {
            TestExpired expired = new TestExpired();
        }
把这个EXE转成IL代码,这样IL代码就会很短,更容易查找目标,经验证把IL代码中的
    .maxstack  1
    .locals init (class ILCode.TestExpired V_0)
    IL_0000:  nop
    IL_0001:  newobj     instance void ILCode.TestExpired::.ctor()
    IL_0006:  stloc.0
    IL_0007:  ret
部分去掉,再用dotnet helper编译回EXE文件,可以正常运行, 加载到reflector后, public void ABC()部分就变成了
public void ABC()
        { 
        }
在AX.SumDataGrid.dll的IL代码里去掉下面两行(或注释这两行)
    IL_0093:  newobj     instance void AX.SumDataGrid.TestExpired::.ctor()
    IL_0098:  stloc.0
,然后再用dotnet helper编译得到DLL文件,再加载到reflector中后如下,没有TestExpired expired = new TestExpired();这句了,如下图所示.
再用主程序调用AX.SumDataGrid.dll也没有广告窗口了,OK………………..完!!!!!!!!!!!!!!!!!!!!!!

破解后


破解合计行控件AX.SumDataGrid.doc

原始程序.rar

破解成功.rar


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 7
支持
分享
最新回复 (11)
雪    币: 386
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
好啊,你很牛了
2011-3-28 21:29
0
雪    币: 436
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
发这个不知道对大家有没有用处,不过自己还是感觉挺有成就感的,前几天想找个人破解这个DLL,人家说要收1000元,还是自己学习吧,于是就在网上找啊找的,最后多亏遇到了  看雪
2011-3-29 22:04
0
雪    币: 504
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
這個也優秀?呵呵呵,.NET在這裡真不是氣候
2011-4-3 16:23
0
雪    币: 563
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
Reflector 挺好用
2011-4-3 17:31
0
雪    币: 504
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
工具是死的,人是生的,工具有了,靠的的腦是否靈活,方法是否能變通。。。
2011-4-3 21:25
0
雪    币: 20
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
大哥要鼓励友人!:
2011-4-3 21:34
0
雪    币: 504
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
沒有中傷的意思,我說的是工具需要人去使用
2011-4-3 21:55
0
雪    币: 436
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
9
嘿,还评上优秀了!
2011-4-15 11:40
0
雪    币: 37
活跃值: (80)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
这话说的好听,我喜欢
2011-4-15 21:15
0
雪    币: 504
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
11
當然,樓主是新人,希望他更上一層
2011-4-16 08:15
0
雪    币: 242
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
学习了,牛人
2011-4-16 11:00
0
游客
登录 | 注册 方可回帖
返回
//