好友
阅读权限20
听众
最后登录1970-1-1
|
pxhb
发表于 2013-6-18 17:17
本帖最后由 pxhb 于 2013-6-18 17:17 编辑
闲着无聊,发个简单源码,ZP早就被大牛们玩熟悉了, 此处省略一万字。。。。。
硬着头皮,还是来献下丑
前两天遇到个软件,VMP+ZP的,里面ZP1.4.9,外面又加了个VMP,常规处理方法可以脱了vmp(不需要修复),然后里面用脚本来Patch,这次这个有点特殊,vmp脱了以后
存在一些问题,小菜基础差,只好换个思路,其实这代码都是改的,两个核心部分都来自大牛 感谢y3y3y3和cektop两位前辈的思路
下面说下简单的思路:
用y3y3y3大牛的源码对于试用的可以,但没有试用的过了注册框就会出错,cektop大牛的稍微有一点点麻烦,综合两个前辈的思路,改进了一下
先Hook DialogBoxIndirectParamA,得到解码位置的地址,- mov eax,dword ptr [esp+24h]
- pushad
- sub eax,03C76h
- mov edx,DeCode149
- sub edx,eax
- sub edx,5
- mov byte ptr [eax],0E8h ;CALL
- mov dword ptr [eax+1],edx
- invoke WriteProcessMemory,hProcess,apidz,offset apibak,5,0
- popad
- mov eax,0232ch
- retn 14h
让那个地址CALL 到自己的dll,下面核心部分代码来自cektop大牛的源码- push ebp
- mov ebp,esp
- sub esp,10H
- lea eax,dword ptr ss:[ebp-10H]
- push eax
- push dword ptr ss:[ebp+14H]
- push dword ptr ss:[ebp+10H]
- mov edi,eax
- mov ecx,10H
- lea esi,Code
- rep movsb
- xor ecx,ecx
- cmp dword ptr ss:[ebp+0CH],ecx
- jle L024
- L011:
- mov eax,dword ptr ss:[ebp+8]
- mov edx,ecx
- add eax,ecx
- and edx,8000000FH
- jns L019
- dec edx
- or edx,0FFFFFFF0H
- inc edx
- L019:
- mov dl,byte ptr ss:[ebp+edx-10H]
- xor byte ptr ds:[eax],dl
- inc ecx
- cmp ecx,dword ptr ss:[ebp+0CH]
- jl L011
- L024:
- leave
- retn
小菜编程菜鸟,写的一般,大家不要笑话
有错误的地方欢迎指正
完整代码,修改解码串就可以了:
ZP1.4.9ByPass.rar
(2.38 KB, 下载次数: 525)
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|