在论坛看了几篇脱TMD的教程,自己也琢磨了下,教程是看懂了,也跟着步骤做了,为什么我脱出来的就不能运行。还望大侠们指点一二。
一、运行脚本,到了下面
004C7A1D 6A 02 push 2
004C7A1F FF15 90505500 call dword ptr ds:[555090] ; msvcrt.__set_app_type
004C7A25 59 pop ecx
004C7A26 830D 2C415D00 FF or dword ptr ds:[5D412C],FFFFFFFF
004C7A2D 830D 30415D00 FF or dword ptr ds:[5D4130],FFFFFFFF
004C7A34 FF15 8C505500 call dword ptr ds:[55508C] ; msvcrt.__p__fmode
004C7A3A 8B0D 94395D00 mov ecx,dword ptr ds:[5D3994]
004C7A40 8908 mov dword ptr ds:[eax],ecx
004C7A42 FF15 88505500 call dword ptr ds:[555088] ; msvcrt.__p__commode
004C7A48 8B0D 90395D00 mov ecx,dword ptr ds:[5D3990]
二、脱出来后,用ImportREC修复
三、找个VC6。0的程序对比,补全被偷代码,被偷代码代码如下:
004C79F2 >/$ 55 push ebp
004C79F3 |. 8BEC mov ebp,esp
004C79F5 |. 6A FF push -1
004C79F7 |. 68 A00F5600 push eastfax?00560FA0
004C79FC |. 68 5C7B4C00 push <jmp.&msvcrt._except_handler>; SE 句柄安装
004C7A01 |. 64:A1 00000000 mov eax,dword ptr fs:[0]
004C7A07 |. 50 push eax
004C7A08 |. 64:8925 00000000 mov dword ptr fs:[0],esp
004C7A0F |. 83EC 68 sub esp,68
004C7A12 |. 53 push ebx
004C7A13 |. 56 push esi
004C7A14 |. 57 push edi
004C7A15 |. 8965 E8 mov [local.6],esp
004C7A18 |. 33DB xor ebx,ebx
004C7A1A |. 895D FC mov [local.1],ebx
四、在4C79F2代码段新建EIP,然后再脱出来。或者用LORDPE重建OEP,两种方法都试了,按教程到了这一步应该就可以运行了,可我的却运行不了,就更谈不上优化减肥了。
苦恼了几天,百思不得其解,还请各位指教下看是哪个步骤出了错,还是差了哪一步,不甚感激。
程序在
http://www.ken13.ys168.com/ 下的themida壳下面。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!