首页
社区
课程
招聘
未解决 [求助]c++怎么通过的内联CALL 申请地址
发表于: 2021-2-8 00:18 3820

未解决 [求助]c++怎么通过的内联CALL 申请地址

2021-2-8 00:18
3820



 易语言通过AddCode把些汇编 放到变量9 里,然后申请内存


 我C++ 写完内联call后,怎么把这个call里的汇编也放进来,然后申请内存?

而且经过ASMCall ,这个CALL 不就直接执行了吗?  新手搞不懂原理


求大佬们,指点


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 4343
活跃值: (4328)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
从基础开始,连API都没搞明白. 去多练习一下这个API的用法,查看MSDN 百度搜索. 
不然你有提不完的新手问题.
2021-2-8 12:05
0
雪    币: 2726
活跃值: (1110)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
E语言没有内联功能,所以需要把汇编代码写成硬编码然后组合到一起,然后申请一段内存 ,写入这段硬编码,之后才执行,你有内联功能 还用申请内存写入硬编码干嘛?
2021-2-8 12:22
0
雪    币: 105
活跃值: (635)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
Mxixihaha 从基础开始,连API都没搞明白. 去多练习一下这个API的用法,查看MSDN 百度搜索. 不然你有提不完的新手问题.
我直接写内联 ,CreateRemoteThread 创建线程后他不执行,就这个游戏不行
其他的程序是可以执行成功的
所以我想试下他这种方法
2021-2-8 18:16
0
雪    币: 105
活跃值: (635)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
ffggddss E语言没有内联功能,所以需要把汇编代码写成硬编码然后组合到一起,然后申请一段内存 ,写入这段硬编码,之后才执行,你有内联功能 还用申请内存写入硬编码干嘛?
我直接写内联 ,CreateRemoteThread 创建线程后他不执行,就这个游戏不行
其他的程序是可以执行成功的
所以我想试下他这种方法
2021-2-8 18:16
0
雪    币: 2726
活跃值: (1110)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
调试看看失败的原因了,是线程没创建成功,还是写入没成功,还是写入后被清掉了,找到原因才能对症下药. 
2021-2-9 11:07
0
雪    币: 105
活跃值: (635)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
ffggddss 调试看看失败的原因了,是线程没创建成功,还是写入没成功,还是写入后被清掉了,找到原因才能对症下药.
线程创建成功了,有返回句柄
写入也成功了
但是不执行
其他程序都是正常的,就这个游戏不行
2021-2-10 17:40
0
雪    币: 1041
活跃值: (733)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
内联汇编在哪儿可以学
2021-2-10 23:41
0
雪    币: 57
活跃值: (2433)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
小豆丁CE 线程创建成功了,有返回句柄 写入也成功了 但是不执行 其他程序都是正常的,就这个游戏不行
估计是屏蔽了   用发消息的方式调用游戏自身线程来执行 
2021-2-11 00:07
0
雪    币: 7344
活跃值: (4044)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
API都用错了,先不说你那个ASMCALL是怎么实现的,virtualalloc第三个参数你传入ASMCALL一个函数指针是干嘛的
2021-2-11 01:56
0
雪    币: 57
活跃值: (2433)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
11
内联是编译后代码就在程序领空里的 你这个是用远程线程来调用某个指定地址写入的硬编码实现  只能说是远程CALL 
2021-2-11 13:10
0
雪    币: 5278
活跃值: (4753)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
这谁写的汇编 sub rsp 108 这么多
2021-2-11 23:13
0
雪    币: 105
活跃值: (635)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
qiusuper 估计是屏蔽了 用发消息的方式调用游戏自身线程来执行
这种消息怎么发,有调用例子吗
2021-2-14 21:10
0
雪    币: 105
活跃值: (635)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
qiusuper 内联是编译后代码就在程序领空里的 你这个是用远程线程来调用某个指定地址写入的硬编码实现 只能说是远程CALL
是的 远程CALL ,远程CALL 怎么在目标主线程调用?
2021-2-14 21:11
0
雪    币: 772
活跃值: (987)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
我建议你呢,先写个简单的a=a+1 的例子,标记下。然后OD打开。定位了看看经过编译器优化过后的机器码。
2021-2-17 23:07
0
游客
登录 | 注册 方可回帖
返回
//