【文章标题】: RM转换精灵V 7.1 主程序脱壳
【作 者】: xiaoboy
【邮 箱】:
xiao-boy@qq.com 【主 页】: 木有
【软件名称】: RM转换精灵脱壳
【下载地址】:
http://www.flyhua.net 【加壳方式】: 未知壳
【保护方式】: IAT加密
【工 具】: flyODBG、PEiD、ImportREC
【操作平台】: XPSP2
【软件介绍】: 可以把rm和rmvb文件转换为AVI、VCD、SVCD、DVD、MPE
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教! 小弟弟一次写脱文 有错误之处请多多指教!
--------------------------------------------------------------------------------
【详细过程】
1. 找OEP
peid显示:Microsoft Visual C++ 6.0 [Overlay] 不知道什么壳 先用peid 得插件试试找OEP (本人的一向习惯)
居然提示00518460,不知道是真的还是假的
2 二、dump程序
用flyODBG载入 停在下面
0066D000 R> 55 PUSH EBP
0066D001 8BEC MOV EBP, ESP
0066D003 6A FF PUSH -1
0066D005 68 2A2C0A00 PUSH 0A2C2A
0066D00A 68 38900D00 PUSH 0D9038
0066D00F 64:A1 00000000 MOV EAX, DWORD PTR FS:[0]
Ctrl+G 00518460
00518460 . 0000 ADD BYTE PTR DS:[EAX], AL
00518462 ? 0000 ADD BYTE PTR DS:[EAX], AL
00518464 ? 0000 ADD BYTE PTR DS:[EAX], AL
00518466 . 0000 ADD BYTE PTR DS:[EAX], AL
00518468 ? 0000 ADD BYTE PTR DS:[EAX], AL
0051846A ? 0000 ADD BYTE PTR DS:[EAX], AL
然后 00518460 处下硬件执行断点,F9运行。停在00518460
00518460 . 55 PUSH EBP
00518461 . 8BEC MOV EBP, ESP
00518463 . 83C4 F0 ADD ESP, -10
00518466 . 53 PUSH EBX
00518467 . B8 C07E5100 MOV EAX, RMtoVCD.00517EC0
0051846C . E8 27E5EEFF CALL RMtoVCD.00406998
00518471 . 8B1D 1CE85100 MOV EBX, DWORD PTR DS:[51E81C] ; RMtoVCD.0051FBF4
00518477 . 8B03 MOV EAX, DWORD PTR DS:[EBX]
00518479 . E8 26F0F5FF CALL RMtoVCD.004774A4
0051847E . A1 A0EA5100 MOV EAX, DWORD PTR DS:[51EAA0]
00518483 . 8B00 MOV EAX, DWORD PTR DS:[EAX]
00518485 . 8B48 6C MOV ECX, DWORD PTR DS:[EAX+6C]
00518488 . B2 01 MOV DL, 1
0051848A . A1 E0685100 MOV EAX, DWORD PTR DS:[5168E0]
以上看来是真的OEP了 是Borland Delphi 6.0 - 7.0编译的。
接着就用flyODBG自带的Ollydump插件 dump 出来保存。
本来这就以为收工的了,可是想用ImportREC 修复IAT 时才发现IAT加密了
以上做的基本无用功。各位不要见笑说我这写些,我只是想把过程写的详细写。
既然加了密,当然就要修复哦,就让我们来跟踪他的IAT表藏那去了。
00518460 . 55 PUSH EBP
00518461 . 8BEC MOV EBP, ESP
00518463 . 83C4 F0 ADD ESP, -10
00518466 . 53 PUSH EBX
00518467 . B8 C07E5100 MOV EAX, RMtoVCD.00517EC0
0051846C . E8 27E5EEFF CALL RMtoVCD.00406998 ///这跟进
00518471 . 8B1D 1CE85100 MOV EBX, DWORD PTR DS:[51E81C] ; RMtoVCD.0051FBF4
00518477 . 8B03 MOV EAX, DWORD PTR DS:[EBX]
00518479 . E8 26F0F5FF CALL RMtoVCD.004774A4
就到了这里:
00406998 /$Content$nbsp; 53 PUSH EBX
00406999 |. 8BD8 MOV EBX, EAX
0040699B |. 33C0 XOR EAX, EAX
0040699D |. A3 C0905100 MOV DWORD PTR DS:[5190C0], EAX
004069A2 |. 6A 00 &