易语言置入代码是什么

易语言置入代码是什么,第1张

置入代码是易语言核心支持库的其他命令,该命令在编译后文件代码段中当前语句位置置入指定的机器指令码数据。具体来说易语言中的置入代码实际上是置入X86指令的片段,置入的代码被当做机器指令执行,类似于其他语言里的嵌入汇编。你在哪个地方调用置入代码,他就能自动算出代码所在的段地址和偏移地址,然后把数据写入。而写内存文本型之类的命令是通过调用api函数来实现的。

就是汇编用的,比如OD爆破2个空指令(nop),就是

置入代码([114,114])

'114二进制就是ONP

空指令

可以用来做OD破解补丁外挂写字节集什么的

参数名称为“代码数据”,数据类型为“通用型(all)”,所处语句为“置入代码”。注明:欲置入到代码段中的机器指令码数据,可以是字节集数据或二进制文件名文本。

置入代码

置入代码是易语言核心支持库的其他命令,该命令在编译后文件代码段中当前语句位置置入指定的机器指令码数据。

英文名称:MachineCode

*** 作系统需求: Windows、Linux

目录• “置入代码”调用格式

• “置入代码”命令解释

• “置入代码”命令例程

“置入代码”调用格式编辑本段回目录

〈无返回值〉 置入代码 (参数<1>)

“置入代码”命令解释编辑本段回目录

参数位置参数名类 型必要性描 述

参数<1> 代码数据通用型必需的欲置入到代码段中的机器指令码数据,可以是字节集数据或二进制文件名文本。

易语言中的置入代码实际上是置入X86指令的片段,置入的代码被当做机器指令执行,类似于其他语言里的嵌入汇编。置入代码实际上是将汇编代码编译成机器指令的二进制后数据。如 汇编中nop(10010000)是空 *** 作指令,在易语言中这样表示 置入代码({144})nop 的16进制是90 而144是10进制的,也就是说易语言的置入代码是置入机器码的10进制文本。

“置入代码”命令例程编辑本段回目录

mov eax,[ebp+8]第一个参数

sub eax,dword ptr[ebp+C]第二个参数,运算结果放在eax

leave

retn 8因为有两个参数,所以有8个字节

置入代码({139,69,8,43,69,12,201,194,8,0})

----------------------------------------------------------------------

mov eax,[ebp+8]第一个参数

sub eax,dword ptr[ebp+C]第二个参数,运算结果放在eax

leave

直接这样写也是可以的,易语言会自己在子程序结尾带上平栈. 不平栈就返回 会导致游戏崩溃。

最后的实际上省略了以下内容

mov esp,ebp

pop ebp

retn (上层参数个数x4) '4不是固定的..因为整数参数占4个字节.

实际 *** 作中你会发现,即使retn后不跟值也是不会产生问题,http://book.5a5x.com/index.php?doc-view-213

你好,场面话我不太会说索性也就不说了。直奔主题,如题。易语言做穿越火线辅助。

我不同意那位热心网友的说法,穿越火线会更新这是事实,但是辅助做好了系统不会自动更新的,动态数据应该是他口中的一级基址吧。可以通过偏移来获取二级基址。辅助也可以自动更新,免费辅助除外。

做辅助,说容易也容易说难也不难,首先你要学会基本知识。不然很难理解辅助的思路。

对于辅助的基本思路,用超级模块比较容易,接下来就用CE去游戏搜索内存基址。

写程序代码

.版本 2

.程序集 基址更新

.子程序 基地址初始化

置入代码 ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 }) ' VMP过程加密开始

DIRECT = 十六到十 (“7240B0”)

玩家数组 = 十六到十 (“19B5204”)

数组大小 = 十六到十 (“448”)

本人ID = 十六到十 (“64E8”)

FOV = 十六到十 (“26906f8”)

模式基址 = 十六到十 (“19B2748”)

是否为生化 = 十六到十 (“347E8”)

dx_pos = 十六到十 (“71E674”)

本人偏移 = 十六到十 (“70”)

鼠标Y偏移 = 十六到十 (“360”)

鼠标Y偏移_j = 十六到十 (“ABC”)

OBJECT = 十六到十 (“64F0”)

xpdx = 十六到十 (“714848”)

xp01 = 十六到十 (“1B0”)

xp02 = 十六到十 (“89501024”)

