您的位置:首页 > 其它

用Ollydbg手脱UPX加壳的jxjl外挂的jxdata.dll

2012-03-14 11:08 363 查看
原文 http://dev.xdowns.com/archive/readme/others/5080.html

【文章作者】: wenxinoooo

【下载地址】: http://www.xdowns.com/tag/Ollydbg.html
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!

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

【详细过程】

一、得到重定位表RVA和OEP

代码:--------------------------------------------------------------------------------

00A758A0 > 807C24 08 01 CMP BYTE PTR SS:[ESP+8],1----------进入OD后停在这

00A758A5 0F85 9A010000 JNZ jxdata.00A75A45

00A758AB 60 PUSHAD

不用跟踪,Ctrl+S 在当前位置下搜索命令序列:

代码:--------------------------------------------------------------------------------

xchg ah,al

rol eax,10

xchg ah,al

add eax,esi

找到在00A75A1B处,在其上mov al,byte ptr ds:[edi]处下断,F9运行,断下

代码:--------------------------------------------------------------------------------

00A75A1B 8A07 MOV AL,BYTE PTR DS:[EDI]---------EDI=00A69AD9-当前基址00870000=001F9AD9 ★ 这就是重定位表的RVA

00A75A1D 47 INC EDI

00A75A1E 09C0 OR EAX,EAX

00A75A20 74 22 JE SHORT jxdata.00A75A44

00A75A22 3C EF CMP AL,0EF

00A75A24 77 11 JA SHORT jxdata.00A75A37

00A75A26 01C3 ADD EBX,EAX

00A75A28 8B03 MOV EAX,DWORD PTR DS:[EBX]

00A75A2A 86C4 XCHG AH,AL----------------------找到这里

00A75A2C C1C0 10 ROL EAX,10

00A75A2F 86C4 XCHG AH,AL

00A75A31 01F0 ADD EAX,ESI

00A75A33 8903 MOV DWORD PTR DS:[EBX],EAX

00A75A35 ^ EB E2 JMP SHORT jxdata.00A75A19

00A75A37 24 0F AND AL,0F

00A75A39 C1E0 10 SHL EAX,10

00A75A3C 66:8B07 MOV AX,WORD PTR DS:[EDI]

00A75A3F 83C7 02 ADD EDI,2

00A75A42 ^ EB E2 JMP SHORT jxdata.00A75A26

00A75A44 61 POPAD

00A75A45 - E9 B6B5DFFF JMP jxdata.00871000--------------//飞向光明之点巅

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

在00A75A44处下断,F9运行,断下,重定位数据处理完毕

当我们在00A75A44处中断下来时,EDI=00A740B0-当前基址00870000=002040B0,就是重定位表结束的地址

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

00871000 /EB 10 JMP SHORT jxdata.00871012--------OEP

00871002 |66:623A BOUND DI,DWORD PTR DS:[EDX]

00871005 |43 INC EBX

00871006 |2B2B SUB EBP,DWORD PTR DS:[EBX]

00871008 |48 DEC EAX

00871009 |4F DEC EDI

0087100A |4F DEC EDI

0087100B |4B DEC EBX

0087100C |90 NOP

0087100D -|E9 E0D59C00 JMP 0123E5F2

00871012 \A1 67D59C00 MOV EAX,DWORD PTR DS:[9CD567]

00871017 C1E0 02 SHL EAX,2

0087101A A3 6BD59C00 MOV DWORD PTR DS:[9CD56B],EAX

0087101F 8B4424 08 MOV EAX,DWORD PTR SS:[ESP+8]

00871023 A3 D9D59C00 MOV DWORD PTR DS:[9CD5D9],EAX

00871028 FF1485 C9D59C00 CALL DWORD PTR DS:[EAX*4+9CD5C9]

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

用LordPE选中Ollydbg的loaddll.exe的进程,在下面的列表里选择jxdata.dll,然后完整脱壳,得到dumped.dll

二、输入表

找到API调用,

如:00871041 E8 74AA1500 CALL dumped00.009CBABA ; JMP 到 kernel32.GetVersion

跟随,来到

009CBABA - FF25 6814A100 JMP DWORD PTR DS:[A11468] ; kernel32.GetVersion

数据窗口中跟随内存,如下:

上下看到许多函数地址,很明显的可以找到IAT开始和结束的地址:

00A11360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

00A11370 00 00 00 00 47 9B 80 7C 77 D0 80 7C EE 86 82 7C ....G泙|w衻|顔倈

00A11380 AC 17 82 7C AD 08 83 7C 24 1A 80 7C 5C 94 80 7C ?倈?億$€|\攢|

00A11390 37 06 81 7C 8A 18 93 7C AB 1E 83 7C 05 10 92 7C 7亅?搢?億抾

00A113A0 11 82 83 7C DA CD 81 7C 58 C0 80 7C 5D 06 83 7C 們|谕亅X纮|]億

00A113B0 66 E8 80 7C D7 ED 80 7C D9 37 81 7C B1 4E 83 7C f鑰|醉€|?亅盢億

00A113C0 89 BE 80 7C A0 F7 82 7C 77 DF 81 7C DE AB 80 7C 壘€|狑倈w邅|瞢€|

00A113D0 C2 60 82 7C 15 99 80 7C 76 2E 81 7C 1D 2F 81 7C 耟倈檧|v.亅/亅

00A113E0 FE 4F 83 7C F5 DD 80 7C 20 99 80 7C 28 97 80 7C 﨩億踺€| 檧|(梹|

00A113F0 EE 61 83 7C ED 02 83 7C E3 14 82 7C 5B CF 81 7C 頰億?億?倈[蟻|

00A11400 F2 4A 81 7C 17 AE 81 7C 35 14 82 7C 3C 15 81 7C 騄亅畞|5倈<亅

00A11410 77 0A 81 7C 51 0E 81 7C FC 38 81 7C 31 03 93 7C w.亅Q亅?亅1搢

00A11420 D4 A7 80 7C 62 D2 80 7C CF B4 80 7C A1 B6 80 7C 鸳€|b襽|洗€|《€|

00A11430 A7 27 81 7C 56 2B 83 7C A0 AD 80 7C C1 AB 80 7C ?亅V+億牠€|莲€|

00A11440 EE 1E 80 7C 39 2F 81 7C 0C 8A 83 7C 90 A4 80 7C ?€|9/亅.妰|悿€|

00A11450 3D BF 80 7C B2 27 81 7C 56 2D 81 7C 15 A4 80 7C =縺|?亅V-亅|

00A11460 9C 92 80 7C 10 9F 80 7C DA 11 81 7C DE 2A 81 7C 湌€|焵|?亅?亅

00A11470 A9 60 83 7C 2D FD 80 7C BB 0B 83 7C 2F FC 80 7C ー億-齹|?億/鼆|

00A11480 B9 4C 83 7C 19 FF 80 7C B9 23 81 7C 82 FE 80 7C 筁億(出处:http://dev.xdowns.com/)

Tags:UPX
Ollydbg 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c byte tags api 360