首页
社区
课程
招聘
inline patch MaxtoCode(纯属恶搞)大牛勿进。
发表于: 2006-10-29 00:28 11056

inline patch MaxtoCode(纯属恶搞)大牛勿进。

2006-10-29 00:28
11056

rick大牛,已经写出了MaxtoCode得unpacker.太牛了。不知道是不是把所有的mathod都执行一遍,然后Dump-〉修复。

unpacker还不公开,所以像我这种小菜想破解MaxtoCode还得inline patch。

patch主程序不是很现实,因为原始的mathod已经被Kill了,运行的时候动态的填充。那怎么办呢?

很简单,随便在能运行到的method上内存写入断点,断下来后在system.data.dll里面,这个dll就是MaxtoCode的DLL,负责动态的解密IL.patch这个是不错的选择。

注意看断下来的地方的指令

mov dl,byte ptr [ecx+eax]
mov byte ptr [eax],dl

这里eax是被填充的地址,dl就是IL opcode.

上面的指令刚好是5 byte.so........
改为jmp xxxxxxxx(具体地址根据实际情况选择,选择reloc段不错)。

然后就可以Do what U want to do了
我做了这些:
mov dl,byte ptr [ecx+eax]
cmp eax,xxxxxxxx
jnz end
mov dl,xx
cmp eax xxxxxxxx
jnz end
mov dl,xx
end:
mov byte ptr [eax],dl
jmp xxxxxxxx

应该能看懂吧?

猜测:其实完全可以利用这个DLL做个unpacker。

TO Jason.NET:.NET保护只能走VFP那条路,自己接管EE,JITCompiler.但是那样.NET就失去了意义。所以目前没啥好办法保护.NET程序

rick的unpacker似乎只支持2.0.我也没见过,听说而已。这个方法1.0 2.0通吃。
可能利用MaxtoCode的DLL写unpacker可能是比较通吃也比较简便的办法


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

收藏
免费 7
支持
分享
最新回复 (4)
雪    币: 7309
活跃值: (3788)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
2
有脱壳机的趋势
2006-10-29 01:41
0
雪    币: 5275
活跃值: (456)
能力值: (RANK:1170 )
在线值:
发帖
回帖
粉丝
3
呵呵,rick和我们几个都讨论过这种方法了,如果现在的方法被封杀了,我们会考虑使用hook壳本身的dll进行unpack的。

(Isaiah,我怎么联系不上你呢?把你的QQ号发到DotNetReverse[.at.]126[.dot.]com中)
2006-10-29 13:46
0
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
4
我倒,我收到了邮件。我QQ是55320031
+了你没反映
2006-10-29 14:23
0
雪    币: 288
活跃值: (112)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
5
hook max的dll比较累,那样得针对每个版本都要研究一次。

要hook也最好是hook系统的dll。更新不会那么快。
2006-10-29 14:41
0
游客
登录 | 注册 方可回帖
返回
//