YDLPK 可为key exe lpk打补丁 强大的patch工具
本帖最后由 qisisi 于 2011-4-5 07:47 编辑之所以YD,原因如下:
一. patch地址个数无限制,理论上可以无限添加.(只要你愿意)
二. patch长度无规定,想怎样patch 就怎样 patch.(当然最少也总要一个字节吧)
三. 只要patch的地址真实有效,理论上可以无视所有加壳的程序(反LPK除外)
四. patch DLL地址和个数无限制,理论上可以无限添加。
五. patch 进程 地址和个数无限制,理论上可以无限添加。
六. 寻找替换patch地址和个数无限制,理论上可以无限添加。
七. 一个另类的内存注册机。
八. 使用简单,无须懂编程.
以上几点未经暴力测试,或许会存在某些问题。觉得好用就加分支持一下,否则可以砖块、鸡蛋一起来。。
使用说明:
本LPK必须配合附带的hym.ini文件使用,使用前必须用 YDLPKEncrypt 加密。以附件程序中的ini文件为例
0=4 <---这个值 4 代表要执行的指令个数,因为下面要PATCH四个不同的地方
1=403966,2,0F84,403966,0F85 <--403966为校验地址,2为校验长度,0F84为校验值,403966为PATCH的地址,0F85为要PATCH的值
2=403CCC,2,0F84,403CCC,0F85 <--理解同上,如要PATCH的100个地方,则从1至100自行添加即可。
3=403DE6,2,0F84,403DE6,0F85
4=403EE8,2,0F84,403EE8,0F85
地址和值均为16进制,和OD中看到的是一样的,校验长度为10进制,长度可随意,但必须有相应位数的校验值。在校验值相等的情况下
才会PATCH数据,PATCH数据的长度无须与校验长度相同,长短随意。并且 PATCH 地址没规定和校验地址一样,就是说你可以校验A地址然后
PATCH到B地址
看到某人说现在的补丁工具都没条件PATCH的。不知这样算不算条件。
发短消息给偶的童鞋请不要花费UB了,有问题可以发我邮箱。可能有些朋友还不是很理解各个YD用法,在此再说明一下:
: 这两项适用在自身进程,可以同时使用,加载过程中会PATCH数据。
: 适用于跨进程PATCH,也可以说是防反LPK吧。当然也可以PATCH自身进程,和上面不同之处是要找到进程才会PATCH
。
可以和、 同时使用。
: 功能与 相同,不同的是搜索后再替换PATCH,并且替换值长度要和搜索值长度一致。
: 只用于捏软柿子,建议只作单一使用,因为混用可能会导致不可预知的错误。
----------------------------------------------- 2011.1.1 更新 ------------------------------------------
修正上一版本某些程序不能PATCH数据的BUG。
YDLPKEncrypt 新增把配置文件合并到LPK的功能,那样发布只须 LPK.DLL 即可。
注意:YDLPKEncrypt 处理配置文件后会在LPK目录下生成LPK.DLL,即你要的文件。
----------------------------------------------- 2010.9.21 更新 ------------------------------------------
添加寻找替换功能,可寻找替换PATCH自身和自身的DLL、跨进程的EXE。
同时简单的 ANTI 内存写入监视器。
用法举例:
0=3 <---这个值 3 代表要执行的指令个数
1=403460,100,0F84,0F85,1<---和的作用相同,403460为搜索开始地址,100为搜索范围(即从403460起搜索100字节
搜索范围最大值请自行测试,建议不要超超大)0F84为要寻找的值,0F85为要替换的值,
1 为替换次数。
2=DiskSerial.DLL,1A26,1000,E8D5FCFFFF,9090909090,1<---这与作用相同。DLL名,搜索开始偏移值,搜索范围,
寻找的值,替换的值,替换次数。
3=crackme.exe,403450,100,0F84,0F85,1 <---和作用相同,进程全名(区分大小写),搜索开始地址,搜索范围,
寻找的值,替换的值,替换次数。
----------------------------------------------- 2010.3.3 更新 ------------------------------------
看到GUC要离开,那就当送他的礼物吧加入他提出的取DLL中的注册码功能,祝GUC早日回来!
同时修正 csjwaman 老兄指正的当KEY值为空时仍有数据的BUG,多谢!
内存注册机取DLL注册码用法举例:
Key=10F1,E8,EAX,test.dll <---10F1为要获取注册码DLL的偏移值,E8 为该地址的首字节,EAX 为保存真正注册码的寄存器,
test.dll 为要取的DLL。与取EXE注册码不同的是多了最一个参数。
----------------------------------------------- 2010.2.28 元宵节 更新 ------------------------------------
添加了内存注册机功能,期间出现一个莫名其妙的问题,调试了两天,调试是很考耐心的事。可能是偶太菜了。
在准备放弃的时候作最后一次挣扎,没想到竞然解决了。
内存注册机用法举例:
Key=54E6E4,E8,EAX<---54E6E4为要获取注册码的地址,E8 为该地址的首字节,EAX 为保存真正注册码的寄存器,
寄存器共八个和刘健英的内存注册机一样。(EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP)
更详细例程请看这里:http://www.unpack.cn/viewthread.php?tid=46522&extra=
----------------------------------------------- 2010.1.27 更新 ------------------------------------
感谢davis7版主加精鼓励!让偶有更新的动力.
有人说数据全裸是遗憾,那就穿个内裤吧.来个加密版(使用前记得加密哦)
为了满足大家某些欲望,更新进程 patch 用法,现在可以锁定PATCH值了,举例中就是一个锁定系统自带扫雷游戏的雷个数.
应该就是FSlove说的功能吧.
修正GUC提出的BUG.
进程 patch 更新使用举例说明:
0=2 <---这个值 2 代表要执行的指令个数
1=winmine.exe,1005194,1,0A,64,1<---扫雷的进程名(区分大小写),校验地址,校验长度,校验值,PATCH值,是否锁定。
2=test1.exe,401198,2,6830,EBFE,0 <---理解同上,最后一个参数(1为锁定0为不锁定)锁定情况下会忽略校验值.
---------------------------------------- 2010.1.22 更新 ---------------------------------------------------------
加上了进程 patch,想YD就YD吧.别去做坏事就好.
进程 patch 使用举例说明:
0=2 <---这个值 2 代表要执行的指令个数
1=cm.exe,403462,2,0F84,0F85 <---进程名(区分大小写),校验地址,校验长度,校验值,PATCH的值。
2=cim_crackme.exe,4010D7,2,7516,9090 <---理解同上 进程必须已存在才会PATCH
------------------------------------------- 2010.1.19 更新 ----------------------------------------------------------
怕被打PP,所以马上加入DLL patch功能,多谢GUC的建议和支持。至于其它功能以后有时间加上,好玩的在后头~_~
DLL patch 使用说明:
0=2 <---这个值 2 代表要执行的指令个数
1=DiskSerial.DLL,1A26,2,E8D5,9090909090<--- DLL名,偏移值,校验长度,校验值,PATCH的值。
2=testdll.dll,102d,2,0f85,0f84 <---理解同上
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hym2008【UNPACK】 Email:h687@163.com ~_~ 二零一一元旦 ~_~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
沙发支持{:1_921:} 这个用过,效果不错。 更新很及时!收下。 谢谢很感激 用用试一试 好不好! 谢谢了! 回复 qisisi 的帖子
谢谢了 回复 qisisi 的帖子
这个怎么用啊。。。我打开了,。就一个DLL怎么用啊 不错 支持~~~