首页
社区
课程
招聘
[分享]exe函数辅助修复DLL工具
发表于: 2010-3-19 15:28 4014

[分享]exe函数辅助修复DLL工具

2010-3-19 15:28
4014
主要针对,脱壳后,不可以跨平台运行的修复,以达到自动化的目的,节省人力。
**********************
00E20000   CALL 00E20005
00E20005   POP EDI
00E20006   ADD EDI,6
00E20009   JMP SHORT 00E20024
00E2000B   INC ECX
00E2000C   JNZ SHORT 00E20082
00E2000E   OUTS DX,DWORD PTR ES:[EDI]
00E2000F   INC ECX
00E20010   JO SHORT 00E2007B
00E20012   PREFIX CS:
00E20013   INS BYTE PTR ES:[EDI],DX
00E20015   INS BYTE PTR ES:[EDI],DX
00E20016   ADD BYTE PTR DS:[EAX],AL
00E20018   ADD BYTE PTR DS:[EAX],AL
00E2001A   ADD BYTE PTR DS:[ECX+75],AL
00E2001D   JE SHORT 00E2008E
00E2001F   INC ECX
00E20020   JO SHORT 00E2008B
00E20022   ADD BYTE PTR DS:[EAX],AL
00E20024   PUSH EDI
00E20025   CALL kernel32.LoadLibraryA                \\双击此行,改为“call LoadLibraryA”后确认
00E2002A   ADD EDI,10
00E2002D   PUSH EDI
00E2002E   PUSH EAX
00E2002F   CALL kernel32.GetProcAddress                \\双击此行,改为“call GetProcAddress”后确认
00E20034   PUSH 442000                                \\双击此行,改为指向正确函数开始位置,如“push 442000”
00E20039   PUSH 460000                                \\双击此行,改为代码段的长度,避免死循环
00E2003E   CALL EAX
00E20040   NOP
00E20041   NOP
\\\\\\\\\\\用OD插件分配临时内存,复制下面的机器码到临时内存。在首行点右键选“建立新EIP”
E8 00 00 00 00 5F 83 C7 06 EB 19 41 75 74 6F 41 70 69 2E 64 6C 6C 00 00 00 00 00 41 75 74 6F 41
70 69 00 00 57 E8 51 1D 9E 7B 83 C7 10 57 50 E8 0C AE 9E 7B 68 00 20 44 00 68 00 00 46 00 FF D0
90 90
\\\\\\\\\\\\\\\\\当从call eax 里返回的时候,整个程序的修补就完成了。

注意:把AutoApi.dll与要修补的exe程序放到相同目录下。

****************

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 156
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
目前只针对call 类的修复。
jmp的修复,要等整理好后再行发布。
2010-3-19 15:30
0
游客
登录 | 注册 方可回帖
返回
//