开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 9320|回复: 60
收起左侧

[易语言纯源码] 【首发】调用易语言支持库里的命令,指针操纵(纯核心库,By超级用户)

[复制链接]

结帖率:100% (4/4)
发表于 2018-7-17 11:01:06 | 显示全部楼层 |阅读模式   四川省宜宾市
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
本帖最后由 1185384801 于 2018-7-17 11:02 编辑

Hi!大家好!我是超级用户!首先来看一张图: 执行.jpg
哈哈本图亮点可多了哦(都圈出来了拉)
调用易语言支持库里的命令这个看起来好像很深奥一样(本程序受到“SalHe”大佬的启发写出来的),其实不然
曾经我记得有人发过一个C#调用易库的,于是我干脆发个易调用的Demo吧!
首先取得易命令指针地址:
  
子程序名返回值类型公开备 注
取指定函数地址_入口整数型 
参数名类 型参考可空数组备 注
支持库信息入口整数型GetNewInf 函数地址
命令索引整数型
变量名类 型静态数组备 注
ret整数型 
如果真 (支持库信息入口 > 0)
ret = Call (支持库信息入口, , )  ' 取得支持库信息指针
ret = 取指定函数地址_指针 (ret, 命令索引)
返回 (ret)
子程序名返回值类型公开备 注
取指定函数地址_指针整数型 
参数名类 型参考可空数组备 注
支持库信息指针整数型
命令索引整数型
变量名类 型静态数组备 注
ret整数型 
如果真 (支持库信息指针 > 0)
ret = 支持库信息指针  ' 取得支持库信息指针
ret = 指针到整数 (ret + 4 (28 - 1))  ' 第 28 个成员就是第一个命令的地址
ret = 指针到整数 (ret + 4 (命令索引 - 1))
返回 (ret)
子程序名返回值类型公开备 注
取运行目录_外部文本型 
变量名类 型静态数组备 注
句柄整数型 
类_库操作类_库操作 
返回值数据结构 
p类_指针 
结果文本型 
句柄 = 类_库操作.取核心库模块句柄 ()
句柄 = GetProcAddress (句柄, “GetNewInf”)
句柄 = 类_库操作.取指定函数地址_入口 (句柄, 66)  ' 66是取运行目录在支持库中命令的索引


取得了易支持库命令地址后,我们来分析下易库:
  
子程序名返回值类型公开备 注
易库命令子程序基本结构  
参数名类 型参考可空数组备 注
返回值指针整数型
参数数目整数型
首参数指针整数型


这是结构,返回值指针传入一个“数据结构”,参数数目不说了,然后传入参数指针(整合版本)
那么这样慢慢逆就可以了,但是返回的是指针而不是数据怎么办?别急,我们就需要用到下面的制作万能转换:
  
窗口程序集名保 留  保 留备 注
类_指针   
变量名类 型数组备 注
集_原地址整数型0 
集_目的地址整数型0 
集_自动还原逻辑型  
集_已还原逻辑型  

子程序名返回值类型公开备 注
_初始化 当基于本类的对象被创建后,此方法会被自动调用
集_自动还原 = 真
子程序名返回值类型公开备 注
_销毁 当基于本类的对象被销毁前,此方法会被自动调用
如果真 (集_自动还原 取反 (集_已还原))
还原 ()

