|
[原创]脱掉Aspr 2.1X SKE壳(exe&dll) Plus stolen code 修复
我比较愚钝,跟这个东西可能花了半个月,前面还有半个月学习一些基础知识(如看十八篇+13篇经典脱壳动画、置顶的脱壳知识入门等),也可能在跟的过程中发现不明白的地方再去看基础。合起来就是我注册开始的时间到现在吧 |
|
[原创]脱掉Aspr 2.1X SKE壳(exe&dll) Plus stolen code 修复
脱掉这壳,我个人已经脱掉一层皮了。。。 |
|
[原创]脱掉Aspr 2.1X SKE壳(exe&dll) Plus stolen code 修复
多谢林海兄指导,才能脱下这个壳。 这是我第一次玩脱壳,甚至可以说第一次玩逆向。。。 总之多谢看雪论坛各位朋友的直接的或是间接的帮助。。。 |
|
[原创]ASProtect.SKE.2.11.Build.03.13-RES-crk对部分系统函数的处理(二)
严重学习。原来就一直不明白那些call 00FD0000, call 00FD0004之类的咋来的,现在明白多了。 |
|
[原创]ASProtect.SKE.2.11.Build.03.13-RES-crk对部分系统函数的处理
学习原理,才能熟练应用。好文 |
|
[求助]问一个弱问题,关于OEP stolen的
多谢老大回复。 |
|
[原创]aspr2.2 SKE 外壳简单分析
多谢林海兄台。我找了个VC5的程序比较了一下,看起来的确象是VC5的入口。我再仔细消化一下。 |
|
[原创]aspr2.2 SKE 外壳简单分析
感谢林海雪原的耐心回复,昨天跟的结果就是两个pushfd和popfd之间结束后,堆栈里面实际上只是多了两个值,这两个值就是你说的XXXXXXX吧。 另外,在这段代码中还有: 0118046B FF15 D0314D00 call dword ptr ds:[4D31D0] ; kernel32.GetModuleHandleA 01180471 50 push eax 01180472 68 49071801 push 1180749 01180477 E8 84FB0500 call 011E0000 0118047C C2 1000 retn 10 0118047F 46 inc esi 01180480 E9 08000000 jmp 0118048D 01180485 83C4 24 add esp,24 01180488 E9 24010000 jmp 011805B1 0118048D 8975 8C mov dword ptr ss:[ebp-74],esi 01180490 8A06 mov al,byte ptr ds:[esi] 01180492 3AC3 cmp al,bl 01180494 0F84 4D010000 je 011805E7 0118049A 3C 20 cmp al,20 0118049C E8 5FFB0500 call 011E0000 011804A1 68 AC2C88C8 push C8882CAC 011804A6 66:9C pushfw 011804A8 57 push edi 011804A9 81CF 8462CE66 or edi,66CE6284 011804AF 8DBC0B 0E2D4000 lea edi,dword ptr ds:[ebx+ecx+402D0E] 011804B6 2E:EB 01 jmp short 011804BA 里面的call 011E0000就是你在上一篇文章中所说的对原程序的call或jmp的处理,right?code段里面call到壳里的call或jmp我已经修正好了,我只需要跟进这些call 011E0000找到跳转到code段的原call或jmp即可,是吗? 另外,如果把壳里的有用代码全部找回来,如果要完成完全修复的话,是否需要把这些代码全部填充到code段里面去? 由于是初学,可能有些问题问得比较幼稚,请不吝赐教。谢谢。 |
|
[原创]aspr2.2 SKE 外壳简单分析
林兄,多谢回复。但根据老大们说的几种标准入口代码,VC6的是这样的: 004010CC > 55 push ebp 004010CD 8BEC mov ebp,esp 004010CF 83EC 44 sub esp,44 004010D2 56 push esi 但这个push -1怎么能够还原到sub esp, 44呢,一直没想通。 应该是VC写的,因为该软件一共有三个文件都用aspr加的壳,dll文件我已经脱下了,是VC的,但另外两个exe文件都走到这儿,没弄明白入口点的stolen code。我自己加的notepad很快就找回了stolen code,但这个程序我一直没弄清楚。 |
|
[原创]aspr2.2 SKE 外壳简单分析
请大侠帮忙看看下面OEP的stolen code,谢谢!第三句我不知道是什么,猜是sub esp, 44,但总没在代码里面看出来。由于原来汇编语言没学好,唉。。。其它部分都差不多了,就差这几步了,老大们都说这个是个体力活,没想到体力活也不好干哪。。。 00C2025F 55 push ebp 00C20260 EB 02 jmp short 00C20264 00C20264 81DD 9786647A sbb ebp,7A648697//N 00C2026A 83ED 0F sub ebp,0F//N 00C2026D 036C24 18 add ebp,dword ptr ss:[esp+18]//N 00C20271 8D6C24 29 lea ebp,dword ptr ss:[esp+29]// 00C20275 8D6C25 D7 lea ebp,dword ptr ss:[ebp-29]//===mov ebp, esp 00C20279 6A FF push -1 00C2027B 50 push eax 00C2027C 66:9C pushfw 00C2027E 53 push ebx 00C2027F 8D5F BD lea ebx,dword ptr ds:[edi-43]//N 00C20282 8D5C11 67 lea ebx,dword ptr ds:[ecx+edx+67]//N 00C20286 2BDA sub ebx,edx//N 00C20288 EB 02 jmp short 00C2028C 00C2028C 8D5C24 50 lea ebx,dword ptr ss:[esp+50]// 00C20290 8D5C2B B0 lea ebx,dword ptr ds:[ebx+ebp-50]// 00C20294 2BDD sub ebx,ebp//ebx = esp 00C20296 8D5C03 06 lea ebx,dword ptr ds:[ebx+eax+6]//ebx = esp + eax +6 00C2029A 2BD8 sub ebx,eax//ebx = esp + 6 00C2029C 50 push eax 00C2029D 81E8 F2A0C984 sub eax,84C9A0F2//N 00C202A3 EB 01 jmp short 00C202A6 00C202A6 B8 FA4E4900 mov eax,494EFA//N 00C202AB C1C0 39 rol eax,39//N 00C202AE 8D8435 90594000 lea eax,dword ptr ss:[ebp+esi+405990]// 00C202B5 2BC6 sub eax,esi// 00C202B7 2BC5 sub eax,ebp//eax = 00405990 00C202B9 F3: prefix rep: 00C202BA EB 02 jmp short 00C202BE 00C202BE 50 push eax ; XXXXXX.00405990 00C202BF 8F03 pop dword ptr ds:[ebx] 00C202C1 58 pop eax 00C202C2 5B pop ebx 00C202C3 66:9D popfw 00C202C5 E9 AE040000 jmp 00C20778 00C20778 F3: prefix rep: 00C20779 EB 02 jmp short 00C2077D 00C20781 FF7424 1C push dword ptr ss:[esp+1C] 00C20785 66:9C pushfw 00C20787 57 push edi 00C20788 13FB adc edi,ebx 00C2078A F2: prefix repne: 00C2078B EB 01 jmp short 00C2078E 00C2078E 8D7C51 07 lea edi,dword ptr ds:[ecx+edx*2+7]//N 00C20792 8D7C24 12 lea edi,dword ptr ss:[esp+12]// 00C20796 8D7F EE lea edi,dword ptr ds:[edi-12]// 00C20799 8D7F 06 lea edi,dword ptr ds:[edi+6]//edi = esp + 6 00C2079C 56 push esi 00C2079D 64:EB 02 jmp short 00C207A2 00C207A2 81CE CEE6ACC5 or esi,C5ACE6CE//N 00C207A8 1BF5 sbb esi,ebp//N 00C207AA 8DB40B 34414000 lea esi,dword ptr ds:[ebx+ecx+404134]// 00C207B1 2BF1 sub esi,ecx// 00C207B3 2BF3 sub esi,ebx//esi = 00404134 00C207B5 56 push esi 00C207B6 F2: prefix repne: 00C207B7 EB 01 jmp short 00C207BA 00C207BA 8F07 pop dword ptr ds:[edi] ; XXXXXX.00404134 00C207BC 5E pop esi 00C207BD 5F pop edi 00C207BE 66:9D popfw 00C207C0 64:A1 00000000 mov eax,dword ptr fs:[0] 00C207C6 50 push eax 00C207C7 64:8925 0000000>mov dword ptr fs:[0],esp 00C207CE 83EC 68 sub esp,68 00C207D1 53 push ebx 00C207D2 56 push esi 00C207D3 57 push edi 00C207D4 8965 E8 mov dword ptr ss:[ebp-18],esp 00C207D7 33DB xor ebx,ebx 00C207D9 895D FC mov dword ptr ss:[ebp-4],ebx 00C207DC 6A 02 push 2 00C207DE FF15 28524000 call dword ptr ds:[405228] ; msvcrt.__set_app_type 00C207E4 59 pop ecx 00C207E5 830D 2C7E4000 F>or dword ptr ds:[407E2C],FFFFFFFF 00C207EC 830D 307E4000 F>or dword ptr ds:[407E30],FFFFFFFF 00C207F3 FF15 24524000 call dword ptr ds:[405224] ; msvcrt.__p__fmode 00C207F9 81E1 404192A5 and ecx,A5924140 00C207FF F2: prefix repne: 00C20800 EB 01 jmp short 00C20803 |
|
[分享]Asprotect SKE 2.2 的Advanced Import protection保护技术
对00AA6D6D call edx 下硬件执行断点,重新用OD加载实例程序,由于己下硬件断点,因此这次直接断在这里: 另外一个程序,发现call edx这儿用he截不住,f2报保护错误,看来还得换位置 |
|
[分享]Asprotect SKE 2.2 的Advanced Import protection保护技术
还能说什么,只能说学习了。 |
|
nspack3.5主程序脱壳分析(Aspr SKE 2.X)
初学,研究。 在目前几篇aspr ske 2.*的文章中,最先还没注意到这篇文章,当到OEP开始修复IAT和00ea0000的时候,发现这篇文章居然是进阶必备。严重顶一个。 |
|
|
|
(高手就不要看了!)莱鸟脱Aspr2.11 SKE+修复stolen code---莱鸟脱文第二篇[原创]
011802F3 55 push ebp 011802F4 EB 02 jmp short 011802F8 011802F6 CD20 1BEA8BEC vxdjump EC8BEA1B 011802FC 6A FF push -1 011802FE 50 push eax 011802FF 66:9C pushfw 01180301 53 push ebx 01180302 81DB E8A90959 sbb ebx, 5909A9E8 01180308 81F3 4060C549 xor ebx, 49C56040 0118030E 8D5C24 1D lea ebx, [esp+1D] 01180312 EB 01 jmp short 01180315 01180314 E8 8D5C2BE3 call E4435FA6 01180319 EB 02 jmp short 0118031D 0118031B CD20 2BDD8D5B vxdjump 5B8DDD2B 01180321 06 push es 01180322 36:EB 01 jmp short 01180326 01180325 9A 68003A4E 008>call far 8F00:4E3A0068 0118032C 035B 66 add ebx, [ebx+66] 0118032F 9D popfd 01180330 E9 6C010000 jmp 011804A1 01180335 68 7C041801 push 118047C 0118033A E8 C1FC0500 call 011E0000 0118033F 56 push esi 01180340 66:9C pushfw 01180342 51 push ecx 01180343 33CD xor ecx, ebp 这个是OEP,也不知道找对了没有。 我用OD dump出来时,选择Rebuild import,选项1dump出来是程序错误,选项2/LoadPE完整转存/OD不选择Rebuild import dump出来都是C000005错误;后面三种用importRec修复后,和第一种报一样错误。 目前我还没有研究到VM代码那块,很是郁闷。 下面这个是记事本的OEP: 0100739D 6A 70 push 70 0100739F 68 98180001 push 01001898 010073A4 E8 BF010000 call 01007568 010073A9 33DB xor ebx, ebx 010073AB 53 push ebx 010073AC 8B3D CC100001 mov edi, [10010CC] ; kernel32.GetModuleHandleA 010073B2 FFD7 call edi 010073B4 66:8138 4D5A cmp word ptr [eax], 5A4D 010073B9 75 1F jnz short 010073DA 010073BB 8B48 3C mov ecx, [eax+3C] 010073BE 03C8 add ecx, eax 010073C0 8139 50450000 cmp dword ptr [ecx], 4550 010073C6 75 12 jnz short 010073DA 010073C8 0FB741 18 movzx eax, word ptr [ecx+18] 010073CC 3D 0B010000 cmp eax, 10B 010073D1 74 1F je short 010073F2 010073D3 3D 0B020000 cmp eax, 20B 010073D8 74 05 je short 010073DF 010073DA 895D E4 mov [ebp-1C], ebx 010073DD EB 27 jmp short 01007406 010073DF 83B9 84000000 0>cmp dword ptr [ecx+84], 0E 010073E6 ^ 76 F2 jbe short 010073DA 010073E8 33C0 xor eax, eax 010073EA 3999 F8000000 cmp [ecx+F8], ebx 010073F0 EB 0E jmp short 01007400 dump操作和上面的一样,直接dump出来执行是C0000005错误,修复后不能运行,双击后没反应,OD载入修复后的程序,跟了一会儿进一个函数,再F7,进到这儿了: 010070D4 8BFF mov edi, edi ; kernel32.GetModuleHandleA 010070D6 55 db 55 ; CHAR 'U' 010070D7 8B db 8B 010070D8 EC db EC 010070D9 83 db 83 010070DA EC db EC 010070DB 10 db 10 010070DC A1 db A1 010070DD 04960001 dd od_dump_.01009604 010070E1 85 db 85 010070E2 C0 db C0 010070E3 74 db 74 ; CHAR 't' 010070E4 07 db 07 010070E5 3D db 3D ; CHAR '=' 010070E6 40 db 40 ; CHAR '@' 010070E7 BB db BB 010070E8 00 db 00 010070E9 00 db 00 010070EA 75 db 75 ; CHAR 'u' 010070EB 4D db 4D ; CHAR 'M' 010070EC 56 db 56 ; CHAR 'V' 010070ED 8D db 8D 010070EE 45 db 45 ; CHAR 'E' 010070EF F8 db F8 010070F0 50 db 50 ; CHAR 'P' 后面再F8,就报错,代码区白板了。。。 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值