小生我怕怕 发表于 2008-10-4 00:27

吾爱破解脱壳练习七------ORiEN

一转眼我们的脱壳练习已经第6期啦,在这其中我相信许多的朋友也学习到了东西
必能脱掉此壳
本期考核主题为:ORiEN v2.11 - 2.12
1.脱壳后的文件大家以千脑形式上传,目的是为了便于隐藏文件和节约论坛空间
2.脱壳后的文件,请大家以脱文附带脱壳后程序打包压缩传于千脑网盘
3.对于回帖过程中千万不要出现灌水,否则BAN了ID
4.对于有优秀脱文或优秀脱壳方法的朋友,给于适当威望奖励
5.鉴于此练习是针对论坛的所有人,请大家踊跃参加,如果不是脱了壳教作业的,请不要顶帖子,方便管理查阅,及时给出评分
6.以下为需要设置威望的格式
7.脱壳一以周期计算,(周期=等于二天)
8.脱壳周期一结束,就开始公布答案让大家能有更充分的学习环境,让不懂脱的朋友去寻找你失误的地方争取早日赶上论坛的积极份子
9.我们要的是脱文,并不是脱壳机去脱的,如果用脱机脱了别拿来,请一定附带上脱文
10.对本次参加加密壳脱壳练习的,给出脱文全部给予5CB奖励,能分析出IAT加密所在,不使用importRCE等修复工具的给10CB

鉴于脱壳练习发展的趋势良好,观察了下载量,的确有明显的增长,证明很多的坛友
是怀着对脱壳破解的热爱的,所以经过管理组商议,由3天进行一次的脱壳练习,改成每两天一次的脱壳练习,有助于大家对
技巧的熟练,脱壳练习是经过了我们多翻难度测试,才发布出来,所以希望大家好好珍惜如此好好时机学习,不怕你不懂,就怕你不学

在一次申明:对于不是交作业顶帖的人,一律扣处10CB,严重的扣处威望处理,请大家自觉,保持良好的学习环境

由于本次脱壳练习,我们测试失败的原因,特决定此次脱壳练习,由明天晚上12点结束,开展下一期脱壳练习!


练习一:(结果已经公布)
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


小生我怕怕 发表于 2008-10-4 01:16

**** Hidden Message *****

zapline 发表于 2008-10-4 00:30

沙发
···········
技术还不行,无法解决
写下找到OEP的方法,修复的方法不知道
学习ing·····

var addr
sto
sto ;单步两次

mov addr,esp ;ESP定律
bphws addr,"r"
run ;跑
BPHWC addr

sto
sto
sto
sto
sto
sto
sto;单步七次

cmt eip,"OEP!"

ret

小生我怕怕 发表于 2008-10-4 00:35

**** Hidden Message *****

小生我怕怕 发表于 2008-10-4 00:40

**** Hidden Message *****

lqiulu 发表于 2008-10-4 01:07

004A0000 > /E9 5D010000 jmp UnPackMe.004A0162//OD载入停在这里,F8单步,跳到下面。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
004A016260pushad//跳到这里,单步
004A0163E8 783B0000 call UnPackMe.004A3CE0 //这里ESP定律。hr esp shift+f9运行。
004A01682Fdas
004A0169FCcld
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
004A1ADBB8 9C150500 MOV,5159C//程序停在这里,下面一直F8.
004A1AE083F8 00 CMP EAX, 0
004A1AE374 13 JESHORT 004A1AF8
004A1AE505 00004000 ADD EAX, 00400000; ASCII "MZP"
004A1AEAEB 08 JMP SHORT 004A1AF4
004A1AEC49DEC ECX
004A1AEDE5 24 INEAX, 24
004A1AEF15 20FFE0CD ADC EAX, CDE0FF20
004A1AF4^ EB FB JMP SHORT 004A1AF1 //这里F7进入。到达oep。
===========================================================================
0045159C55PUSHEBP
0045159D8BECMOV EBP, ESP
0045159F83C4 F0 ADD ESP, -10
004515A2B8 BC134500 MOV EAX, 004513BC
004515A7E8 8846FBFF CALL00405C34
004515ACA1 E02F4500 MOV EAX, DWORD PTR
004515B18B00MOV EAX, DWORD PTR
004515B3E8 F8E5FFFF CALL0044FBB0
004515B8A1 E02F4500 MOV EAX, DWORD PTR
004515BD8B00MOV EAX, DWORD PTR
004515BFBA FC154500 MOV EDX, 004515FC; ASCII "www.52pojie.cn"
004515C4E8 F7E1FFFF CALL0044F7C0

