• 1699阅读
  • 5回复

[已解决]易语言输入法注入dll后,用主线程调用call会卡死 [复制链接]

上一主题 下一主题
 

只看楼主 倒序阅读 使用道具 楼主  发表于: 2016-07-18
此悬赏帖已过期
最佳答案:10 小风币,热心助人剩余点数: 1 小风币。
用的是魔鬼作坊的模块,有一个call必须要主线程调用才行,输入法注入后,不是主线程调用的就不会卡死,但是也有点卡(比用xt过保护后直接调用卡),主线程调用的话直接就卡死了,难道说输入法注入是不允许主线程调用的吗
图片上传不了

在别的论坛上有人教我用创建线程的方法,问题得到了暂时的解决
以下是主线程调用:

.版本 2
.子程序 自动寻路
.参数 目标x坐标, 整数型
.参数 目标y坐标, 整数型
asm_置代码 ()
asm_pushad ()
asm_mov_eax_常数 (十六到十 (“0”))
asm_push_eax ()
asm_mov_ecx_常数 (目标y坐标)
asm_mov_edx_常数 (目标x坐标)
asm_mov_eax_ptr (十六到十 (#寻路call基址))
asm_mov_eax_ptr_eax ()
asm_mov_ebx_常数 (十六到十 (#寻路call))
asm_call_ebx ()
asm_popad ()
asm_ret ()
进程_调用函数2 (进程句柄, asm_取代码 (), 线程ID)
输出调试文本 (字节集转为汇编指令 (asm_取代码 (), ))
以下是非主线程调用:

.版本 2

asm_置代码 ()
asm_pushad ()
asm_push (十六到十 (“0000000”))
asm_mov_eax_ptr (十六到十 (#提示CALL的基址))
asm_mov_eax_ptr_eax ()
asm_mov_ecx_常数 (十六到十 (“0000ffff”))
asm_mov_edx_常数 (提示内存地址 + 8)
asm_mov_ebx_常数 (十六到十 (#提示call))  ' 更新会变
asm_call_ebx ()
asm_popad ()
asm_ret ()
asm_调用函数2 (进程句柄, asm_取代码 ())
输出调试文本 (字节集转为汇编指令 (asm_取代码 (), ))
内存.释放 (提示内存地址)


只看该作者 沙发  发表于: 2016-07-18
游戏是热血传奇
离线a66646520

只看该作者 板凳  发表于: 2016-07-18
谢谢。你的代码我看了。。。对我启发很大。。。这段时间一直困惑我的寻路call今天终于成功了
离线啊冲

只看该作者 地板  发表于: 2016-07-19
卡死,是哪里调用错了吧?
楼上那位说成功的朋友,把经验也说说吧。
善者 慈悲心常在 无怨无恨 以苦为乐
默认压缩密码www.hifyl.com
文件分享密码问题:http://www.hifyl.com/read-htm-tid-4444.html

只看该作者 4楼 发表于: 2016-07-20
回 a66646520 的帖子
a66646520:谢谢。你的代码我看了。。。对我启发很大。。。这段时间一直困惑我的寻路call今天终于成功了 (2016-07-18 21:55) 

你dll注入主线程调用不卡死吗  交流一下把

只看该作者 5楼 发表于: 2016-07-20
回 啊冲 的帖子
啊冲:卡死,是哪里调用错了吧?
楼上那位说成功的朋友,把经验也说说吧。 (2016-07-19 08:04) 

应该调用不会出错吧,同样代码,去保护后,用exe(窗口程序)的方式调用call,不会卡死,而用dll注入的方式,就会出现主线程调用卡死的情况,真是奇怪了
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个