精易论坛

标题: 求CE自动汇编转易语言写法 [打印本页]

作者: c36khz    时间: 2025-5-3 13:43
标题: 求CE自动汇编转易语言写法
CE的自动汇编脚本转易语言写法,求完整写法或者源码例子,不要CEAA自动汇编,完全没用的东西,就不好来!
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(JmpHer)
label(IfFile)
label(exit)
label(gop)
label(monster_entity_text)
label(func_)
label(Cycler_)
label(AddBase)
label(MyEditc)
label(P_Editc)
label(GetEditcByInx)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
call eax
add esp,08
push 1
call [GetEditcByInx]
add esp,04
mov [newmem+300],eax
push esi
xor esi,esi
mov esi,1
JmpHer:
push esi
call [GetEditcByInx]
add esp,04
test eax,eax
je IfFile
cmp [eax+80],0
je IfFile
cmp [eax],0
jne IfFile
cmp eax,[newmem+300]
je IfFile
cmp [newmem+300],0
je IfFile
cmp [eax+84],0
je IfFile
mov [newmem+304],eax
mov ecx,[gop]
mov ecx,[ecx]
mov ecx,[ecx+00000098]
add ecx,[eax+84]
push ecx
lea ecx,[monster_entity_text]
push ecx
call strcmp
add esp,08
test eax,eax
je IfFile
mov eax,[newmem+304]
mov ecx,[gop]
mov ecx,[ecx]
mov ecx,[ecx+00000098]
add ecx,[eax+84]
lea edx,[func_]
push edx
push ecx
call strstr
add esp,08
test eax,eax
jNe IfFile
mov eax,[newmem+304]
mov ecx,[gop]
mov ecx,[ecx]
mov ecx,[ecx+00000098]
add ecx,[eax+84]
lea edx,[Cycler_]
push edx
push ecx
call strstr
add esp,08
test eax,eax
jNe IfFile
mov eax,[newmem+304]
mov edx,[newmem+300]
movss xmm0,[edx+8C]
movss xmm1,[AddBase]
addss xmm0,xmm1
movss [eax+8C],xmm0
movss xmm0,[edx+90]
movss xmm1,[AddBase]
addss xmm0,xmm1
movss [eax+90],xmm0
movss xmm0,[edx+94]
movss xmm1,[AddBase]
addss xmm0,xmm1
movss [eax+94],xmm0
IfFile:
inc esi
cmp esi,1000
jne JmpHer
exit:
pop esi
jmp returnhere

AddBase:
dd 42C80000
gop:
dd "mp.dll"+1615D90
MyEditc:
dd 0
P_Editc:
dd 0
GetEditcByInx:
dd "hw.dll"+5FA080
monster_entity_text:
db 70 6C 61 79 65 72 00
func_:
db 66 75 6E 63 5F 00
Cycler_:
db 63 79 63 6C 65 72 5F 00
"hw.dll"+560002:
jmp newmem
returnhere:

"hw.dll"+560002:
call eax
add esp,08

dealloc(newmem)


作者: 花辞    时间: 2025-5-3 14:31
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
进程ID整数型  
jzhw整数型  
jzmp整数型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
进程ID = 取进程ID ("game.exe")  ' 修改为目标进程名
jzhw = 取模块jz (进程ID, "hw.dll")
jzmp = 取模块jz (进程ID, "mp.dll")
子程序名返回值类型公开备 注
注入代码  
变量名类 型静态数组备 注
内存地址整数型 
写入数据字节集 
钩子地址整数型 
旧保护整数型 
' 计算关键地址
钩子地址 = jzhw + 十六进制 ("560002")
GetEditcByInx地址 = jzhw + 十六进制 ("5FA080")
gop地址 = jzmp + 十六进制 ("1615D90")
' 构建机器码(示例片段)
写入数据 = { 144, 144, 144, 144, 144 }  ' 这里需要替换为实际机器码
' 使用专业工具将汇编代码转换为字节集
' 分配内存
内存地址 = 虚拟内存分配Ex (-1, 2048, #MEM_COMMIT, #PAGE_EXECUTE_READWRITE )
' 写入数据
写内存字节集 (进程ID, 内存地址, 写入数据)
' 修改钩子
VirtualProtectEx_ (进程ID, 钩子地址, 5, #PAGE_EXECUTE_READWRITE, 旧保护)
写内存字节集 (进程ID, 钩子地址, { 233 }到字节集 (内存地址 - 钩子地址 - 5) )
VirtualProtectEx_ (进程ID, 钩子地址, 5, 旧保护, 0)
子程序名返回值类型公开备 注
取模块jz整数型 
参数名类 型参考可空数组备 注
进程ID整数型
模块名文本型
变量名类 型静态数组备 注
模块句柄整数型 
模块信息MODULEENTRY32 
进程快照_取模块 (进程ID, 模块名, 模块信息)
返回 模块信息.modBaseAddr
子程序名返回值类型公开备 注
内存操作  
' 此处实现坐标修改逻辑
变量名类 型静态数组备 注
当前实体整数型 
基地址整数型 
坐标偏移整数型 
基地址 = 读内存整数 (进程ID, gop地址)
计次循环首 (1000, i)
当前实体 = 调用函数 (GetEditcByInx地址, i)
如果真 (当前实体 ≠ 0)
坐标偏移 = 读内存整数 (进程ID, 当前实体 + 十六进制 ("84"))
' 字符串比较逻辑需通过ReadProcessMemory实现
' 坐标修改操作:
写内存小数 (进程ID, 当前实体 + 十六进制 ("8C"), 读内存小数 (...) + 100)

计次循环尾


i支持库列表   支持库注释   
spec特殊功能支持库


作者: 背靠背拥抱    时间: 2025-5-3 15:06
CE脚本汇编转易语言很简单,只是繁琐罢了,模版不能通用,CEAA自动汇编也就搞搞简单的.....去定制区分分钟完成了
作者: 一C    时间: 2025-5-3 18:11
1.申请内存 2.读字节集  3.写字节集
作者: 谁的坏叔叔    时间: 2025-5-3 19:57
有偿加我
作者: Eeinl    时间: 2025-5-3 22:08
这是改了多少条内存地址啊




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