所属分类:免DVD补丁

大魔王様 添加于 2022-08-12 02:08:59

VB写的程序,和VC完全不一样,第一次改都不知道怎么下手,跑了几下看了下代码,发现了规律,VC写的程序直接就call到输入表dll上的函数上了,VB的则不一样。是call到程序本身的一个地址上,用PUSH寄存器,jmp寄存器,实现的。也就是说,输入表上找不到该函数,user32断不了,kernelbase可以断
明白了原理就好改了,首先断点GetDriveTypeA函数,F9直接到程序本身的一个call上,直接把callXXXXXXXX改成mov eax,0x5 因为是PUSH寄存器+jmp寄存器实现的调用,可以直接改不会爆堆栈。
然后再断点GetVolumeInformationA函数,因为这个返回的数值很长,直接改寄存器比较麻烦,所以还是F8一步步地看跳转以及寄存器上数值的变化,最后找到了一个关键跳转,jmp了,实现了免CD。

分享到:

下载说明:

  • 长效载点所需支付的积分,为系统动态计算生成,并非上传者设置。
    原因参见:此贴(结尾部分),以此为由攻击发布者的评论一律删除处理。
  • 存档类下载后解压缩到游戏安装路径下相关文件夹,覆盖同名文件即可!安全起见我们建议您备份原文件。
  • 免CD/DVD补丁类如果无特别使用说明,下载后解压缩到游戏安装目录下运行即可。
  • 本站资源全部采用 WinRAR v5.0 版压缩,下载后不能解压请安装 WinRAR v5.0+。
  • 本站下载不保证完全兼容手机端,部分浏览器(手机端、360等)可能无法正常下载本站资源。
  • 部分免CD/DVD补丁会被浏览器识别为有害程序拦截下载,取消拦截的方法参见 FAQ
  • 文件安全性评估仅供参考,2DFan无法承担您因依赖此报告结果,使用此文件所可能导致的各种形式的损害。
  • 如需投诉补丁未授权转载问题,请先阅读 相关说明 后,至 站务小组 开贴投诉。

全部评论

登陆 后方可回复, 如果您还没有账号请先 注册