吾爱破解脱壳练习-----PESpin 1.32
一转眼我们的脱壳练习已经第10期啦,在这其中我相信许多的朋友也学习到了东西必能脱掉此壳
本期考核主题为:PESpin 1.32
1.脱壳后的文件大家以千脑形式上传,目的是为了便于隐藏文件和节约论坛空间
2.脱壳后的文件,请大家以脱文附带脱壳后程序打包压缩传于千脑网盘
3.对于回帖过程中千万不要出现灌水,否则BAN了ID
4.对于有优秀脱文或优秀脱壳方法的朋友,给于适当威望奖励
5.鉴于此练习是针对论坛的所有人,请大家踊跃参加,如果不是脱了壳教作业的,请不要顶帖子,方便管理查阅,及时给出评分
6.以下为需要设置威望的格式
7.脱壳一以周期计算,(周期=等于二天)
8.脱壳周期一结束,就开始公布答案让大家能有更充分的学习环境,让不懂脱的朋友去寻找你失误的地方争取早日赶上论坛的积极份子
9.我们要的是脱文,并不是脱壳机去脱的,如果用脱机脱了别拿来,请一定附带上脱文
10.我们讲对每次脱壳练习选择一个最好的脱壳分析过程,方便大家学习,每次脱壳练习结束后会说出楼数,对于被选种的朋友,我们会酌情给予CB或者威望进行奖励
11.本期看点:让大家多多了解OEP的入口特征,补回被Stolen Code的OEP代码,我们要看的是补代码的关键,请大家尽量以详细脱文送上,详细者加分加威望
练习一:(结果已经公布)
http://www.52pojie.cn/thread-10496-1-1.html
最佳分析:第10楼unpack
练习二:(结果已经公布)
http://www.52pojie.cn/thread-10607-1-1.html
最佳分析:第9楼lqiulu
练习三:(结果已经公布)
http://www.52pojie.cn/thread-10688-1-1.html
最佳分析:第11楼傻人有傻福
练习四:(结果已经公布)
http://www.52pojie.cn/thread-10850-1-1.html
最佳分析:第11楼维护世界和平
练习五:(结果已经公布)
http://www.52pojie.cn/thread-10990-1-1.html
最佳分析:第3楼维护世界和平
练习六:(结果已经公布)
http://www.52pojie.cn/thread-11112-1-1.html
最佳分析:第12楼ximo
练习七:(结果已经公布)
http://www.52pojie.cn/thread-11244-1-1.html
最佳分析:第14楼傻人有傻福
练习八:(结果已经公布)
http://www.52pojie.cn/thread-11306-1-1.html
最佳分析: 第15楼unpack
练习九:(结果已经公布)
http://www.52pojie.cn/thread-11446-1-1.html
最佳分析: 第1楼小生我怕怕 由于本人电脑的问题 不能在OD中复制和查找.所以一直写不了脱文...
换了好多的OD都不行..这个脱文跑到别人家里写的T-T(我好可怜...555)
所以呢..这个是我的第1篇脱文..写的不杂滴.大牛们别笑我- -
明天我就去换个系统!!!!!
(大家多加加脱壳群.可以学到很多的东西哦..)
OD载入。停在这里!
004070D4 > /EB 01 jmp short UnPackMe.004070D7
004070D6 |68 60E80000 push 0E860
004070DB0000add byte ptr ds:,al
004070DD8B1C24mov ebx,dword ptr ss:
004070E083C3 12 add ebx,12
004070E3812B E8B10600 sub dword ptr ds:,6B1E8
004070E9FE4B FD dec byte ptr ds:
004070EC822C24 17 sub byte ptr ss:,17
--------------------------------------------------------
单步2次.使用ESP定律法后停在这(记住删除断点)
00408CB5F7D2not edx; ntdll.KiFastSystemCallRet
00408CB739C2cmp edx,eax
00408CB9F7C0 74E7F921 test eax,21F9E774
00408CBF0FACC2 48 shrd edx,eax,48
00408CC30FBDC8bsr ecx,eax
00408CC6C7C2 2431C7CD mov edx,CDC73124
00408CCC85C0test eax,eax
00408CCE0FBAEA 31 bts edx,31
00408CD2F7D2not edx
00408CD4F7C1 25C4A65C test ecx,5CA6C425
--------------------------------------------------------
经过漫长的单步后来到
00408D6F15 90214000 adc eax,UnPackMe.00402190
00408D74EB 01 jmp short UnPackMe.00408D77
00408D76B2 59 mov dl,59
00408D78EB 01 jmp short UnPackMe.00408D7B
00408D7AC8 830D2C enter 0D83,2C
00408D7E3140 00 xor dword ptr ds:,eax
00408D81FFEBjmp far ebx; 非法使用寄存器
00408D83013C83add dword ptr ds:,edi
00408D860D 30314000 or eax,403130
00408D8BFFEBjmp far ebx; 非法使用寄存器
00408D8D0151 FF add dword ptr ds:,edx
00408D9015 8C214000 adc eax,UnPackMe.0040218C
00408D95EB 01 jmp short UnPackMe.00408D98
00408D97A5movs dword ptr es:,dword ptr ds:[es>
00408D98- E9 AB89FFFF jmp UnPackMe.00401748; 跳到OEP
00408D9D0F2B???; 未知命令
--------------------------------------------------------
到这后往上拉会发现程序被偷了好多的代码(右键→分析→从模块中删除分析)
004017300000add byte ptr ds:,al
004017320000add byte ptr ds:,al
004017340000add byte ptr ds:,al
004017360000add byte ptr ds:,al
004017380000add byte ptr ds:,al
0040173A0000add byte ptr ds:,al
0040173C0000add byte ptr ds:,al
0040173E0000add byte ptr ds:,al
004017400000add byte ptr ds:,al
004017420000add byte ptr ds:,al
004017440000add byte ptr ds:,al
004017460000add byte ptr ds:,al
004017488B0D 20314000 mov ecx,dword ptr ds:;
---------------------------------------------------------
重新载入程序.然后和上面一样单步到这来
00408D0955push ebp
00408D0AEB 01 jmp short UnPackMe.00408D0D
00408D0C3D 8BECEB01 cmp eax,1EBEC8B
00408D112Fdas
00408D126A FF push -1
00408D14EB 01 jmp short UnPackMe.00408D17
00408D160C 68 or al,68
开始收集STOLEN CODE
然后
00408D1768 8890BF01 push 1BF9088
00408D1C812C24 886B7F01 sub dword ptr ss:,17F6B88
00408D2368 ED8824EE push EE2488ED
00408D28810424 998F1B12 add dword ptr ss:,121B8F99
00408D2F64:A1 00000000mov eax,dword ptr fs:
单步到00408D23 同时观察堆栈窗口
0012FFB800402500UnPackMe.00402500 注意这里
0012FFBCFFFFFFFF
0012FFC00012FFF0
00408D17这处被偷的代码应为push 00402500
00408D23这处的实际代码为push00401886
继续找被偷代码
00408D3850push eax
00408D3C64:8925 00000000mov dword ptr fs:,esp
00408D4683EC 68 sub esp,68
00408D4C53push ebx
00408D5056push esi ; kernel32.7C809AC6
00408D5457push edi ; kernel32.7C800065
00408D588965 E8 mov dword ptr ss:,esp
00408D5E33DBxor ebx,ebx
00408D63895D FC mov dword ptr ss:,ebx
00408D696A 02 push 2
00408D6EFF15 90214000 call dword ptr ds: ; msvcrt.__set_app_type
00408D7759pop ecx
00408D7B830D 2C314000 FFor dword ptr ds:,FFFFFFFF
00408D85830D 30314000 FFor dword ptr ds:,FFFFFFFF
00408D8FFF15 8C214000 call dword ptr ds: ; msvcrt.__p__fmode
好了,到这代码就全找到了.^-^
push ebp
mov ebp,esp
push -1
push 402500
push 401886
mov eax,dword ptr fs:
push eax
mov dword ptr fs:,esp
sub esp,68
push ebx
push esi
push edi
mov dword ptr ss:,esp
xor ebx,ebx
mov dword ptr ss:,ebx
push 2
call dword ptr ds:
pop ecx
or dword ptr ds:,FFFFFFFF
or dword ptr ds:,FFFFFFFF
call dword ptr ds:
--------------------------------------------------------
来到我们的伪OEP.往上拉.将代码复制进去.并重建PE.LORDPE脱壳.IR修复.就OK了 **** Hidden Message ***** **** Hidden Message ***** **** Hidden Message ***** **** Hidden Message ***** **** Hidden Message ***** **** Hidden Message ***** **** Hidden Message ***** **** Hidden Message ***** **** Hidden Message ***** **** Hidden Message ***** **** Hidden Message ***** **** Hidden Message ***** **** Hidden Message *****
页:
[1]
2