开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 340|回复: 4
收起左侧

[易语言] 有没有大佬会汇编

[复制链接]
结帖率:44% (4/9)
发表于 2025-10-21 14:35:34 高大上手机用户 | 显示全部楼层 |阅读模式   广东省广州市
10精币

有没有大佬会汇编写法,下面这种怎么写
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(JmpHer)
label(IfFile)
label(exit)
label(AddBase)
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+100],eax
push esi
xor esi,esi
mov esi,1
JmpHer:
push esi
call [GetEditcByInx]// 69 C1 68 03 00 00 03 05
add esp,04
test eax,eax
je IfFile
cmp [eax+80],0
je IfFile
cmp [eax],0
jne IfFile
cmp eax,[newmem+100]
je IfFile
cmp [newmem+100],0
je IfFile
mov edx,[newmem+100]
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,20
jne JmpHer
exit:
pop esi
jmp returnhere

AddBase:
dd 42480000
GetEditcByInx:
dd "hw.dll"+5FA080
"hw.dll"+560002:
jmp newmem
returnhere:

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"hw.dll"+560002:
call eax
add esp,08


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值

结帖率:100% (1/1)

签到天数: 2 天

发表于 2025-10-21 15:02:23 | 显示全部楼层   江西省南昌市
[ENABLE]
alloc(newmem,1024)  // 减小内存分配
label(returnhere)
label(originalcode)
label(JmpHer)
label(IfFile)
label(exit)
label(AddBase)
label(GetEditcByInx)

newmem:
originalcode:
    call eax
    add esp, 08
    push 1
    call [GetEditcByInx]
    add esp, 04
    mov [newmem+100], eax
    push 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+100]
    je IfFile
    cmp [newmem+100], 0
    je IfFile
    mov edx, [newmem+100]
    movss xmm1, [AddBase]    ; 预加载常量
    movss xmm0, [edx+8C]
    addss xmm0, xmm1
    movss [eax+8C], xmm0
    movss xmm0, [edx+90]
    addss xmm0, xmm1         ; 复用 xmm1
    movss [eax+90], xmm0
    movss xmm0, [edx+94]
    addss xmm0, xmm1         ; 复用 xmm1
    movss [eax+94], xmm0
IfFile:
    inc esi
    cmp esi, 20
    jne JmpHer
exit:
    pop esi
    jmp returnhere

AddBase:
    dd 42480000              ; 50.0 的浮点表示
GetEditcByInx:
    dd "hw.dll"+5FA080

"hw.dll"+560002:
    jmp newmem
    nop                      ; 可选:对齐指令
returnhere:

[DISABLE]
dealloc(newmem)
"hw.dll"+560002:
    call eax
    add esp, 08
回复

使用道具 举报

结帖率:100% (1/1)

签到天数: 1 天

发表于 2025-10-21 15:07:03 | 显示全部楼层   四川省泸州市
有偿可以加我
回复

使用道具 举报

结帖率:96% (148/154)
发表于 2025-10-21 20:49:30 | 显示全部楼层   河南省濮阳市
.版本 2 .程序集 窗口程序集1 .程序集变量 内存块, 字节型, , "2048" .程序集变量 返回地址, 整数型 .程序集变量 原始代码地址, 整数型 .程序集变量 跳转地址, 整数型 .程序集变量 文件检查地址, 整数型 .程序集变量 退出地址, 整数型 .程序集变量 基地址, 整数型 .程序集变量 获取编辑内容地址, 整数型 .程序集变量 新内存, 字节型, , "2048"  .子程序 __启动窗口_创建完毕 内存块 = 取空白内存块(2048) 返回地址 = 取程序集变量(取现行模块(), 返回地址) 原始代码地址 = 取程序集变量(取现行模块(), 原始代码地址) 跳转地址 = 取程序集变量(取现行模块(), 跳转地址) 文件检查地址 = 取程序集变量(取现行模块(), 文件检查地址) 退出地址 = 取程序集变量(取现行模块(), 退出地址) 基地址 = 取程序集变量(取现行模块(), 基地址) 获取编辑内容地址 = 取程序集变量(取现行模块(), 获取编辑内容地址) 新内存 = 取空白内存块(2048)  .子程序 获取编辑内容 .参数 索引, 整数型 .局部变量 编辑内容, 字节型 编辑内容 = 取空白内存块(4) 获取编辑内容 = 取DLL函数("hw.dll", "GetEditcByInx", 取变量地址(编辑内容)) 返回 = 编辑内容[1]  .子程序 修改内存 .参数 索引, 整数型 .局部变量 编辑内容, 字节型 编辑内容 = 取空白内存块(4) 获取编辑内容 = 取DLL函数("hw.dll", "GetEditcByInx", 取变量地址(编辑内容)) 如果编辑内容[1] ≠ 0     如果编辑内容[2] ≠ 0         如果编辑内容[3] ≠ 0             如果编辑内容[4] ≠ 0                 如果编辑内容[1] ≠ 取程序集变量(取现行模块(), 新内存[100])                     如果取程序集变量(取现行模块(), 新内存[100]) ≠ 0                         编辑内容[1] = 取程序集变量(取现行模块(), 新内存[100])                         编辑内容[2] = 取程序集变量(取现行模块(), 新内存[101])                         编辑内容[3] = 取程序集变量(取现行模块(), 新内存[102])                         编辑内容[4] = 取程序集变量(取现行模块(), 新内存[103])                         编辑内容[1] = 编辑内容[1] + 取程序集变量(取现行模块(), 基地址)                         编辑内容[2] = 编辑内容[2] + 取程序集变量(取现行模块(), 基地址)                         编辑内容[3] = 编辑内容[3] + 取程序集变量(取现行模块(), 基地址)                         编辑内容[4] = 编辑内容[4] + 取程序集变量(取现行模块(), 基地址)
回复

使用道具 举报

结帖率:60% (3/5)
发表于 2025-10-22 18:55:11 | 显示全部楼层   内蒙古自治区乌兰察布市
代码太多了。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表