dump后修复。两个无效指针,经多次试验,cut修复不能正常运行,delete后可正常。不知咋回事。

下雪天 发表于 2008-10-4 01:37

【文章标题】: 52破解练习7--急速脱壳
【文章作者】: 小小菜鸟
【软件名称】: 52破解练习7
【下载地址】: 自己搜索下载
【使用工具】: ORiEN V1.X-V2.X -> Fisun A.V. *
【软件介绍】: ODPEID lordpeImpREC FINAL 1.7汉化版
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
这个壳有个技巧呵呵
其实也是本壳的关键
当OD载入以后 出现了问题
错误的或者未知的32位可执行文件
一看就是在PE这里动了手脚
点了确定
就到了
7C921231C3 retn
7C9212328BFF mov edi,edi
7C92123490 nop
7C92123590 nop

系统断点-----------这个壳的弱点也在于此

到底是怎么回事呢?
呵呵 原来壳在文件的
RVA上做了手脚

好了
开工
打开
LordPE_hh.EXE
点击PE编辑器
看看PE头的基本信息
在最最后面有一个栏目
就是本次男主角
看到大小 为
0000000A
但是对照一般的文件
这个大小一般都是
00000010
所以
一个 巧妙的办法诞生了
修改它
改为
00000010
点击保存 确定

再重建PE
文件 最小化到99%
OK 载入
OD了
入口处
004A0000 > /E9 5D010000jmp UnPackMe.004A0162
004A0005 |CE into
004A0006 |D1CE ror esi,1
004A0008 |CD 0Dint 0D
004A000A |0A2D 2D2D2D2Dor ch,byte ptr ds:
单步
004A016260 pushad--------------ESP招牌动作入栈操作
004A0163E8 783B0000call UnPackMe.004A3CE0------寄存器的ESP--------数据窗口跟随


数据窗口 下断点-------硬件访问---DW

004A1ADBB8 9C150500mov eax,5159C----到这里删除硬件断点
004A1AE083F8 00cmp eax,0
004A1AE374 13je short UnPackMe.004A1AF8
004A1AE505 00004000add eax,UnPackMe.00400000; ASCII "MZP"
004A1AEAEB 08jmp short UnPackMe.004A1AF4
单步
004A1AEF15 20FFE0CDadc eax,CDE0FF20
004A1AF4^ EB FBjmp short UnPackMe.004A1AF1-------跳

到这里
004A1AF1- FFE0 jmp eax----看EAX大跳转啊呵呵; UnPackMe.0045159C
004A1AF3CD EBint 0EB
004A1AF5FB sti
直接到OEP
0045159C55 push ebp-----------------oep============DELPHI
0045159D8BEC mov ebp,esp
0045159F83C4 F0add esp,-10
004515A2B8 BC134500mov eax,UnPackMe.004513BC
004515A7E8 8846FBFFcall UnPackMe.00405C34
接下来LORDPE
IAT的时候有两个指针无法修复
直接剪切转存这样就正常了 运行了














--------------------------------------------------------------------------------
【经验总结】
这个是脱壳巧法,建立在对PE的了解的基础上
希望大家对这类壳多吸取经验教训
对PE的了解有助脱壳

--------------------------------------------------------------------------------
【版权声明】: 本文原创于小小菜鸟.小生我怕怕友情支持, 转载请注明作者并保持文章的完整, 谢谢!

2008年10月04日 1:23:29
















http://www.禁止使用网挣网盘/space/show/apple731/52%C6%C6%BD%E2%C1%B7%CF%B07DUMP.rar/.page
http://www.禁止使用网挣网盘/space/show/apple731/52%C6%C6%BD%E2%C1%B7%CF%B07--%BC%B1%CB%D9%CD%D1%BF%C7.rar/.page

诶累死了
我发个视频你看下吧
http://www.禁止使用网挣网盘/space/show/apple731/52%C6%C6%BD%E27dump%B5%C4%CA%D3%C6%B5.rar/.page
呵呵 我不知道自己电脑人品这么好

分数好少啊 这么巧妙的办法 分数这么少.....
感觉不是味道啊...........老大 我也奇怪为什么这样 可以
不过以后是大伙 研究的素材啊.............怎么说 我也发现了 一个特别的办法嘛

谢谢老大以后加油努力了

