TA的每日心情 | 郁闷 2024-9-8 23:36 |
---|
签到天数: 30 天 [LV.5]常住居民I
|

楼主 |
发表于 2023-6-27 19:06:04
|
显示全部楼层
本帖最后由 xDbg 于 2023-6-27 19:09 编辑
引用:特征码 83 78 18 02 如何patch呢,机器码长度.
83 78 18 02 cmp dword ptr ds:[eax+0x18], 0x2
7C 5F jl 0x0042CC4F
可以看到机器码长度<5 无法进行 32 位的 inline hook。jl 跳转指令,X64Dbg提供的指令帮助如下:jump short if less/not greater (sf != of)
意思是 sf != of 标志位就跳转,而我们要做的就是让 sf = of(不跳转走向正确功能)。而一般指令影响的标志位多为zf,cf。所以一般情况下 sf 标志位默认与 of标志位相等
我的解决方案就是,直接对 cmp dword ptr ds:[eax+0x18], 0x2 指令进行 nop ,让 sf = of即可完成补丁 patch。
希望这个答案对你有帮助,即使它不严谨。:D
不提供现成补丁。
|
|