众所周知,CE具备UltiMap功能。但我在使用它寻找游戏call时发现,在大型网络游戏中难以操作。后了解到UltiMap2利用了Intel 7代及以上CPU的指令追踪功能,性能大幅提升,但我尚未进行测试,期待有经验者分享。
关于UltiMap2的CE论坛讨论如下,供参考:https://forum.cheatengine.org/viewtopic.php?t=617888&sid=d47bf48a1ef38ad18559b2aa4a28332bhttps://www.cheatengine.org/forum/viewtopic.php?t=615155&sid=c8c148101beed8825e30cafebcf50781此外,以下技巧也很实用:https://www.cheatengine.org/forum/viewtopic.php?t=614097&sid=ca70f5fd6ac909d84da56d32248aa254
我想分享一个新思路:传统的中断/异常/硬断/软断方法性能开销大,表现不佳。是否考虑换种方法?我们可以在call内部使用inline hook统计call的调用次数,并进一步优化性能:
初始化时扫描所有call,对调用次数超过一定次数的call进行还原hook。通常,我们要找的call调用次数较少。为了提升性能,可以模仿CE的设计:不使用时关闭计次统计,仅在施放功能前开启,并在施放功能后关闭。然后再进行统计和过滤。
不使用技能时选择不增加调用计次的,再次进行统计和过滤。总之,类似于CE找数据思路。
这种思路我认为是可以应用于任何程序如(android ios)寻找功能函数的。
大家认为这个思路是否可行,我比较担心思路有方向性错误or实际表现比CE ultiMap2更糟糕.请大家提供宝贵建议,写好会开源
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
mudebug 10年前我记得都有人提供过这种思路了 hook的字节不足,你只能用cc作为断点。不然一个函数就2字节 那种你基本gg。 再有就是搞了cc就要过crc。完全鸡肋。 普通程序还可以,游戏搞了这个玩意 ...
hzqst 什么年代了还hook IPT了解一下
mb_itubdqgo 做过命令行工具,用的inline hook,主要是用来抓取特定调用频率的call的,也可以获取调用次数。可能有点小鸡肋