开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

12
返回列表 发新帖
楼主: 亲爱的小层
收起左侧

[已解决] 内存调call后 取eax返回值

 关闭 [复制链接]
结帖率:65% (11/17)
 楼主| 发表于 2020-5-23 21:57:54 | 显示全部楼层   浙江省温州市
QQ图片20200523215130.png

大家的思路都能理解,就是无法实现读取到固定值。 也不清楚 是代码问题 还是模块问题。 折腾了2天 还是没办法解决。太纠结了。
回复

使用道具 举报

结帖率:65% (11/17)
 楼主| 发表于 2020-5-23 22:03:22 | 显示全部楼层   浙江省温州市
编辑过一次,好像不能再编辑了. 在这里留言  希望各位 有相关取回eax经验的,麻烦贴个源码或者模块, dll注入方式  或者远程调用方式 都行。这2天自己尝试了很多,均失败,只能拜托大家帮帮忙了
回复

使用道具 举报

发表于 2020-5-24 11:34:53 | 显示全部楼层   河北省秦皇岛市
本帖最后由 weion 于 2020-5-24 11:43 编辑
亲爱的小层 发表于 2020-5-23 21:57
大家的思路都能理解,就是无法实现读取到固定值。 也不清楚 是代码问题 还是模块问题。 折腾了2天 还是 ...

用惯了VC,易语言代码不大懂。只能替你分析一下,问题主要是堆栈没弄平衡。
push_eax()        //
add_ecx("CC",)
call_eax()  //返回后 EAX中保存的值需要作为当前函数的返回值是吧。
               //此时堆栈保存的是上面PUSHAD保存的8个寄存器值 + EAX
               //加入的语句在后面
popad()   //恢复堆栈,此时EAX为未调用此函数时的值,返回的是相当于函数没有调用的结果
ret()       //程序返回了  后面的代码都调用不到
调用汇编代码(。。。。) //没用的
//====建议加入的语句,将调用得到的EAX值,替换堆栈中保存的EAX值=======
//pushad,依次将EAX、ECX、EDX、EBX、ESP、EBP、ESI、EDI,执行后ESP- 32
ADD ESP,4    //调试一下 看需要不需要  修正ESP值(),指向原栈顶
ADD ESP,32  //ESP指向堆栈保留的EAX地址
push eax      //EAX入栈,同时 ESP-4
SUB ESP,28  //恢复ESP值
//====此后执行POPAD,EAX值即可传递到上层调用
//重点的重点的重点在于,堆栈平衡,堆栈不平衡程序肯定崩掉。
//堆栈中EAX的下面一个是EIP, 也就是RET指令要恢复的指令寄存器,堆栈要不平衡,RET就返不回去了
回复

使用道具 举报

结帖率:65% (11/17)
 楼主| 发表于 2020-5-29 22:59:19 | 显示全部楼层   浙江省温州市
问题已在 定制区解决。 版主看到可以关帖。 积分可以由版主决定给谁
回复

使用道具 举报

发表于 2020-5-30 00:41:31 | 显示全部楼层   山东省济南市
我也在找这个问题,楼主说下怎么解决的
回复

使用道具 举报

发表于 2021-10-20 21:52:19 | 显示全部楼层   吉林省长春市
我也遇到同样的问题,希望楼主分享解决办法
回复

使用道具 举报

发表于 2023-6-19 14:20:23 | 显示全部楼层   山东省枣庄市
能在定制区得到的解决办法共享下么?
回复

使用道具 举报

结帖率:65% (11/17)
 楼主| 发表于 2023-6-19 15:48:42 | 显示全部楼层   浙江省温州市
gogametiant 发表于 2023-6-19 14:20
能在定制区得到的解决办法共享下么?

远程调用的话,申请个地址,然后写汇编的时候,把eax写入申请的地址,再结束call

注入的话,直接eax赋值给局部变量或者参数
回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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