易语言按钮使用OD patch

本文介绍了一种使用PATCH方法修改特定条件下的按钮状态的技术。通过汇编语言中的OR指令操作ECX寄存器值来实现按钮的激活与禁用。特别地,文章详细解释了如何在非目标按钮的情况下保持原有程序流程不变,而对于标识符为48的目标按钮,则通过修改ECX值使其状态从禁用变为激活。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CreateWindowExA定位按钮创建处

关键代码:

81C9 00200044   or ecx,0x44002000///激活所有灰色按钮,则将or改成mov,一直赋值为真

or汇编:

1. 其中OPRD1,OPRD2含义与AND指令相同,对标志位的影响也与AND指令相同.

2. 两数相或,有一个数为真则值为真.

通过OR对ECX值进行计算。

禁止ecx=4C012F00假值

激活ecx=44012F00真值

此时EDI的值可看作按钮的标识

找一段空代码来PATCH

下列为PATCH:

00464F8A   .  83FA 48       cmp edI,48///当标识为48时
00464F8F   .  75 05         jnz Xcracked.00464F96//此跳转不跳
00464F91   .  B9 002F014C   mov ecx,0x4C012F00///赋值ecx为禁止
00464F96   >  81C9 00200044 or ecx,0x44002000///非48时则按程序正常流程走
00464F9C   .^ E9 2EFFF9FF   jmp cracked.00404ECF//回调原位置

版本 2 Copy Exception Exception Debug Event unionData GlobalSize Exception Exception 判断开始 Exception pExceptionRecord ExceptionCode = 十六到十 #Exception BreakPoint " int3断点 ExceptCount = ExceptCount + 1 是否单步 = 真 Exception BreakPoint 判断 Exception pExceptionRecord ExceptionCode = 十六到十 #Exception Single Step " 处于被单步调试状态 Exception Single Step 判断 Exception pExceptionRecord ExceptionCode = 十六到十 #Exception Access Violation " 读内存冲突 加入调试信息 “读内存冲突” 判断 Exception pExceptionRecord ExceptionCode = 十六到十 #Exception IN Page Error " 存取未存在的内存页 加入调试信息 “存取未存在的内存页” 判断 Exception pExceptionRecord ExceptionCode = 十六到十 #Exception Illegal InStruction " 执行非法指令 加入调试信息 “执行非法指令” 判断 Exception pExceptionRecord ExceptionCode = 十六到十 #Exception Stack OverFlow " 线程堆栈溢出 越界 加入调试信息 “线程堆栈溢出 越界” 判断 Exception pExceptionRecord ExceptionCode = 十六到十 #Exception NoContinueAble Exception " 不可持续异常 加入调试信息 “不可持续异常” "> 版本 2 Copy Exception Exception Debug Event unionData GlobalSize Exception Exception 判断开始 Exception pExceptionRecord ExceptionCode = 十六到十 #Exception BreakPoint " int3断点 ExceptCount = ExceptCount + 1 是否单步 = 真 Exception BreakPoint [更多]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值