PE-Armor V0.7X -> hying * 怎么脱壳啊?

用什么工具可以脱下来的?高手给解释一下。... 用什么工具可以脱下来的?
高手给解释一下。
展开
 我来答
魔界刺客
2007-10-12 · TA获得超过3148个赞
知道小有建树答主
回答量:1192
采纳率:0%
帮助的人:564万
展开全部
【破解分析】

先用PEiD查壳, Excalibur 1.03 -> forgot [Overlay] *

看入口点:

0073D09D > /E9 00000000 jmp 大头贴制.0073D0A2
0073D0A2 \60 pushad
0073D0A3 E8 14000000 call 大头贴制.0073D0BC

0073D0BC 58 pop eax
0073D0BD 61 popad
0073D0BE ^ E9 0E00FFFF jmp 大头贴制.0072D0D1

到这里,和 Excalibur 1.03 一模一样, 再往下就露出狐狸尾巴来了:

0072D0D1 60 pushad ; 这个是旧版hying壳的
0072D0D2 E8 00000000 call 大头贴制.0072D0D7 ; 典型入口,新版伪装成了
0072D0D7 5D pop ebp ; Excalibur
0072D0D8 81ED D7000000 sub ebp, 0D7
0072D0DE 8DB5 EE000000 lea esi, [ebp+EE]
0072D0E4 55 push ebp
0072D0E5 56 push esi
0072D0E6 81C5 FD010000 add ebp, 1FD
0072D0EC 55 push ebp
0072D0ED C3 retn

把EP改为32D0D1, 绕过那个伪装的头部,再用PEiD查: hying's PE-Armor V0.7X -> hying [Overlay] *
哈哈,查出来了!

不过改了EP后程序运行后自动退出, 看来是有自校检. 还是先脱壳吧.

第一次接触 hying's PE-Armor, 感觉像恶梦一样, 这个壳的anti功能极强, 是个考验耐心的累活.
这里就不细说了, 有兴趣的情参考几位斑竹的文章.

手动脱在短时间内是没指望了, 用 forgot 的 romra755 脱掉. 可是在修复输入表的时候遇到了难题,
ImportIAT 说入口点无效. 我只能手动一个区段一个区段地查找IAT, 好在这个程序的IAT不多, 只有
kernel32和user32中的几个.

修复后运行说是 Invalid PE, 还要用 LordPE 的 RebuildPE 功能.

再用PEiD查: Microsoft Visual C++ 6.0 [Overlay]
当时看到这个就放心了, 但事后证明, 如果在这里放心那就完了.

修复、重建后的dumped_.exe运行后提示非法数据, 用OD跟跟看.
从入口到WinMain()的代码几乎和VC++一样(难怪PEiD又被骗了一次).
进入WinMain()以后, 看看调用了哪些API吧:

GetModuleFileNameA
CreateFileNameA
SetFilePointer
ReadFile
GetTempPath
wsprintfA
CreateDirectoryA
WriteFile
CloseHandle
LoadLibrary
GetProcAddress
MessageBoxA

这就是全部的API调用, 连创建窗口的函数都没有. 而且这个程序还把文件解压到temp文件夹来加载.
脱壳后的文件末尾没有这些附加数据, 要从原文件的0x28E800(这个值可以看section算出来)处至文件末

尾的字节全部附加到dumped_.exe末尾.
用OD跟出加载的文件是krnln.fnr(UPX壳). (后来才知道这是易语言的标志)

当运行到这里时:

004014DA |$ 810424 267B0000 add dword ptr [esp], 7B26
004014E1 |. FFD0 call near eax ; 从这里真正进入易语言的领空

esp指向一个字符串 "WTNE / MADE BY E COMPILER - WUTAO " 看到这个我才知道这是易语言

在看雪精华中看了易语言的破文, 依葫芦画瓢地在OD中搜字符串, 结果失败了. 难道是脱壳不干净?

