Delphi换脏器手术续集~~
本帖最后由 冥界3大法王 于 2020-7-16 09:44 编辑几年前吧,有个Delphi组件,那啥就是产生更漂亮皮肤效果的。
你要是不注册编译一个EXE就会出来个这东西~~
我们的修改目的是这样的:
1,第一替换key文件(传统方法,使之不出来)这个当年已经做到了
2,使编译后的EXE资源文件中不加载这部分垃圾,不然每次就多了几百K
3,修改工程文件,使之从根上解决,得到一劳永逸的效果(每次都NOP一次,烦不烦,就算整个通杀补丁也是不彻底是块心病啊~~)
好吧,费话说完,开干~~
通过官方原版EXE输出的资源,我们幸运的看到了KEY
那还等什么? 改呗~~
接着改~~
这里有个垃圾提示,等什么删除掉~~
接下来我们编译一个EXE
很容易定位到以上代码~~
再用TC搜索下提示文本
很容易知道由:uXXXXXXComm.dcu 和XXXXXXXXSkinVCLRio.bpl 产生的
80 3D 8C FA 6C 00 00 75 10 A1 90 FA 6C 00
}=====>我们将得到以下两组特征码:
80 3D 34 C3 6C 00 00 75 10 A1 38 C3 6C 00
80 3D?? ??6C 00 00 ▲10 A1 ?? C3 6C 00 ▲为要修改的地方!
这台机器未安UltraEdit,而WinHEX不支持模糊搜索,就活人找算了。{:301_971:}
经过实践证明,我们修改bpl文件,毫无作用!
通过试验,我们把提示字头修改下,就知道原来罪魁祸首源于uXXXXXXComm.dcu 这个文件!
但是这个文件,你无法使用Ollydbg/x32dbg/w32dasm/HIEW 等工具打开。 也就无法直接看到前后的逻辑关系了
最后我们一行一行的找和测试发现了目标,修改后。
Delphi 10.3.3编译时会提示控件无法载入(第1 次)忽略掉后,
我们就愉快的进入界面了,烦人的提示也走人啦~~(并且当年的遗憾:编译生成的EXE中含有垃圾信息资源的问题也彻底解决了。)
或许是新版本Key文件改变了,以前的方法没能成功。但是,我们从源头彻底根治了。
这组件能生成透明皮肤效果,@涛之雨咱家的软件有救了。 本帖最后由 冥界3大法王 于 2020-7-14 12:35 编辑
这次改的是2020年6月份编译的,这次从根本上解决彻底了。
故事最终可以画上句号了。
64位的版本,大家可以自行测试和学习。
我去,这马赛克打的真失败。{:301_1008:} 本帖最后由 romobin 于 2020-7-16 11:47 编辑
测试了这种方式跳过验证部分还是有问题的 不完美,还需要更好的方式
##不好意思 , 前面没有替换key做测试 只是patch了 dcu文件 导致皮肤部分不正常
后面替换key之后正常了 再次感谢楼主付出 Delphi 很久没听过这个名字了 Delphi7.0 以前用过,还写了个小东西。 不知道咋回事,论坛的艾特总是无效。。。
虽然看不懂,但的确是个高手 RES里放入一组注册版KEY就行了,新版本替换下RES。 法王和涛哥整了啥软件?{:301_1003:} Delphi 真的很久没听过这个名字了 刚试了回来的 最新的4.5确定可用 楼主V5