loos2233 发表于 2020-5-24 19:41

易语言置入转远程汇编

一段置入代码我转远程汇编总出错

.版本 2


.子程序 世界坐标转屏幕坐标2D, 坐标2D
.参数 flag, 整数型
.参数 世界坐标, 坐标3D
.局部变量 call, 整数型
.局部变量 屏幕坐标, 坐标2D


call = 13841024
屏幕坐标.X = 0
屏幕坐标.Y = 0
' 置入代码 ({ 141, 93, 8, 83, 139, 77, 12, 139, 9, 81, 139, 69, 252, 255, 208, 139, 69, 8, 139, 93, 12, 139, 77, 248, 137, 1, 137, 89, 4 })
' 返回 (屏幕坐标)
' lea ebx, dword
' push ebx
' mov ecx, dword
' mov ecx, dword
' push ecx
' mov eax, dword
' call eax
' mov eax, dword
' mov ebx, dword
' mov ecx, dword
' mov dword , eax
' mov dword , ebx


置汇编代码 ({})
Pushad ()
Lea_EBX_Ptr_EBP_Add (屏幕坐标.X)
Push_EBX ()
Mov_ECX_EBP (屏幕坐标.Y)
Mov_ECX (屏幕坐标.X)
Push_ECX ()
Mov_EAX (屏幕坐标.Y)
Call (call)
Mov_EAX (世界坐标.x)
Mov_EBX (世界坐标.y)
Mov_ECX (世界坐标.z)
Popad ()
ret ()
调用函数 (进程ID (), 取汇编代码 ())
返回 (屏幕坐标)


LSNM 发表于 2020-5-25 06:48

ret ()是返回

死鱼 发表于 2020-5-25 08:02

Popad ()                                                         ‘堆栈平衡
ret ()                                                            ‘返回()
调用函数 (进程ID (), 取汇编代码 ())               '没执行
返回 (屏幕坐标)                                             ’无法返回数据,因为上面提前返回了

又红又专 发表于 2020-5-26 10:17

本帖最后由 又红又专 于 2020-5-26 20:40 编辑

这个是LOL 屏幕坐标转换CALL 吧 我对易语言内联汇编不怎么明白 只能稍微提供一下参考意见 大佬勿喷{:7_237:}
1 我觉得你那 内联汇编注入写的有问题 易语言注入都是倒着来的吗? 你读一下你的汇编代码 先赋值屏幕坐标?然后就调用call 然后把人物世界坐标赋值到寄存器    逻辑上你这是屏幕坐标转世界坐标吧 不是世界转屏幕坐标。
2 语法应该没有错   楼上说的ret 后后面代码不执行了我觉得不对我觉得如果你是世界转屏幕的话你汇编代码写错了 如果你是屏幕转世界当我没说
ret ()
调用函数 (进程ID (), 取汇编代码 ())
返回 (屏幕坐标)
易语言内联的ret   跟调用函数 (进程ID (), 取汇编代码 ()) 返回 (屏幕坐标) 没有关系呀    调用函数 (进程ID (), 取汇编代码 ())肯定在汇编代码之前执行的前面的汇编只是一个赋值操作并不会执行把 否则你没PID 和汇编代码怎么注入。

你看看你汇编代码 你确定是都是寄存器传入参数吗 ?一般都会传入一个结构体指针 不会取出来x y z 放入寄存器再传过去的吧 取值是转换call 内部操作谁封装函数不是简单的来





009965FE    8D4424 14       lea   eax, dword ptr
00996602    50            push    eax                              ; 未知 push 0对人物坐标没有影响
00996603    8D4424 24       lea   eax, dword ptr           ; 人物坐标结构体地址
00996607    50            push    eax
00996608    E8 73CC3900   call    00D33280                           转换call 返回值为屏幕分辨率
0099660D    8B4424 44       mov   eax, dword ptr
00996611    83C4 08         add   esp, 8
00996614    F3:0F104424 14movss   xmm0, dword ptr          ; 相对屏幕坐标x
0099661A    F3:0F1100       movss   dword ptr , xmm0
0099661E    F3:0F104424 18movss   xmm0, dword ptr          ; 相对屏幕坐标y
00996624    F3:0F1140 04    movss   dword ptr , xmm0
00996629    8B47 18         mov   eax, dword ptr
0099662C    85C0            test    eax, eax

晚上弄了一下已经读出 真的谢谢楼主我原来这个屏幕转换call不知道怎么找 你发一个call 弄得我以后都会找了爱你{:7_231:}


loos2233 发表于 2020-6-19 11:45

又红又专 发表于 2020-5-26 10:17
这个是LOL 屏幕坐标转换CALL 吧 我对易语言内联汇编不怎么明白 只能稍微提供一下参考意见 大佬勿喷{:7_237: ...

那 易语言怎么写啊。 。???

又红又专 发表于 2020-6-19 11:56

loos2233 发表于 2020-6-19 11:45
那 易语言怎么写啊。 。???

抽时间我看看 哈 我C++写的反正有点问题读一会游戏会崩溃一直没解决那个置入代码 和 远程汇编一样吗

loos2233 发表于 2020-6-20 09:06

又红又专 发表于 2020-6-19 11:56
抽时间我看看 哈 我C++写的反正有点问题读一会游戏会崩溃一直没解决那个置入代码 和 远程汇编一样吗

之前你的那个不是能读吗。 ??留个暗号

又红又专 发表于 2020-6-20 09:59

loos2233 发表于 2020-6-20 09:06
之前你的那个不是能读吗。 ??留个暗号

扣扣 2028283121
页: [1]
查看完整版本: 易语言置入转远程汇编