首 页文章中心黑客软件黑客动画绿色软件私服技术私服下载本站论坛
您当前的位置:黑客之 家文章中心黑客新闻 → 文章内容 退出登录 用户管理
本类热门文章
相关文章
站内广告
PELock 1.0x -> Bartosz Wojcik脱壳
作者:黑客之家  来源:www.hackjia.com  发布时间:2007-12-28 14:17:00

减小字体 增大字体

37838E     8A06            mov al,byte ptr ds:[esi]
00378390     46              inc esi
00378391     03D0            add edx,eax
00378393     C607 E9         mov byte ptr ds:[edi],0E9
00378396     2BD7            sub edx,edi
00378398     83EA 05         sub edx,5
0037839B     8957 01         mov dword ptr ds:[edi+1],edx
0037839E     83C7 05         add edi,5
003783A1     4B              dec ebx
003783A2   ^ 75 C3           jnz short 00378367         //循环
第一次循环的时候在 xor byte ptr ds:[edi],dl中的edi放的是代码被转移的起始地址,看一下edi是12A000,原版打算自己添加一个段然后把数据写入这个段里,但是添加失败了,郁闷!不过dump下来的程序的中有一个起始地址5d3000,大小为1c0000的段是空的,所以直接把edi的值改为5d3000即可。
3。壳转移数据(二)
 运行修复了的程序,还是出错
00480AD4     55               push ebp
00480AD5     68 100C4800      push H_Client.00480C10
00480ADA     64:FF30          push dword ptr fs:[eax]
00480ADD     64:8920          mov dword ptr fs:[eax],esp
00480AE0     A1 E4755C00      mov eax,dword ptr ds:[5C75E4]
00480AE5     8B00             mov eax,dword ptr ds:[eax]
00480AE7     8B10             mov edx,dword ptr ds:[eax]   //指向壳中
00480AE9     FF52 14          call dword ptr ds:[edx+14]
00480AEC     33C0             xor eax,eax
跟踪原程序,发现有这么一个很长的表,程序会不断的从这个表中找调用数据
00376C44  0102A50F
00376C48  000000E9
00376C4C  00000000
00376C50  00406E3C  H_Client.00406E3C
00376C54  00406E0C  H_Client.00406E0C
00376C58  00406C30  H_Client.00406C30
00376C5C  00406BDC  H_Client.00406BDC
00376C60  00406F70  H_Client.00406F70
00376C64  00406F40  H_Client.00406F40
00376C68  00408094  H_Client.00408094
00376C6C  00408064  H_Client.00408064
这些数据跟壳是在一个段中的,但是单独把这些数据转移会出错,这个段的地址又小于基址,dump下这个段来也不好弄,搞了半天发现这个段的内存是动态申请的,重新来过,下he VitrualProtect
断下后ctrl+f9返回,eax为370000,看了一下申请的大小要比1c0000小许多,干脆把eax改为5d3000,把这个壳整个调到5d3000段,然后第八个异常的时候再处理一下上面处理的数据
00378367     3017            xor byte ptr ds:[edi],dl   
改edi为5e0000
最后修复下stolen code,纠正jmagesize后dump下来,修复输入表,ok
总结一下:
一,获取输入表
二,修改VirtualProtect返回值,修改00378367处edi值,使这些数据可以被dump下来。
三,修复stolen code,dump下来后修复输入表。
by ak[BCG][DCM][DFCG]

上一页  [1] [2] 

[] [返回上一页] [打 印]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 文章投稿 - 软件发布 - 购物资讯网 - _