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

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

2006-10-29 00:28
10540
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可能是比较通吃也比较简便的办法

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

收藏
点赞7
打赏
分享
最新回复 (4)
雪    币: 7300
活跃值: (3758)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
海风月影 22 2006-10-29 01:41
2
0
有脱壳机的趋势
雪    币: 5276
活跃值: (406)
能力值: (RANK:1170 )
在线值:
发帖
回帖
粉丝
tankaiha 29 2006-10-29 13:46
3
0
呵呵,rick和我们几个都讨论过这种方法了,如果现在的方法被封杀了,我们会考虑使用hook壳本身的dll进行unpack的。

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

要hook也最好是hook系统的dll。更新不会那么快。
游客
登录 | 注册 方可回帖
返回