子程序名返回值类型公开备 注
自动还原逻辑型 
参数名类 型参考可空数组备 注
逻辑型
如果真 (取反 (是否为空 ()))
集_自动还原 = 值
返回 (集_自动还原)
子程序名返回值类型公开备 注
到数据 
参数名类 型参考可空数组备 注
源数据指针整数型
目的变量地址整数型
加入成员 (集_原地址, 指针到数据 (源数据指针, 目的变量地址))
加入成员 (集_目的地址, 目的变量地址)
集_已还原 = 假
子程序名返回值类型公开备 注
还原 
变量名类 型静态数组备 注
n1整数型 
计次循环首 (取数组成员数 (集_原地址), n1)
释放指针数据 (集_目的地址 [n1], 集_原地址 [n1])
计次循环尾 ()
集_已还原 = 真
子程序名返回值类型公开备 注
取指针_通用型整数型 
参数名类 型参考可空数组备 注
变量通用型
置入代码 ({ 139, 69, 8, 201, 194, 4, 0 })
返回 (0)
子程序名返回值类型公开备 注
指针到数据整数型 返回值为目的变量原数据地址
参数名类 型参考可空数组备 注
源数据指针整数型
目的变量地址整数型
置入代码 ({ 139, 69, 12, 255, 48, 255, 117, 8, 143, 0, 88, 201, 194, 8, 0 })
返回 (0)
子程序名返回值类型公开备 注
释放指针数据  
参数名类 型参考可空数组备 注
变量地址整数型
原数据地址整数型
置入代码 ({ 139, 69, 8, 255, 117, 12, 143, 0 })

呵呵仙大神曾经写过一个易版指针,这个呢,则是汇编版本的哦
好的,那么我们就大胆调用吧!
diaoyong.jpg
最后还是那句老话:源码回复下载!!
最后说一句:如果你觉得可以的话,请:
一下(点2下又不会扣分,而且还会加精币哦!!!加精币哦!!!),源码回复下载!!
执行命令.e (25.55 KB, 下载次数: 175)

评分

参与人数 11好评 +10 精币 +18 收起 理由
french007 + 1 + 2 大神 能hook 支持库里面的命令吗
759621451 + 1 感谢发布原创作品,精易因你更精彩!
gto250 + 1 + 2 感谢分享,很给力!~
司徒西 + 1 + 2 支持开源~!感谢分享
yinghao2005 + 1 + 2 看不懂有什么用,如何实用
tl858 + 1 感谢发布原创作品,精易因你更精彩!
网络注册会员 + 1 + 3 感谢分享,很给力!~
wanzhenghe999 + 1 + 2 很赞同,谢谢!
呵呵仙 + 1 + 3 顺手一个赞,进账2精身上!^_^
DDSGXQ + 2 支持开源~!感谢分享
Joniak + 1 感谢发布原创作品,精易因你更精彩!

查看全部评分


本帖被以下淘专辑推荐:

发表于 2023-3-8 11:55:58 | 显示全部楼层   广西壮族自治区贺州市
感谢分享
回复 支持 反对

使用道具 举报

发表于 2022-1-8 14:11:03 | 显示全部楼层   浙江省台州市
大神 能hook 支持库里面的命令吗
回复 支持 反对

使用道具 举报

发表于 2020-8-18 00:00:41 | 显示全部楼层   广东省东莞市
thanks for sharing
回复 支持 反对

使用道具 举报

结帖率:100% (35/35)
发表于 2020-5-23 18:01:49 | 显示全部楼层   江西省吉安市
我天啊,我居然看不懂这是干嘛的
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2020-3-14 14:15:20 | 显示全部楼层   广东省茂名市
超级用户很棒,加油,支持你!
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 5 天

发表于 2019-11-12 11:49:46 | 显示全部楼层   广东省河源市
3Q楼主分享
回复 支持 反对

使用道具 举报

发表于 2019-9-20 22:49:59 | 显示全部楼层   广西壮族自治区崇左市
谢谢分享高精源码,来学习了.
回复 支持 反对

使用道具 举报

发表于 2019-6-29 09:52:31 | 显示全部楼层   广东省汕头市
路过下载,拿来研究
回复 支持 反对

使用道具 举报

发表于 2018-11-15 20:45:08 | 显示全部楼层   广东省中山市
学习了。。。。。。。。
回复 支持 反对

使用道具 举报

结帖率:85% (11/13)
发表于 2018-11-13 00:29:10 | 显示全部楼层   广东省汕尾市
路过下载,拿来研究
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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