- UID
- 53554
注册时间2008-6-7
阅读权限10
最后登录1970-1-1
周游历练

TA的每日心情 | 开心 2024-12-17 10:07 |
---|
签到天数: 15 天 [LV.4]偶尔看看III
|
转载来自http://www.ypzz.net/viewthread.php?tid=162&page=1&extra=#pid570
大家好 我是壹品居的斑竹 ypzz http://www.ypzz.net
壹品居是新开的论坛希望大家支持
今天给大家做个脱默认设置的ZP壳程序
我让"清晨吃馒头"加了两个默认的ZP
一个是delphi的
一个是VB的
小弟我研究zp时间不长 总是跟随前人的步伐慢慢摸索前进
前阵子看了hyperchem 和 ximo两位大大的脱文
这两篇文章都能在网上找到
我也会把这两位大大的脱文打包的
我只是对这两位大大的文章进行了动画演示
希望两位大大不要见怪
冒犯之处请见谅
只是作为研究之用
根据 hyperchem 的文章 ZP对IAT有三种保护方法
今天只对第一种方法进行演示
我们先看下加壳的delphi程序
好了 我们用od加载
ZP的壳用ESP定律就可以到达OEP了 这是1.4.9之前所有版本的通用方法
重要的是修复IAT 和IID 表
IATSTART:00483118
IATEND:004837B0
OEP:0047FA10
push key
jmp execute:
execute:
jmp decode
decode:
pushad
push dword ptr ss:[esp+20]
call GetAPI
popad
retn
GetAPI:
push dword ptr ss:[esp+8] //push key
call dword ptr ds:[93652C] //根据key,取得相应的索引
mov esi,eax
mov eax,dword ptr ds:[936C64]
sub eax,dword ptr ds:[936C60]
sar eax,2
cmp esi,eax
jb short 009321A8
call 00926B1E //end..
mov eax,dword ptr ds:[936C60]
mov eax,dword ptr ds:[eax+esi*4] //根据相应的基址和索引,获得真正的API地址
mov dword ptr ss:[esp+2C],eax //填充IID表
00D60014 50 push eax ; 也就是说这里的代码就是解密call里面的GetAPI代码
00D60015 51 push ecx ;这个地方会有不同 但是个push
00D60016 FF1>call dword ptr [0xA9652C] ; 这个就是解密call
00D6001C 8BF>mov esi, eax
00D6001E A1 >mov eax, dword ptr [0xA96C64]
00D60023 2B0>sub eax, dword ptr [0xA96C60]
00D60029 C1F>sar eax, 0x2
00D6002C 3BF>cmp esi, eax
00D6002E 72 >jb short 00D60035
00D60030 E8 >call 00D549AB
00D60035 A1 >mov eax, dword ptr [0xA96C60]
00D6003A 8B0>mov eax, dword ptr [eax+esi*4] ;这里不再填充IID了 直接修复就好了
00D6003D 5F pop edi
00D6003E 57 push edi
00D6003F 890>mov dword ptr [edi], eax
00D60041 58 pop eax
我们来对比下
现在清楚了IAT的加密方法 现在来修复 IAT
然后我们用ximo大大的修复IAT的代码
hyperchem的方法比较难懂
呵呵 个人这么认为的
用到的代码我已经放在这里了
这个代码的版权归ximo大大所有我这里只是借用一下
希望ximo大大不要介意^_^
好了 delphi的干掉了 接下来干VB的 方法是一样的
ESP到oep
key:23164DE3
好了 教程到此结束
88
下载地址: |
|