fox2006 发表于 2008-10-4 02:04

吾爱专题脱壳练习7
--------------------------------------------------------------------------------
【编写程序】:Borland Delphi 6.0 - 7.0
【调试环境】:WinXP、OllyDbg、PEiD、LordPE、ImportREC
【程序查壳】:ORiEN v2.11 - 2.12 -> Fisun Alexander *
【脱壳方法】:ESP定律+内存镜像法

————————————————————————————————————————————————

004A0000 > /E9 5D010000 jmp UnPackMe.004A0162 ; OD载入在此,F8步进
004A0005 |CEinto
004A0006 |D1CEror esi,1
004A0008 |CD 0D int 0D
-------------------------------------------------------------------------------------------
004A016260pushad
004A0163E8 783B0000 call UnPackMe.004A3CE0; F8到此,然后ESP定律
004A01682Fdas
004A0169FCcld
004A016A3BAC95 AA3AFCC4 cmp ebp,dword ptr ss:[ebp+edx*4+C4FC3AAA>
-------------------------------------------------------------------------------------------

004A1ADBB8 9C150500 mov eax,5159C ; 执行ESP定律运行到此,去断点,ALT+M,在00401000下内存断点,Shift+f9
004A1AE083F8 00 cmp eax,0
004A1AE374 13 je short UnPackMe.004A1AF8
004A1AE505 00004000 add eax,UnPackMe.00400000; ASCII "MZP"
004A1AEAEB 08 jmp short UnPackMe.004A1AF4

-----------------------------------------------------------------------------------

0045159C55push ebp ; 到达OEP,dump+修复
0045159D8BECmov ebp,esp
0045159F83C4 F0 add esp,-10
004515A2B8 BC134500 mov eax,UnPackMe.004513BC
004515A7E8 8846FBFF call UnPackMe.00405C34
004515ACA1 E02F4500 mov eax,dword ptr ds:
----------------------------------------------------------------------------------------

dump+修复步骤:在OEP处右键,用OLLYDUMP脱壳调试进程,在里面重建输入表选择方式2进行脱壳,然后用Import rec修复,会有两个错误,剪切掉,修复就OK了




吾爱专题脱壳练习7

zzage 发表于 2008-10-4 02:41

**** Hidden Message *****

wgz001 发表于 2008-10-4 09:12

OD載入單步到此处
004A016260PUSHAD
也就是ESP F9运行 到此处

004A01004A20B5 /EB 04 JMP SHORT UnPackMe.004A20BB
004A20B7 |0BEBOR EBP,EBX
004A20B9 |F9STC
004A20BA |1FPOP DS ; 段位寄存器修饰
004A20BB \EB 06 JMP SHORT UnPackMe.004A20C3
经过几次ESP后到此处
004A1ADBB8 9C150500 MOV EAX,5159C
004A1AE083F8 00 CMP EAX,0
004A1AE374 13 JE SHORT UnPackMe.004A1AF8
004A1AE505 00004000 ADD EAX,UnPackMe.00400000; ASCII "MZP"
004A1AEAEB 08 JMP SHORT UnPackMe.004A1AF4
004A1AEC49DEC ECX
004A1AEDE5 24 IN EAX,24; I/O 命令
004A1AEF15 20FFE0CD ADC EAX,CDE0FF20

接下来单步F8 到这里
004A1AF1- FFE0JMP EAX; UnPackMe.0045159C
去了OEP了呵呵 开心!!!
0045159C55PUSH EBP
0045159D8BECMOV EBP,ESP
0045159F83C4 F0 ADD ESP,-10
004515A2B8 BC134500 MOV EAX,UnPackMe.004513BC
004515A7E8 8846FBFF CALL UnPackMe.00405C34
004515ACA1 E02F4500 MOV EAX,DWORD PTR DS:

接下来DUMP 了 修复 自动修复 两个无效指针要手动
分别在0045518C和0045519C 两个无效指针处下硬件访问断点 重新OD载入程序可以找到两个指针
手动修复即可以
下面是指针

0045518C7C812F1Dkernel32.GetCommandLineA
004551907C80ABDEkernel32.FreeLibrary
004551947C8137D9kernel32.FindFirstFileA

004551987C80EDD7kernel32.FindClose
0045519C7C81CDDAkernel32.ExitProcess

个人思路不正确的地方还请多多指教!!!
dumped_.rar
页: [1] 2
查看完整版本: 吾爱破解脱壳练习七------ORiEN