xp03 = 十六到十 (“44”)

v_解密1 = 十六到十 (“53ECFF0”)

v_解密2 = 十六到十 (“50DC430”)

w_hook = 十六到十 (“5421864”)

自瞄检测 = 十六到十 (“53EAA48”)

自瞄检测1 = 十六到十 (“53EB098”)

' -------------------

线程 = 十六到十 (“300EB00”)

游戏检测线程 = 十六到十 (“4042e21”)

置入代码 ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 })

.版本 2

.程序集 辅助界面

.程序集变量 old_, 整数型

.程序集变量 本人的数据, 本人数据

.程序集变量 aac, 整数型

.程序集变量 文本行距, 整数型

.程序集变量 方框, 坐标XX

.程序集变量 字体, 坐标XX

.程序集变量 键速, 整数型

.程序集变量 选中, 整数型

.程序集变量 文本变量, 文本型, , "50"

.子程序 DLL是否加载, 逻辑型

.局部变量 a, 整数型

.局部变量 挂接, 整数型

.局部变量 b, 整数型

置入代码 ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 }) ' VMP过程加密开始

.判断循环首 (a < 1000)

a = get_old ()

Sleep (2000)

b = b + 1

.如果真 (b > 10)

返回 (假)

.如果真结束

.判断循环尾 ()

内存 *** 作f.修改内存属性 (a, 64, 4)

old_ = 读_DWORD2 (a)

显示菜单 = 真

写_DWORD2 (a, 取子程序真实地址_f (&my_地址))

返回 (真)

置入代码 ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 }) ' VMP过程加密结束

.子程序 刷新变量文本

区域内瞄准 ()

.判断开始 (新自瞄位置 = 6)

瞄准位置 = “头部”

.判断 (新自瞄位置 = 5)

瞄准位置 = “胸部”

.判断 (新自瞄位置 = 4)

瞄准位置 = “上腰”

.判断 (新自瞄位置 = 3)

瞄准位置 = “中腰”

.判断 (新自瞄位置 = 2)

瞄准位置 = “屁股”

.默认

.判断结束

.判断开始 (瞄准范围 = 0)

范围文本 = “零度”

.判断 (瞄准范围 = 2)

范围文本 = “超大”

.判断 (瞄准范围 = 4)

范围文本 = “中型”

.判断 (瞄准范围 = 8)

范围文本 = “小型”

.判断 (瞄准范围 = 16)

范围文本 = “微型”

.默认

.判断结束

.子程序 get_old, 整数型, , D3Djiekou

.局部变量 a, 整数型

置入代码 ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 }) ' VMP过程加密开始

a = 读_DWORD2 (DIRECT)

.如果真 (a > 1000)

a = 读_DWORD2 (a)

.如果真 (a > 1000)

.如果 (读_DWORD2 (a + 十六到十 (“2a20”)) < 1000)

a = 读_DWORD2 (a + 十六到十 (“2ac0”))

.否则

a = 读_DWORD2 (a + 十六到十 (“2a20”))

.如果结束

.如果真 (a > 1000)

.如果真 (a > 1000)

a = 读_DWORD2 (a)

.如果真 (a > 1000)

a = a + 十六到十 (“4c”)

返回 (a)

.如果真结束

.如果真结束

.如果真结束

.如果真结束

.如果真结束

置入代码 ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 }) ' VMP过程加密结束

返回 (0)

.子程序 汇编取变量_DECLARE_INTERFACE_, 整数型

.参数 a, DECLARE_INTERFACE_, 参考

置入代码 ({ 93, 139, 68, 36, 4, 194, 4, 0 })

返回 (0)

.子程序 my_地址, 整数型

.参数 a, 整数型

.局部变量 ss, 整数型

置入代码 ({ 137, 77, 252 })

置入代码 ({ 96 })

小转移 (ss)

置入代码 ({ 97 })

返回 (call_1 (old_, a))

.子程序 变量初始化, , , -

置入代码 ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 }) ' VMP过程加密开始

文本变量 [1] = “敌人方框 ”

文本变量 [2] = “队友方框 ”

文本变量 [3] = “瞄准模式 ”

文本变量 [4] = “瞄准位置 ”

文本变量 [5] = “瞄准范围 ”

文本变量 [6] = “ ↓变态类↓ ”

文本变量 [7] = “显示名称 ”

