-
-
[旧帖] [原创]两次内存断点法、ESP定律手脱ASPack 2.12加壳[求邀请码][邀请码已发]] 0.00雪花
-
发表于: 2011-10-18 17:44 2278
-
【文章标题】:两次内存断点法、ESP定律手脱ASPack 2.12加壳
【目标名称】: UltraISO.exe(比较好用的一个光驱软件)
【文件下载】: http://www.onlinedown.net/soft/614.htm
【软件加密】: ASPack 2.12 -> Alexey Solodovnikov
【作者声明】: 只是兴趣使然,没有其他目的。失误之处敬请诸位大侠赐教!
【调试环境】: WinXP、Ollydbg、PEiD、LordPE、ImportREC
【菜鸟作者】: 万俟飘然
PEiD查壳
ASPack 2.12 -> Alexey Solodovnikov
Ollydbg载入:
00C04001 > 60 pushad
00C04002 E8 03000000 call UltraISO.00C0400A
00C04007 - E9 EB045D45 jmp 461D44F7
00C0400C 55 push ebp
00C0400D C3 retn
00C0400E E8 01000000 call UltraISO.00C04014
00C04013 EB 5D jmp short UltraISO.00C04072
00C04015 BB EDFFFFFF mov ebx,-13
00C0401A 03DD add ebx,ebp
00C0401C 81EB 00408000 sub ebx,UltraISO.00804000
00C04022 83BD 22040000 00 cmp dword ptr ss:[ebp+422],0
00C04029 899D 22040000 mov dword ptr ss:[ebp+422],ebx
00C0402F 0F85 65030000 jnz UltraISO.00C0439A
00C04035 8D85 2E040000 lea eax,dword ptr ss:[ebp+42E]
00C0403B 50 push eax
方法一:ESP定律法
1.开始就点F8,注意观察OD右上角的寄存器中ESP有没突现(变成红色)。
ESP 0012FFA4 //数据变红
2. 右键—>数据窗口跟随
0012FFA4 7C930208 ntdll.7C930208
3.选中上面的地址,断点--->硬件访--->WORD断点。
4.按一下F9运行程序,直接来到了跳转处,按下F8,到达程序OEP。
00C043B0 /75 08 jnz short UltraISO.00C043BA
00C043B2 |B8 01000000 mov eax,1
00C043B7 |C2 0C00 retn 0C
00C043BA \68 20164000 push UltraISO.00401620
00C043BF C3 retn //返回到OEP
到达OEP ,入口点特征判断是Borland C++写的程序
00401620 . /EB 10 jmp short UltraISO.00401632 //OEP(记下入口地址)
00401622 . |66:623A bound di,dword ptr ds:[edx]
00401625 . |43 inc ebx
00401626 . |2B2B sub ebp,dword ptr ds:[ebx]
00401628 . |48 dec eax
00401629 . |4F dec edi
0040162A . |4F dec edi
0040162B . |4B dec ebx
0040162C . |90 nop
0040162D .-|E9 98C06300 jmp UltraISO.00A3D6CA
00401632 > \A1 8BC06300 mov eax,dword ptr ds:[63C08B]
00401637 . C1E0 02 shl eax,2
0040163A . A3 8FC06300 mov dword ptr ds:[63C08F],eax
0040163F . 52 push edx
00401640 . 6A 00 push 0 ; /pModule = NULL
开始脱壳
LordPE加载本进程—> 纠正映像大小—>完全脱壳 —>保存为Unpack.exe
我们打开看看
出现错误
【修复下】
打开ImportREC找到我们的进程
OEP填00001620 [00401620-00400000(基址)] —>自动查找IAT
CF(207D)个无效函数,我们用修复等级一试试,全部失败
打开 发现没用处 全部剪切掉
修复转存文件,抓取我们刚脱壳的,修复完成
好了可以打开了,脱壳成功!
方法二:两次内存断点法
开始:
Ollydbg载入:
00C04001 > 60 pushad
00C04002 E8 03000000 call UltraISO.00C0400A
00C04007 - E9 EB045D45 jmp 461D44F7
00C0400C 55 push ebp
00C0400D C3 retn
00C0400E E8 01000000 call UltraISO.00C04014
00C04013 EB 5D jmp short UltraISO.00C04072
00C04015 BB EDFFFFFF mov ebx,-13
00C0401A 03DD add ebx,ebp
00C0401C 81EB 00408000 sub ebx,UltraISO.00804000
00C04022 83BD 22040000 00 cmp dword ptr ss:[ebp+422],0
00C04029 899D 22040000 mov dword ptr ss:[ebp+422],ebx
00C0402F 0F85 65030000 jnz UltraISO.00C0439A
00C04035 8D85 2E040000 lea eax,dword ptr ss:[ebp+42E]
00C0403B 50 push eax
Alt+M 打开内存镜像
在 .rsrc 处F2下断 Shift+F9运行
回到程序窗口
继续Alt+M 打开内存镜像
在 .text (00401000) 处F2下断 Shift+F9运行
直接到达我们的OEP处
LordPE脱壳、ImportREC修复和方法一相同。
方法总结:
方法一:ESP定律法
ESP定理脱壳(ESP在OD的寄存器中,我们只要在命令行下ESP的硬件访问断点,就会一下来到程序的OEP了!)
1.开始就点F8,注意观察OD右上角的寄存器中ESP有没突现(变成红色)。(这只是一般情况下,更确切的说我们选择的ESP值是关键句之后的第一个ESP值)
2.在命令行下:dd XXXXXXXX(指在当前代码中的ESP地址,或者是hr XXXXXXXX),按回车!(或者数据窗口跟随,下硬件访问断点一样)
3.选中下断的地址,断点--->硬件访--->WORD断点。(如果是hr XXXXXXXX 就不用下断点了,hr XXXXXXXX 就是硬件访问中断)
4.按一下F9运行程序,直接来到了跳转处,按下F8,到达程序OEP。
方法二:内存镜像法(两次内存断点法)
1:用OD打开软件!
2:点击选项——调试选项——异常,把里面的忽略全部√上!CTRL+F2重载下程序!
3:按ALT+M,打开内存镜象,找到程序的第一个.rsrc.按F2下断点,然后按SHIFT+F9运行到断点,接着再按ALT+M,打开内存镜象,找到程序的第一个.rsrc.上面的.CODE(也就是00401000处),按F2下断点!然后按SHIFT+F9(或者是在没异常情况下按F9),直接到达程序OEP!
好了就到这了,程序的算法还在研究中,下回在贴出。
总的WORD 在这 手脱ASPack 2.12加壳.rar
【目标名称】: UltraISO.exe(比较好用的一个光驱软件)
【文件下载】: http://www.onlinedown.net/soft/614.htm
【软件加密】: ASPack 2.12 -> Alexey Solodovnikov
【作者声明】: 只是兴趣使然,没有其他目的。失误之处敬请诸位大侠赐教!
【调试环境】: WinXP、Ollydbg、PEiD、LordPE、ImportREC
【菜鸟作者】: 万俟飘然
PEiD查壳
ASPack 2.12 -> Alexey Solodovnikov
Ollydbg载入:
00C04001 > 60 pushad
00C04002 E8 03000000 call UltraISO.00C0400A
00C04007 - E9 EB045D45 jmp 461D44F7
00C0400C 55 push ebp
00C0400D C3 retn
00C0400E E8 01000000 call UltraISO.00C04014
00C04013 EB 5D jmp short UltraISO.00C04072
00C04015 BB EDFFFFFF mov ebx,-13
00C0401A 03DD add ebx,ebp
00C0401C 81EB 00408000 sub ebx,UltraISO.00804000
00C04022 83BD 22040000 00 cmp dword ptr ss:[ebp+422],0
00C04029 899D 22040000 mov dword ptr ss:[ebp+422],ebx
00C0402F 0F85 65030000 jnz UltraISO.00C0439A
00C04035 8D85 2E040000 lea eax,dword ptr ss:[ebp+42E]
00C0403B 50 push eax
方法一:ESP定律法
1.开始就点F8,注意观察OD右上角的寄存器中ESP有没突现(变成红色)。
ESP 0012FFA4 //数据变红
2. 右键—>数据窗口跟随
0012FFA4 7C930208 ntdll.7C930208
3.选中上面的地址,断点--->硬件访--->WORD断点。
4.按一下F9运行程序,直接来到了跳转处,按下F8,到达程序OEP。
00C043B0 /75 08 jnz short UltraISO.00C043BA
00C043B2 |B8 01000000 mov eax,1
00C043B7 |C2 0C00 retn 0C
00C043BA \68 20164000 push UltraISO.00401620
00C043BF C3 retn //返回到OEP
到达OEP ,入口点特征判断是Borland C++写的程序
00401620 . /EB 10 jmp short UltraISO.00401632 //OEP(记下入口地址)
00401622 . |66:623A bound di,dword ptr ds:[edx]
00401625 . |43 inc ebx
00401626 . |2B2B sub ebp,dword ptr ds:[ebx]
00401628 . |48 dec eax
00401629 . |4F dec edi
0040162A . |4F dec edi
0040162B . |4B dec ebx
0040162C . |90 nop
0040162D .-|E9 98C06300 jmp UltraISO.00A3D6CA
00401632 > \A1 8BC06300 mov eax,dword ptr ds:[63C08B]
00401637 . C1E0 02 shl eax,2
0040163A . A3 8FC06300 mov dword ptr ds:[63C08F],eax
0040163F . 52 push edx
00401640 . 6A 00 push 0 ; /pModule = NULL
开始脱壳
LordPE加载本进程—> 纠正映像大小—>完全脱壳 —>保存为Unpack.exe
我们打开看看
出现错误
【修复下】
打开ImportREC找到我们的进程
OEP填00001620 [00401620-00400000(基址)] —>自动查找IAT
CF(207D)个无效函数,我们用修复等级一试试,全部失败
打开 发现没用处 全部剪切掉
修复转存文件,抓取我们刚脱壳的,修复完成
好了可以打开了,脱壳成功!
方法二:两次内存断点法
开始:
Ollydbg载入:
00C04001 > 60 pushad
00C04002 E8 03000000 call UltraISO.00C0400A
00C04007 - E9 EB045D45 jmp 461D44F7
00C0400C 55 push ebp
00C0400D C3 retn
00C0400E E8 01000000 call UltraISO.00C04014
00C04013 EB 5D jmp short UltraISO.00C04072
00C04015 BB EDFFFFFF mov ebx,-13
00C0401A 03DD add ebx,ebp
00C0401C 81EB 00408000 sub ebx,UltraISO.00804000
00C04022 83BD 22040000 00 cmp dword ptr ss:[ebp+422],0
00C04029 899D 22040000 mov dword ptr ss:[ebp+422],ebx
00C0402F 0F85 65030000 jnz UltraISO.00C0439A
00C04035 8D85 2E040000 lea eax,dword ptr ss:[ebp+42E]
00C0403B 50 push eax
Alt+M 打开内存镜像
在 .rsrc 处F2下断 Shift+F9运行
回到程序窗口
继续Alt+M 打开内存镜像
在 .text (00401000) 处F2下断 Shift+F9运行
直接到达我们的OEP处
LordPE脱壳、ImportREC修复和方法一相同。
方法总结:
方法一:ESP定律法
ESP定理脱壳(ESP在OD的寄存器中,我们只要在命令行下ESP的硬件访问断点,就会一下来到程序的OEP了!)
1.开始就点F8,注意观察OD右上角的寄存器中ESP有没突现(变成红色)。(这只是一般情况下,更确切的说我们选择的ESP值是关键句之后的第一个ESP值)
2.在命令行下:dd XXXXXXXX(指在当前代码中的ESP地址,或者是hr XXXXXXXX),按回车!(或者数据窗口跟随,下硬件访问断点一样)
3.选中下断的地址,断点--->硬件访--->WORD断点。(如果是hr XXXXXXXX 就不用下断点了,hr XXXXXXXX 就是硬件访问中断)
4.按一下F9运行程序,直接来到了跳转处,按下F8,到达程序OEP。
方法二:内存镜像法(两次内存断点法)
1:用OD打开软件!
2:点击选项——调试选项——异常,把里面的忽略全部√上!CTRL+F2重载下程序!
3:按ALT+M,打开内存镜象,找到程序的第一个.rsrc.按F2下断点,然后按SHIFT+F9运行到断点,接着再按ALT+M,打开内存镜象,找到程序的第一个.rsrc.上面的.CODE(也就是00401000处),按F2下断点!然后按SHIFT+F9(或者是在没异常情况下按F9),直接到达程序OEP!
好了就到这了,程序的算法还在研究中,下回在贴出。
总的WORD 在这 手脱ASPack 2.12加壳.rar
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法
赞赏
他的文章
谁下载
kanxue
email123
superdos
ezboy
zwfgdlc
KuNgBiM
lmsoft
kiu
寒冷的风
yeyeshun
小龙人
yizhongqi
lovely
slake
bgtwoigu
十字
xiaofengs
lovewang
釜森
lylxd
DENGXINSD
JohnsonGuo
junyuqin
liangdong
Callppsb
liehu
PEBOSS
任天广
威风abc
shubo
kangcin
shixiaowen
lituo
怡风
suzuk
后恋
代码疯子
马冈网吧
goodian
wulovey
路易
LintChD
rzling
selby
Gemgin
tokiii
狗毛大圣
StudyRush
IaaIe
夏洛珂
wangweilll
raohaijun
hetzer
yarpee
ykjoker
paulbaby
haifan
izc
xxxr
零度x
loongzyd
benhua
CNNY
口条
lindafu
leeonegor
迷失的灯
zadley
hackerfly
chinhad
背水一战
ybhdgggset
黑箜
lusefei
hawkingxu
nineB
剑 锋
Xiaocp
喃风部落
resetinglm
yboy
LasiaWang
hackerlzc
天绝弑杀
jiaosc
happymhx
aliawei
MaYil
unhook
yulinxie
GaussAsm
lizonghan
beatles
nixiadexue
WinLove
会员注册
柔情似水
rekyking
朱哥哥
谁下载
kanxue
email123
superdos
ezboy
zwfgdlc
KuNgBiM
lmsoft
kiu
寒冷的风
yeyeshun
小龙人
yizhongqi
lovely
slake
bgtwoigu
十字
xiaofengs
lovewang
釜森
lylxd
DENGXINSD
JohnsonGuo
junyuqin
liangdong
Callppsb
liehu
PEBOSS
任天广
威风abc
shubo
kangcin
shixiaowen
lituo
怡风
suzuk
后恋
代码疯子
马冈网吧
goodian
wulovey
路易
LintChD
rzling
selby
Gemgin
tokiii
狗毛大圣
StudyRush
IaaIe
夏洛珂
wangweilll
raohaijun
hetzer
yarpee
ykjoker
paulbaby
haifan
izc
xxxr
迪文
零度x
loongzyd
benhua
CNNY
口条
lindafu
leeonegor
迷失的灯
zadley
hackerfly
chinhad
背水一战
ybhdgggset
黑箜
lusefei
hawkingxu
nineB
剑 锋
Xiaocp
喃风部落
resetinglm
yboy
LasiaWang
hackerlzc
天绝弑杀
jiaosc
happymhx
aliawei
MaYil
unhook
yulinxie
GaussAsm
lizonghan
beatles
nixiadexue
WinLove
会员注册
柔情似水
rekyking
谁下载
kanxue
email123
superdos
ezboy
zwfgdlc
KuNgBiM
lmsoft
kiu
寒冷的风
yeyeshun
小龙人
yizhongqi
lovely
slake
bgtwoigu
十字
xiaofengs
lovewang
釜森
lylxd
DENGXINSD
JohnsonGuo
junyuqin
liangdong
Callppsb
liehu
PEBOSS
任天广
威风abc
shubo
kangcin
shixiaowen
lituo
怡风
suzuk
后恋
代码疯子
马冈网吧
goodian
wulovey
路易
LintChD
rzling
selby
Gemgin
tokiii
狗毛大圣
StudyRush
IaaIe
夏洛珂
wangweilll
raohaijun
hetzer
yarpee
ykjoker
paulbaby
haifan
izc
xxxr
零度x
loongzyd
benhua
CNNY
口条
lindafu
leeonegor
迷失的灯
zadley
hackerfly
chinhad
背水一战
ybhdgggset
黑箜
lusefei
hawkingxu
nineB
剑 锋
Xiaocp
喃风部落
resetinglm
yboy
LasiaWang
hackerlzc
天绝弑杀
jiaosc
happymhx
aliawei
MaYil
unhook
yulinxie
GaussAsm
lizonghan
beatles
nixiadexue
WinLove
会员注册
柔情似水
rekyking
朱哥哥
谁下载
kanxue
email123
superdos
ezboy
zwfgdlc
KuNgBiM
lmsoft
kiu
寒冷的风
yeyeshun
小龙人
yizhongqi
lovely
slake
bgtwoigu
十字
xiaofengs
lovewang
釜森
lylxd
DENGXINSD
JohnsonGuo
junyuqin
liangdong
Callppsb
liehu
PEBOSS
任天广
威风abc
shubo
kangcin
shixiaowen
lituo
怡风
suzuk
后恋
代码疯子
马冈网吧
goodian
wulovey
路易
LintChD
rzling
selby
Gemgin
tokiii
狗毛大圣
StudyRush
IaaIe
夏洛珂
wangweilll
raohaijun
hetzer
yarpee
ykjoker
paulbaby
haifan
izc
xxxr
零度x
loongzyd
benhua
CNNY
口条
lindafu
leeonegor
迷失的灯
zadley
hackerfly
chinhad
背水一战
ybhdgggset
黑箜
lusefei
hawkingxu
nineB
剑 锋
Xiaocp
喃风部落
resetinglm
yboy
LasiaWang
hackerlzc
天绝弑杀
jiaosc
happymhx
aliawei
MaYil
unhook
yulinxie
GaussAsm
lizonghan
beatles
nixiadexue
WinLove
会员注册
柔情似水
rekyking
willJ
谁下载
kanxue
email123
superdos
ezboy
zwfgdlc
KuNgBiM
lmsoft
kiu
寒冷的风
yeyeshun
小龙人
yizhongqi
lovely
slake
bgtwoigu
十字
xiaofengs
lovewang
釜森
lylxd
DENGXINSD
JohnsonGuo
junyuqin
liangdong
Callppsb
liehu
PEBOSS
任天广
威风abc
shubo
kangcin
shixiaowen
lituo
怡风
suzuk
后恋
代码疯子
马冈网吧
goodian
wulovey
路易
LintChD
rzling
selby
Gemgin
tokiii
狗毛大圣
StudyRush
IaaIe
夏洛珂
wangweilll
raohaijun
hetzer
yarpee
ykjoker
paulbaby
haifan
izc
xxxr
零度x
loongzyd
benhua
CNNY
口条
lindafu
leeonegor
迷失的灯
zadley
hackerfly
chinhad
背水一战
ybhdgggset
黑箜
lusefei
hawkingxu
nineB
剑 锋
Xiaocp
喃风部落
resetinglm
yboy
LasiaWang
hackerlzc
天绝弑杀
jiaosc
happymhx
aliawei
MaYil
unhook
yulinxie
GaussAsm
lizonghan
beatles
nixiadexue
WinLove
会员注册
柔情似水
rekyking
朱哥哥
看原图
赞赏
雪币:
留言: