zzh233 发表于 2022-1-27 11:12:36

这段汇编代码如何写成火山视窗

这个是OD的原版代码 是一个明文发包的call ecx edx 就是包的内存和包的长度 很简单的一个call

我用易语言魔鬼作坊写的完全没问题 现在想学习火山视窗 我也发帖咨询了各位大神 自己写了 但是现在的情况是 点测试按钮发过去一会程序就掉了 游戏倒是没掉 申请内存和写入内存都没问题 用CE也查看了申请的地址 的确把内容写到内存里面了 就是这个call 是不是我写错了还是语法不对 请各位大神指导一下 万分感谢

zzh233 发表于 2022-1-27 13:08:32

我问了大神 大神的意思意思是在目标进程中执行汇编,而我在火山中的写法的意思是在本进程中执行汇编,肯定会崩溃那针对这个 请问有没有再指定进程中执行的api那
我看了易语言原代码 应该是 CreateRemoteThread?

li327065266kun 发表于 2022-1-27 20:03:25

对头,ASM是本身汇编代码用的,你注入DLL才能这么玩,远程调用的话得把汇编代码转换成字节集,然后申请目标进程,写入字节集,调用字节集,释放内存,这样的流程才能远程调用

福寿 发表于 2022-1-27 21:16:22

li327065266kun 发表于 2022-1-27 20:03
对头,ASM是本身汇编代码用的,你注入DLL才能这么玩,远程调用的话得把汇编代码转换成字节集,然后申请目标进程 ...

跨进程也可以用内联,既然你都知道写入字节集了,内联汇编在编译后就会生成字节码,首地址就是存放字节码的地址,把那个地址写入目标进程就可以了,不要问为什么可以这样操作,C++就是这么强大,不能老是按易语言的思路来,你见过哪个用C++写远程call,还要像易语言那样写一套转换的函数来把汇编转成字节码的

zzh233 发表于 2022-1-28 18:09:22

福寿 发表于 2022-1-27 21:16
跨进程也可以用内联,既然你都知道写入字节集了,内联汇编在编译后就会生成字节码,首地址就是存放字节码 ...

明白您的意思 但是都是从易语言转过来的 如果对c++比较熟悉 就现成了个悖论 直接用c++呗 还是想着能不能稍微方便点实现 您说的这个办法能不能随手写个范例那 我的要求就是这个 万分感谢

fengshangren 发表于 2022-1-28 18:28:53

这东西还是要沉下心来认真学几天火山才能搞的定,这东西其实对技术要求并不高,你不会只是因为你没有静下心来认真学火山,老想着快速弄好,这东西都不用c++ ,就用火山本身的东西就能搞定的

福寿 发表于 2022-1-28 19:13:09

zzh233 发表于 2022-1-28 18:09
明白您的意思 但是都是从易语言转过来的 如果对c++比较熟悉 就现成了个悖论 直接用c++呗 还是想着能不能 ...

这个和易语言一模一样,用WriteProcessMemory把函数地址写进目标进程,函数地址存放的是内联汇编所生成的字节码,易语言也是一样要把地址写进去,地址里面存放的是自己转换后的字节码,也不要老是觉得从易语言转过来的就什么什么的,要是真的懂易语言的话这些都不是问题

zzh233 发表于 2022-1-28 23:04:03

福寿 发表于 2022-1-28 19:13
这个和易语言一模一样,用WriteProcessMemory把函数地址写进目标进程,函数地址存放的是内联汇编所生成的 ...

万分感谢 我就照着之前易语言的模块源码慢慢转换吧

福寿 发表于 2022-1-29 00:09:49

zzh233 发表于 2022-1-28 23:04
万分感谢 我就照着之前易语言的模块源码慢慢转换吧
不能是debug版,因为火山是类,__declspec(naked)不能使用,在debug下汇编代码会添加mov esp,ebp之类的,所以要生成发布版才能正常使用

zzh233 发表于 2022-1-29 00:31:54

福寿 发表于 2022-1-29 00:09
不能是debug版,因为火山是类,__declspec(naked)不能使用,在debug下汇编代码会添加mov esp,ebp之类的, ...

再次感谢 也不知道主流模块会不会发布火山版 那真的无缝切换了 火山也会瞬间火爆的
页: [1] 2
查看完整版本: 这段汇编代码如何写成火山视窗