递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 9183|回复: 13
打印 上一主题 下一主题

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

[复制链接]

30

主题

235

帖子

1409

积分

金牌会员

Rank: 6Rank: 6

积分
1409
跳转到指定楼层
楼主
发表于 2022-1-27 11:12:36 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
这个是OD的原版代码 是一个明文发包的call ecx edx 就是包的内存和包的长度 很简单的一个call

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

使用道具 举报

30

主题

235

帖子

1409

积分

金牌会员

Rank: 6Rank: 6

积分
1409
沙发
 楼主| 发表于 2022-1-27 13:08:32 | 只看该作者
我问了大神 大神的意思意思是在目标进程中执行汇编,而我在火山中的写法的意思是在本进程中执行汇编,肯定会崩溃  那针对这个 请问有没有再指定进程中执行的api那
我看了易语言原代码 应该是 CreateRemoteThread  ?
回复

使用道具 举报

53

主题

389

帖子

2410

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2410
板凳
发表于 2022-1-27 20:03:25 | 只看该作者
对头,ASM是本身汇编代码用的,你注入DLL才能这么玩,远程调用的话得把汇编代码转换成字节集,然后申请目标进程,写入字节集,调用字节集,释放内存,这样的流程才能远程调用
回复

使用道具 举报

14

主题

494

帖子

3063

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3063
地板
发表于 2022-1-27 21:16:22 | 只看该作者
li327065266kun 发表于 2022-1-27 20:03
对头,ASM是本身汇编代码用的,你注入DLL才能这么玩,远程调用的话得把汇编代码转换成字节集,然后申请目标进程 ...

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

使用道具 举报

30

主题

235

帖子

1409

积分

金牌会员

Rank: 6Rank: 6

积分
1409
5#
 楼主| 发表于 2022-1-28 18:09:22 | 只看该作者
福寿 发表于 2022-1-27 21:16
跨进程也可以用内联,既然你都知道写入字节集了,内联汇编在编译后就会生成字节码,首地址就是存放字节码 ...

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

使用道具 举报

43

主题

313

帖子

3600

积分

论坛元老

Rank: 8Rank: 8

积分
3600
6#
发表于 2022-1-28 18:28:53 | 只看该作者
这东西还是要沉下心来认真学几天火山才能搞的定,这东西其实对技术要求并不高,你不会只是因为你没有静下心来认真学火山,老想着快速弄好,这东西都不用c++ ,就用火山本身的东西就能搞定的
回复

使用道具 举报

14

主题

494

帖子

3063

积分

核心用户

Rank: 9Rank: 9Rank: 9

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

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

使用道具 举报

30

主题

235

帖子

1409

积分

金牌会员

Rank: 6Rank: 6

积分
1409
8#
 楼主| 发表于 2022-1-28 23:04:03 | 只看该作者
福寿 发表于 2022-1-28 19:13
这个和易语言一模一样,用WriteProcessMemory把函数地址写进目标进程,函数地址存放的是内联汇编所生成的 ...

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

使用道具 举报

14

主题

494

帖子

3063

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3063
9#
发表于 2022-1-29 00:09:49 | 只看该作者
zzh233 发表于 2022-1-28 23:04
万分感谢 我就照着之前易语言的模块源码慢慢转换吧

不能是debug版,因为火山是类,__declspec(naked)不能使用,在debug下汇编代码会添加mov esp,ebp之类的,所以要生成发布版才能正常使用
回复

使用道具 举报

30

主题

235

帖子

1409

积分

金牌会员

Rank: 6Rank: 6

积分
1409
10#
 楼主| 发表于 2022-1-29 00:31:54 | 只看该作者
福寿 发表于 2022-1-29 00:09
不能是debug版,因为火山是类,__declspec(naked)不能使用,在debug下汇编代码会添加mov esp,ebp之类的, ...

再次感谢 也不知道主流模块会不会发布火山版 那真的无缝切换了 火山也会瞬间火爆的
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-25 03:02 , Processed in 0.099687 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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