dzscuz 发表于 2024-4-10 00:17

请问64位汇编如何取长度呢?

请问64位汇编如何取长度呢?汇编代码如下,我想计算取出HOOK的代码长度,但是论坛上的取汇编代码长度,好像都取得不对。

user.dll+2A7F0 - 48 83 EC 38         - sub rsp,38 { 56 }
user.dll+2A7F4 - 4C 8B 54 24 60      - mov r10,
user.dll+2A7F9 - 48 83 F9 FC         - cmp rcx,-04 { 252 }


请问各位大神,有没有取指定地址的64位汇编长度的易语言代码呢?

huangmo1 发表于 2024-4-10 08:34

可以看一下MinHook的源码里面有

罗曼罗兰 发表于 2024-4-10 11:39

.常量 字节码文本 列表常量型
字节码文本 = ["48 83 EC 38", "4C 8B 54 24 60", "48 83 F9 FC"]

.变量 总长度 整数型
总长度 = 0

.循环 遍历 字节码文本 到 .局部变量 单条指令 文本型
    .变量 指令长度 整数型
    指令长度 = (取文本长度(替换文本(单条指令, " ", "")) / 2)
    总长度 = 总长度 + 指令长度
.结束循环

输出调试文本("总长度:" + 转文本(总长度))
这样?

dzscuz 发表于 2024-4-10 17:20

huangmo1 发表于 2024-4-10 08:34
可以看一下MinHook的源码里面有

请问MinHOOK的源码在哪里?

dzscuz 发表于 2024-4-10 17:21

罗曼罗兰 发表于 2024-4-10 11:39
.常量 字节码文本 列表常量型
字节码文本 = ["48 83 EC 38", "4C 8B 54 24 60", "48 83 F9 FC"]



不是呢,是需要判断指定地址的汇编代码长度

huangmo1 发表于 2024-4-10 21:30

dzscuz 发表于 2024-4-10 17:20
请问MinHOOK的源码在哪里?

github里搜一下
页: [1]
查看完整版本: 请问64位汇编如何取长度呢?