发表于 2023-7-29 00:00:00

把易语言源码修改为C++代码

<p></p>
<p>32dbg可以在重新载入程序后,还能断在DLL的0x1168偏移处,但是OD就死活断不下来。<br /><br />现在我要让OD断下来,之前有大佬帮写过一个易语言源码的,当时并没有具体细看,而且不懂易语言。<br /><br />今天试着把易语言版本的改成C++版本的,结果不成功,肯定是哪里没有写对。也不知道哪里有问题,<br />而且有一个地方是根本就看不明白。<br /><br />.版本 2<br /><br />&nbsp; &nbsp; mem.写整数 (g_Pid, 进制_十六到十 (&ldquo;4D8D70&rdquo;), addr, 2)<br />&nbsp; &nbsp; mem.写整数 (g_Pid, 进制_十六到十 (&ldquo;4D8D78&rdquo;), 1, 1)&nbsp;&nbsp;' 类型<br />&nbsp; &nbsp; mem.写整数 (g_Pid, 进制_十六到十 (&ldquo;4D8D74&rdquo;), 1, 1)<br /><br /><br />这一段根本就不明白到底是怎么回事,4D8D70,4D8D78,4D8D74从哪里来的?<br />如这一句,mem.写整数 (g_Pid, 进制_十六到十 (&ldquo;4D8D70&rdquo;), addr, 2)<br />最后一个参数是2,看帮助2代表是长整型,长整型是8个字节啊。 是不是不太合理?<br />1代表是整型,还能说得过去。<br /><br />而且还有一个,就是这个源码在win7,win10上测试管用,但是在xp上是断不下来的,如何修复一下,<br />使其在xp,win7,win10上都管用?<br /><br />里面有录像,可以看到在win7 x64虚拟机里成功了,在win10上也测试过了,也管用。<br /><br />要说明的是:<br />必须使用吾爱OD,打包里已经提供。(针对本代码的话,估计必须要使用吾爱OD吧,如果原理搞懂了,改改代码改别的OD应该也一样)<br /><br />(之前易语言提供者回复如下:)<br />那个PID就是吾爱OD的进程pid<br />测试的话,需要满足下面几个条件。<br />1.必须要吾爱的OD且这个版本建议是爱盘里面的OD<br />2.如果是win7,这个strongOD插件我记得会把进程隐藏了,记得先取消掉这个插件设置的内容,避免测试的时候可能会导致不必要的麻烦。<br />(不过经我测试,win7,win10都不用设置。XP上要把strongod去掉一下)<br />注意的是:<br />你测试过程中,请注意查看OD里面的硬断是否有正常写入,如果没有写入,可能是以下原因导致的:<br />1.OD版本不对<br />2.进程PID不对<br /><br /><br />链接:<br /><span style="color: #e03e2d;"><a style="color: #e03e2d;" href="https://cowtransfer.com/s/fb833c1274164a" target="_blank" rel="noopener">https://cowtransfer.com/s/fb833c1274164a</a></span></p>
页: [1]
查看完整版本: 把易语言源码修改为C++代码