文本变量 [8] = “显示 Q Q ”

文本变量 [9] = “显示准星 ”

文本变量 [10] = “显示血量 ”

文本变量 [11] = “智能瞄准 ”

文本变量 [12] = “右键自瞄 ”

文本变量 [13] = “无后坐力 ”

文本变量 [14] = “子d穿墙 ”

文本变量 [15] = “零秒换d ”

文本变量 [16] = “↓人物透视↓ ”

文本变量 [17] = “内存透视 ”

文本变量 [18] = “人物加亮 ”

文本变量 [39] = “ 【One 游戏插件】 ”

文本变量 [40] = “◆___________◆”

文本变量 [41] = “ F9键 切换瞄准头\胸”

文本变量 [42] = “F12键 菜单显示\关闭”

文本变量 [43] = “↑↓选择←→开启”

' ==============================================颜色

橙色 = D3DCOLOR_ARGB (255, 255, 128, 0)

深粉红 = D3DCOLOR_ARGB (255, 255, 0, 0)

白色 = D3DCOLOR_ARGB (255, 255, 255, 255)

灯光粉红 = D3DCOLOR_ARGB (255, 255, 182, 193)

橘红 = D3DCOLOR_ARGB (255, 255, 0, 143)

芙红 = D3DCOLOR_ARGB (255, 255, 128, 192)

绿色 = D3DCOLOR_ARGB (255, 0, 255, 0)

蓝色 = D3DCOLOR_ARGB (255, 0, 0, 255)

石板蓝 = D3DCOLOR_ARGB (255, 30, 144, 255)

黄色 = D3DCOLOR_ARGB (255, 255, 255, 0)

暗紫色 = D3DCOLOR_ARGB (255, 218, 112, 214)

幽灵白 = D3DCOLOR_ARGB (255, 248, 248, 255)

' ==============================================颜色

选中 = 1

文本行距 = 20

方框.X = 5

方框.Y = 5

方框.Z = 350

字体.X = 12

字体.Y = 3

字体.Z = 20

字体.zs = 10

全局菜单开 = 绿色

全局菜单关 = 幽灵白

免疫手雷关 = 绿色

置入代码 ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 }) ' VMP过程加密结束

.子程序 小转移, , , -

.参数 a, 整数型

pd = 读_DWORD2 (汇编加法 (a, 32))

写_DWORD2 (汇编取变量_DECLARE_INTERFACE_ (pDevice.IDirect3DDevice9), 读_DWORD2 (pd))

GetViewport_UP (pd)

.如果 (显示菜单)

绘制文本_D (pd, 文本变量 [39], 20, 字体.Y + 0 × 字体.Z + 字体.zs, 黄色, 15)

绘制文本_D (pd, 文本变量 [39], 20 + 1, 字体.Y + 0 × 字体.Z + 字体.zs, 黄色, 15)

绘制文本_D (pd, 文本变量 [1] + 选择 (敌人方框, “开启”, “关闭”), 字体.X, 字体.Y + 2 × 字体.Z, 选择 (敌人方框, 石板蓝, 全局菜单关), 15)

绘制文本_D (pd, 文本变量 [1] + 选择 (敌人方框, “开启”, “关闭”), 字体.X + 1, 字体.Y + 2 × 字体.Z, 选择 (敌人方框, 石板蓝, 全局菜单关), 15)

绘制文本_D (pd, 文本变量 [2] + 选择 (队友方框, “开启”, “关闭”), 字体.X, 字体.Y + (2 + 1) × 字体.Z, 选择 (队友方框, 全局菜单开, 全局菜单关), 15)

绘制文本_D (pd, 文本变量 [2] + 选择 (队友方框, “开启”, “关闭”), 字体.X + 1, 字体.Y + (2 + 1) × 字体.Z, 选择 (队友方框, 全局菜单开, 全局菜单关), 15)

绘制文本_D (pd, 文本变量 [3] + 选择 (智能瞄准, “禁用”, 选择 (磁性自瞄开关 = 0, “F 动”, “磁性”)), 字体.X, 字体.Y + (2 + 2) × 字体.Z, 全局菜单开, 18)

绘制文本_D (pd, 文本变量 [3] + 选择 (智能瞄准, “禁用”, 选择 (磁性自瞄开关 = 0, “F 动”, “磁性”)), 字体.X + 1, 字体.Y + (2 + 2) × 字体.Z, 全局菜单开, 18)