因为有自校检, 脱壳后到程序不能运行, 只能静态分析了.

这个程序是KeyFile的注册方法, 不能跟踪的话就没法得出算法, 只得爆破了.

程序启动时会弹出一个Nag, 大意是没注册有功能限制.

在UltraEdit中搜"您正在使用的是未注册的版本", 在 Offset 0x29493处.
在OD中按 Ctrl+B 搜索 93 94 42 00, 在 006D3A31处(这个是动态解码的)

006D3A98 > \E8 E2BDFDFF call dumped_.006AF87F ; 关键call
006D3A9D . 8945 FC mov [ebp-4], eax ; eax≠0 就行了
006D3AA0 . F9 stc
006D3AA1 . 72 01 jb short dumped_.006D3AA4
006D3AA3 80 db 80 ; 花指令
006D3AA4 . 837D FC 00 cmp dword ptr [ebp-4], 0
006D3AA8 . 0F85 3D000000 jnz dumped_.006D3AEB ; 这里可以跳过Nag
006D3AAE . F9 stc
006D3AAF . 72 01 jb short dumped_.006D3AB2
006D3AB1 B5 db B5 ; 花指令
006D3AB2 . 68 04000080 push 80000004
006D3AB7 . 6A 00 push 0
006D3AB9 . 68 79944200 push dumped_.00429479
006D3ABE . 68 01030080 push 80000301
006D3AC3 . 6A 00 push 0
006D3AC5 . 68 00000000 push 0
006D3ACA . 68 04000080 push 80000004
006D3ACF . 6A 00 push 0
006D3AD1 . 68 93944200 push dumped_.00429493 ; 这里指向我们搜索的字符串
006D3AD6 . 68 03000000 push 3
006D3ADB . BB 00030000 mov ebx, 300
006D3AE0 . EB 01 jmp short dumped_.006D3AE3
006D3AE2 0F db 0F ; 花指令
006D3AE3 > E8 A98E0200 call dumped_.006FC991
006D3AE8 . 83C4 28 add esp, 28
006D3AEB > E8 00000000 call dumped_.006D3AF0

006D3AA8处的jnz可以改为jmp爆掉, 但这是治标不治本的方法.
我们只要让006AF87F这个call返回1就行了. 跟进:

…………………………
…………………………
006AF97E |> \837D F4 00 cmp [local.3], 0 ; 很经典的cmp+je/jne模式
006AF982 |. 0F84 12000000 je dumped_.006AF99A ; 这里nop掉就OK了
006AF988 |. EB 01 jmp short dumped_.006AF98B
006AF98A | 70 db 70 ; 花指令
006AF98B |> B8 01000000 mov eax, 1
006AF990 \. E9 12000000 jmp dumped_.006AF9A7
006AF995 . E9 0D000000 jmp dumped_.006AF9A7
006AF99A /> EB 01 jmp short dumped_.006AF99D
006AF99C | 0F db 0F ; 花指令
006AF99D |> B8 00000000 mov eax, 0
006AF9A2 |. E9 00000000 jmp dumped_.006AF9A7
006AF9A7 |> 8BE5 mov esp, ebp
006AF9A9 |. 5D pop ebp
006AF9AA \. C3 ret

最后, 因为脱壳的文件不能运行, 只能做内存补丁了.
在KeyMake中将006AF982处的0F8412000000改为909090909090就OK了.
运行补丁, 原程序所有的功能限制解除! Nag窗口也不见了!

【总结】
1. hying's PE-Armor的花指令和anti crack让我佩服, 也让我心寒.
2. 易语言很好地伪装成VC++, 差点被骗了.
3. 易语言的代码有小花, 影响破解速度. 对付易语言, 动静结合的分析尤为重要.
yecheng8888
2007-10-05 · 贡献了超过148个回答
知道答主
回答量:148
采纳率:0%
帮助的人:0
展开全部
你问网络高手吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式