程序自校验的解除方法

[复制链接] 0
回复
2239
查看
打印 上一主题 下一主题

86

主题

525

帖子

525

积分

荣誉会员

Rank: 4

积分
525
QQ
跳转到指定楼层
1#
发表于 2008-2-2 14:46:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多郧西好友

您需要 登录 才可以下载或查看,没有帐号?注册

x
脱UPX-Scrambler RC1x -> ㎡nT畂L+去校验

这是一款UPX的变形壳,但是,还是那么弱。。。

目标程序:一后门木马服务端,Hiddukel VIIexe
********************************************************************************************
OD载入,忽略所有异常!

00CE6BEF Hiddu> 90        nop  //入口,这样的入口和我们以前见到的UPX确有不同。。。
00CE6BF0     61        popad
00CE6BF1     BE 0060C600    mov esi,Hiddukel00C66000
00CE6BF6     8DBE 00B079FF   lea edi,dword ptr ds:[esi+FF79B00>
00CE6BFC     57        push edi
00CE6BFD     83CD FF      or ebp,FFFFFFFF
00CE6C00     EB 10       jmp short Hiddukel00CE6C12
00CE6C02     EB 00       jmp short Hiddukel00CE6C04
00CE6C04    ^ EB EA       jmp short Hiddukel00CE6BF0
00CE6C06    ^ EB E8       jmp short Hiddukel00CE6BF0
00CE6C08     8A06       mov al,byte ptr ds:[esi]

打开内存镜像

内存映射,项目 24
地址=00CE7000 //F2,F9
大小=00003000 (12288)
宿主=Hiddukel 00400000
区段=rsrc
包含=data,imports,resources
类型=Imag 01001002
访问=R
初始访问=RWE


继续打开内存镜像

内存映射,项目 22
地址=00401000 //F2,F9
大小=00865000 (8802304)
宿主=Hiddukel 00400000
区段=code
类型=Imag 01001002
访问=R
初始访问=RWE


00CE6D4E     8903       mov dword ptr ds:[ebx],eax    ; kernel32ExitProcess //停在这里
00CE6D50     83C3 04      add ebx,4
00CE6D53    ^ EB D8       jmp short Hiddukel00CE6D2D //回跳
00CE6D55     FF96 30808E00   call dword ptr ds:[esi+8E8030]
00CE6D5B     60        pushad //F4下来
00CE6D5C    - E9 A93C74FF    jmp Hiddukel0042AA0A  //跳向OEP



0042AA0A     55        push ebp     ; WSOCK32#1139 //OEP!
0042AA0B     8BEC       mov ebp,esp
0042AA0D     6A FF       push -1
0042AA0F     68 70104500    push Hiddukel00451070
0042AA14     68 88F34200    push Hiddukel0042F388
0042AA19     64:A1 00000000  mov eax,dword ptr fs:[0]
0042AA1F     50        push eax
0042AA20     64:8925 00000000 mov dword ptr fs:[0],esp
0042AA27     83EC 58      sub esp,58
0042AA2A     53        push ebx

OD插件脱壳,(这个OD不要关闭,等下用得到^+^)打开IR 16修复,运行看看,启动画面一闪而过。。。

有校验。。。

开另一OD,载入脱壳修复后的程序

两个OD都下断bp CreateFileA,中断后都Alt+F9返回!

通过对比跟踪发现

0041C094  /7F 52       jg short Unpack0041C0E8 //这里,原程序没跳。。脱壳程序却跳了!!
0041C096  |56         push esi
0041C097  |E8 E0DF0000    call Unpack0042A07C
0041C09C  |83C4 04      add esp,4
0041C09F  |3D 08220800    cmp eax,82208
0041C0A4  |7C 42       jl short Unpack0041C0E8

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

郧西论坛微信公众号
快速回复 返回顶部 返回列表