绘制文本_D (pd, 文本变量 [4] + 瞄准位置, 字体.X, 字体.Y + (2 + 3) × 字体.Z, 全局菜单关, 18)

绘制文本_D (pd, 文本变量 [4] + 瞄准位置, 字体.X + 1, 字体.Y + (2 + 3) × 字体.Z, 全局菜单关, 18)

绘制文本_D (pd, 文本变量 [5] + 范围文本, 字体.X, 字体.Y + (2 + 4) × 字体.Z, 全局菜单关, 18)

绘制文本_D (pd, 文本变量 [5] + 范围文本, 字体.X + 1, 字体.Y + (2 + 4) × 字体.Z, 全局菜单关, 18)

绘制文本_D (pd, 文本变量 [6] + 敌人颜色, 字体.X, 字体.Y + (2 + 5) × 字体.Z, 黄色, 18)

绘制文本_D (pd, 文本变量 [6] + 敌人颜色, 字体.X + 1, 字体.Y + (2 + 5) × 字体.Z, 黄色, 18)

' 绘制文本_D (pd, 文本变量 [6] + 选择 (显示范围, “开启”, “关闭”), 字体.X, 字体.Y + (2 + 5) × 字体.Z, 选择 (显示范围, 全局菜单开, 全局菜单关), 18)

' 绘制文本_D (pd, 文本变量 [6] + 选择 (显示范围, “开启”, “关闭”), 字体.X + 1, 字体.Y + (2 + 5) × 字体.Z, 选择 (显示范围, 全局菜单开, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [7] + 选择 (显示名字, “开启”, “关闭”), 字体.X, 字体.Y + (2 + 6) × 字体.Z, 选择 (显示名字, 全局菜单开, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [7] + 选择 (显示名字, “开启”, “关闭”), 字体.X + 1, 字体.Y + (2 + 6) × 字体.Z, 选择 (显示名字, 全局菜单开, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [8] + 选择 (显示QQ, “开启”, “关闭”), 字体.X, 字体.Y + (2 + 7) × 字体.Z, 选择 (显示QQ, 全局菜单开, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [8] + 选择 (显示QQ, “开启”, “关闭”), 字体.X + 1, 字体.Y + (2 + 7) × 字体.Z, 选择 (显示QQ, 全局菜单开, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [9] + 选择 (显示准星, “开启”, “关闭”), 字体.X, 字体.Y + (2 + 8) × 字体.Z, 选择 (显示准星, 全局菜单开, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [9] + 选择 (显示准星, “开启”, “关闭”), 字体.X + 1, 字体.Y + (2 + 8) × 字体.Z, 选择 (显示准星, 全局菜单开, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [10] + 选择 (显示血量, “开启”, “关闭”), 字体.X, 字体.Y + (2 + 9) × 字体.Z, 选择 (显示血量, 全局菜单开, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [10] + 选择 (显示血量, “开启”, “关闭”), 字体.X + 1, 字体.Y + (2 + 9) × 字体.Z, 选择 (显示血量, 全局菜单开, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [11] + 选择 (磁性自瞄开关 = 1, “禁用”, 选择 (智能瞄准, “开启”, “关闭”)), 字体.X, 字体.Y + (2 + 10) × 字体.Z, 选择 (智能瞄准, 全局菜单开, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [11] + 选择 (磁性自瞄开关 = 1, “禁用”, 选择 (智能瞄准, “开启”, “关闭”)), 字体.X + 1, 字体.Y + (2 + 10) × 字体.Z, 选择 (智能瞄准, 全局菜单开, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [12] + 选择 (右键自瞄状态 = 真, “开启”, “关闭”), 字体.X, 字体.Y + (2 + 11) × 字体.Z, 选择 (右键自瞄状态, 石板蓝, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [12] + 选择 (右键自瞄状态 = 真, “开启”, “关闭”), 字体.X + 1, 字体.Y + (2 + 11) × 字体.Z, 选择 (右键自瞄状态, 石板蓝, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [13] + 选择 (无后坐力, “开启”, “关闭”), 字体.X, 字体.Y + (2 + 12) × 字体.Z, 选择 (无后坐力, 暗紫色, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [13] + 选择 (无后坐力, “开启”, “关闭”), 字体.X + 1, 字体.Y + (2 + 12) × 字体.Z, 选择 (无后坐力, 暗紫色, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [14] + 选择 (子d穿墙, “开启”, “关闭”), 字体.X, 字体.Y + (2 + 13) × 字体.Z, 选择 (子d穿墙, 全局菜单开, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [14] + 选择 (子d穿墙, “开启”, “关闭”), 字体.X + 1, 字体.Y + (2 + 13) × 字体.Z, 选择 (子d穿墙, 全局菜单开, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [15] + 选择 (零秒换d, “开启”, “关闭”), 字体.X, 字体.Y + (2 + 14) × 字体.Z, 选择 (零秒换d, 全局菜单开, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [15] + 选择 (零秒换d, “开启”, “关闭”), 字体.X + 1, 字体.Y + (2 + 14) × 字体.Z, 选择 (零秒换d, 全局菜单开, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [16], 字体.X, 字体.Y + (2 + 15) × 字体.Z, 灯光粉红, 18)

