黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 软件破解 >> 正文
·没有路由密码权限时的鸽08-23·上网安全 Vista自我防范10-11
·让濒临崩溃的Windows XP10-11·有备无患,快速自制救急10-11
·要你好看!Windows看图工10-11·空间赞助网提供不同类型10-11
·讨论net.exe和net1.exe的10-10·让3389远程桌面传输更通10-10
·巧妙入侵渗透赌博站10-10·Aspx空间扫权限工具10-10
·Windows2003最新提权工具10-10·易淘乐提供100M免费全能10-10
·系统开机密码忘了不着急10-09·中意网络提供免费100M免10-09
·与众不同 Windows XP开始10-08·让桌面图标翻跟斗 在XP上10-08
·上海宽元站长资助计划-提10-08·个性化Windows XP的任务10-07
·趣盘提供3G免费网络硬盘10-07·秀山热线提供200MB免费全10-07
·一次艰辛的提权过程10-06·成功入侵IT大卖场的渗透10-06
·mysqlhack- MYSQL利用工10-06·lanker一句话PHP后门客户10-06
·WIXI提供3G免费多媒体网10-06·新人网络提供100M/ftp免10-06
·如何利用QQ带来高流量10-05·UuShare提供免费网络文件10-05
[推荐]用OllyDbg手脱RLPack V1.17加壳的DLL
      ★★★★★

用OllyDbg手脱RLPack V1.17加壳的DLL

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2007-4-4 7:12:13


三.重定位表

其实写这篇教程的价值就在于这部分了
经过跟踪发现RLPack没有加密重定位表,这就为我们脱壳减少了麻烦

0094BFF7    68 00400000        push 4000
0094BFFC    68 54180000        push 1854
0094C001    FFB5 560A0000      push dword ptr ss:[ebp+A56]
0094C007    FF95 EF090000      call near dword ptr ss:[ebp+9EF] ; kernel32.VirtualFree
0094C00D    68 00400000        push 4000
0094C012    68 00200C00        push 0C2000
0094C017    FFB5 3A0A0000      push dword ptr ss:[ebp+A3A]
0094C01D    FF95 EF090000      call near dword ptr ss:[ebp+9EF] ; kernel32.VirtualFree
//清理战场了
0094C023    E8 55000000        call 0094C07D
//重定位处理[/code][code]0094C07D    60                 pushad
0094C07E    8BB5 460A0000      mov esi,dword ptr ss:[ebp+A46]
//[ebp+A46]=00087000        重定位表RVA  ★
0094C084    0BF6               or esi,esi
0094C086    74 67              je short 0094C0EF
0094C088    8BBD 3E0A0000      mov edi,dword ptr ss:[ebp+A3E]
//[ebp+A3E]=00400000        文件基址
0094C08E    8B4424 48          mov eax,dword ptr ss:[esp+48]
//[esp+48]=00870000                映像基址
0094C092    8985 420A0000      mov dword ptr ss:[ebp+A42],eax
0094C098    3BC7               cmp eax,edi
//比较是否相同
0094C09A    74 53              je short 0094C0EF
//不同不跳就需要重定位处理了
//注意:此时程序没有重定位,可以现在Dump,这样脱壳后就不需要修改dump文件基址了  ★
0094C09C    03F0               add esi,eax
//ESI=00087000+00870000=008F7000                重定位表VA
0094C09E    EB 4A              jmp short 0094C0EA
0094C0A0    8B16               mov edx,dword ptr ds:[esi]
0094C0A2    8B46 04            mov eax,dword ptr ds:[esi+4]
0094C0A5    8985 4A0A0000      mov dword ptr ss:[ebp+A4A],eax
0094C0AB    01B5 4A0A0000      add dword ptr ss:[ebp+A4A],esi
0094C0B1    83C6 08            add esi,8
0094C0B4    EB 2C              jmp short 0094C0E2
0094C0B6    0FB706             movzx eax,word ptr ds:[esi]
0094C0B9    8BD8               mov ebx,eax
0094C0BB    C1EB 0C            shr ebx,0C
0094C0BE    8BCB               mov ecx,ebx
0094C0C0    69DB 00100000      imul ebx,ebx,1000
0094C0C6    2BC3               sub eax,ebx
0094C0C8    03C2               add eax,edx
0094C0CA    0385 420A0000      add eax,dword ptr ss:[ebp+A42]
0094C0D0    83F9 03            cmp ecx,3
0094C0D3    75 0A              jnz short 0094C0DF
0094C0D5    2938               sub dword ptr ds:[eax],edi
0094C0D7    8B8D 420A0000      mov ecx,dword ptr ss:[ebp+A42]
0094C0DD    0108               add dword ptr ds:[eax],ecx
0094C0DF    83C6 02            add esi,2
0094C0E2    3BB5 4A0A0000      cmp esi,dword ptr ss:[ebp+A4A]
0094C0E8    72 CC              jb short 0094C0B6
0094C0EA    833E 00            cmp dword ptr ds:[esi],0
0094C0ED    75 B1              jnz short 0094C0A0
//循环重定位处理
0094C0EF    61                 popad
//处理完后ESI=009000F8
//Relocation Table Size=009000F8-008F7000=000090F8  ★
0094C0F0    C3                 retn


_____________________________________________
四.完成脱壳

0094C028    61                 popad
0094C029    E9 BE3AFAFF        jmp 008EFAEC
//飞向光明之巅
0094C02E    61                 popad
0094C02F    C3                 retn

008EFAEC    55                 push ebp
//OEP RVA=008EFAEC-00870000=0007FAEC
008EFAED    8BEC               mov ebp,esp
008EFAEF    83C4 C4            add esp,-3C
008EFAF2    B8 04F98E00        mov eax,008EF904
008EFAF7    E8 CC6DF8FF        call 008768C8
008EFAFC    33C0               xor eax,eax
008EFAFE    A3 442C8F00        mov dword ptr ds:[8F2C44],eax
008EFB03    E8 DC4BF8FF        call 008746E4

运行ImportREC,由于此DLL加载后已经进行重定位处理,所以去掉“Use PE Header From Disk”选项
选择OllyDbg的loaddll.exe进程,Pick DLL选择iBox.dll
填入OEP RVA=0007FAEC,输入表RVA=00083154,输入表Size=0000069C,Get Imports
可以新增区段修复,也可以把输入表放在程序无用的空白处。

使用LordPE修改dumped_.dll的Relocation Table RVA=00087000,Relocation Table Size=000090F8
附件中iBox.UnPacKed.dll只是简单优化,如果想优化的完美点那就要多费时间了。
脱壳完成

上一页  [1] [2] 

文章录入:cainiaowang    责任编辑:cainiaowang 
【字体:
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886