精易论坛

标题: 求大佬,这段汇编代码怎么转易语言 [打印本页]

作者: GawrGura    时间: 2025-2-19 20:01
标题: 求大佬,这段汇编代码怎么转易语言
求大佬帮忙,如下所示


[ENABLE]
"cshell.dll"+200:
vaule:
dd (float)1000000000.0

"cshell.dll"+A8C05E:
fld dword ptr [cshell.dll+200]
nop

[DISABLE]
"cshell.dll"+A8C05E:
fld dword ptr [ebp+eax*4+00000E58]


作者: 黑蟑螂    时间: 2025-2-19 20:35
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
原始字节码字节集  
进程ID整数型  
jz整数型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
进程ID = 进程_名取ID ("game.exe")  ' 精易模块
jz = 进程_取模块jz (进程ID, "cshell.dll")  ' 精易模块
子程序名返回值类型公开备 注
_按钮启用_被单击  
变量名类 型静态数组备 注
浮点数地址整数型 
修改地址整数型 
浮点数值小数型 
新指令字节集 
' 计算内存地址
浮点数地址 = jz + 到整数 ("200", 16)  ' 注意十六进制转换
修改地址 = jz + 到整数 ("A8C05E", 16)
' 构造新指令:fld dword ptr [cshell.dll+200] + nop
新指令 = { 217, 5 }到字节集 (浮点数地址){ 144 }  ' fld指令占6字节,nop占1字节
' 写入浮点数值
浮点数值 = 1000000000.0
写内存小数型 (进程ID, 浮点数地址, 浮点数值)  ' 超级模块
' 备份原始指令并写入新指令
原始字节码 = 读内存字节集 (进程ID, 修改地址, 7)  ' 精易模块
写内存字节集 (进程ID, 修改地址, 新指令)
子程序名返回值类型公开备 注
_按钮禁用_被单击  
变量名类 型静态数组备 注
修改地址整数型 
修改地址 = jz + 到整数 ("A8C05E", 16)
' 恢复原始指令
写内存字节集 (进程ID, 修改地址, 原始字节码)


i支持库列表   支持库注释   
Efne(未知支持库)
    [color=rgba(0, 0, 0, 0.9)]代码说明:
[color=rgba(0, 0, 0, 0.9)]注意:实际使用时需要根据具体进程信息调整:


作者: xdxf2000    时间: 2025-2-19 21:03
本帖最后由 xdxf2000 于 2025-2-19 21:07 编辑

模块jz获取:
◦ 使用 CreateToolhelp32Snapshot 和 Module32First/Next 遍历进程模块,匹配 cshell.dll获取基地址。
2. 地址计算:
◦ 修改地址 = 模块jz + A8C05E
◦ 地址_200 = 模块jz + 200
3. 机器码构造:
◦ ENABLE: fld dword ptr [绝对地址] 对应机器码 D9 05 + 四字节地址(小端) + nop(90)
◦ DISABLE: 原指令机器码 D8 84 80 58 0E 00 00
4. 内存修改:
◦ 使用 VirtualProtectEx 修改内存保护属性为可写。
◦ 写内存字节集 写入构造好的机器码。
◦ 恢复原内存保护属性。

作者: mjw001    时间: 2025-2-19 21:38
66666666666666666666666666666666
作者: GawrGura    时间: 2025-2-20 11:04
黑蟑螂 发表于 2025-2-19 20:35
[e=1].版本 2
.支持库 Efne
.程序集 窗口程序集_启动窗口

感谢大哥这是亲手写的嘛还是生成的,大哥
作者: 黑蟑螂    时间: 2025-2-20 11:24
1355301564 发表于 2025-2-20 11:04
感谢大哥这是亲手写的嘛还是生成的,大哥

我自己创建的智能体生成的,还给你贴了地址
作者: GawrGura    时间: 2025-2-20 11:26
黑蟑螂 发表于 2025-2-20 11:24
我自己创建的智能体生成的,还给你贴了地址

大哥牛逼




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4