绘制文本_D (pd, 文本变量 [16], 字体.X + 1, 字体.Y + (2 + 15) × 字体.Z, 灯光粉红, 18)

绘制文本_D (pd, 文本变量 [17] + 选择 (内存透视, “开启”, “关闭”), 字体.X, 字体.Y + (2 + 16) × 字体.Z, 选择 (内存透视, 全局菜单开, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [17] + 选择 (内存透视, “开启”, “关闭”), 字体.X + 1, 字体.Y + (2 + 16) × 字体.Z, 选择 (内存透视, 全局菜单开, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [18] + 选择 (人物加亮, “开启”, “关闭”), 字体.X, 字体.Y + (2 + 17) × 字体.Z, 选择 (人物加亮, 全局菜单开, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [18] + 选择 (人物加亮, “开启”, “关闭”), 字体.X + 1, 字体.Y + (2 + 17) × 字体.Z, 选择 (人物加亮, 全局菜单开, 全局菜单关), 18)

绘制文本_D (pd, 文本变量 [41], 字体.X, 字体.Y + (2 + 32) × 字体.Z, 灯光粉红, 18)

绘制文本_D (pd, 文本变量 [41], 字体.X + 1, 字体.Y + (2 + 32) × 字体.Z, 灯光粉红, 18)

绘制文本_D (pd, 文本变量 [42], 字体.X, 字体.Y + (2 + 33) × 字体.Z, 橙色, 18)

绘制文本_D (pd, 文本变量 [42], 字体.X + 1, 字体.Y + (2 + 33) × 字体.Z, 橙色, 18)

绘制文本_D (pd, 文本变量 [43], 字体.X, 字体.Y + (2 + 34) × 字体.Z, 芙红, 18)

绘制文本_D (pd, 文本变量 [43], 字体.X + 1, 字体.Y + (2 + 34) × 字体.Z, 芙红, 18)

绘制文本_D (pd, 文本变量 [40], 12, 字体.Y + (1 + 选中) × 字体.Z, 蓝色, 18)

绘制文本_D (pd, 文本变量 [40], 12 + 1, 字体.Y + (1 + 选中) × 字体.Z, 蓝色, 18)

.否则

.如果结束

键速 = 键速 + 1

.如果真 (键速 > 50)

键速 = 0

.如果真 (MY_GetAsyncKeyState (#F9键) ≠ 0)

.如果真结束

.如果真 (MY_GetAsyncKeyState (#F12键) ≠ 0)

显示菜单 = 取反 (显示菜单)

.如果真结束

.如果真 (MY_GetAsyncKeyState (#上光标键) ≠ 0 且 选中 > 1)

选中 = 选中 - 1

.如果真结束

.如果真 (MY_GetAsyncKeyState (#下光标键) ≠ 0 且 选中 < 18)

选中 = 选中 + 1

.如果真结束

.如果真 (MY_GetAsyncKeyState (#F键) ≠ 0)

.如果真 (磁性自瞄开关 = 0 或 智能瞄准 = 假)

锁定敌人 ()

.如果真结束

.如果真 (智能瞄准)

自瞄_解锁 ()

.如果真结束

.如果真结束

由于太多显示不出来所以不给多了

如果楼主实在看不懂的话可以加我 ( 314 . 2729 . 700)咨询哦


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8102462.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存