开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 22765|回复: 130
收起左侧

[易源码分享] 用一个很简单的方法调用没有公开的(隐藏的)DLL命令,可以做插件,做程序交互_超级用户

[复制链接]

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

--------------------------------------------------------------------首先说点废话------------------------------------------------------------------
现在人们的技术是越来越高了,一个什么DLL命令,一会儿就知道内部命令的作用了;其次,最近做插件比较火,所以我写了一个很风骚的调用没有公开的(隐藏的)DLL命令的现实,原理很简单哦,新手易学
----------------------------------------------------------------------实现原理---------------------------------------------------------------------
  
子程序名返回值类型公开备 注
超级用户_调用隐藏子程序子程序指针 
参数名类 型参考可空数组备 注
密钥整数型
如果真 (密钥 = 1698)  ' 这个是验证密钥
返回 (&超级用户_我是隐藏DLL命令信息框)
返回 (&超级用户_我是空子程序)
子程序名返回值类型公开备 注
超级用户_我是隐藏DLL命令信息框整数型 
参数名类 型参考可空数组备 注
提示信息文本型
按钮整数型
窗口标题文本型
父窗口整数型
返回 (信息框 (提示信息, 按钮, 窗口标题, 父窗口))
子程序名返回值类型公开备 注
超级用户_我是空子程序文本型 
返回 (“哈哈哈,密钥错了!”)

首先打开易语言,新建一个DLL,输入以上命令,很明显“超级用户_我是隐藏DLL命令信息框”,“超级用户_我是空子程序”2个子程序并没有公开,但是大部分易友应该看出了“超级用户_调用隐藏子程序”这个子程序的返回值为子程序指针,可能原理已经了然于胸了




接着,再打开一个易语言,创建一个主程序(EXE),先写一下CALL功能
  
子程序名返回值类型公开备 注
Call整数型 
参数名类 型参考可空数组备 注
地址整数型
参数一整数型
参数二整数型
参数三整数型
参数四整数型
参数五整数型
参数六整数型
参数七整数型
参数八整数型
参数九整数型
参数十整数型
返回 (_Call (地址, 参数一, 参数二, 参数三, 参数四, 参数五, 参数六, 参数七, 参数八, 参数九, 参数十))
子程序名返回值类型公开备 注
_Call整数型 
参数名类 型参考可空数组备 注
地址整数型
参数一整数型
参数二整数型
参数三整数型
参数四整数型
参数五整数型
参数六整数型
参数七整数型
参数八整数型
参数九整数型
参数十整数型
' leave
' pop eax
' xchg dword ptr [esp], eax
' jmp eax
置入代码 ({ 201, 88, 135, 4, 36, 255, 224 }) ' 理论上可以支持无限参数,实际上系统有限制
返回 (0)

主要原理是汇编CALL调用子程序,为什么要用汇编呢?
首先,“调用子程序”命令不是系统核心支持库的
其次汇编用指针,更顺手
  
子程序名返回值类型公开备 注
变量_取数据指针整数型 返回指定变量的内存数据指针,当数据类型为字节集时会多出8个字节(前4个字节为标志,后4字节标明字节集长度)。注:汇编代码
参数名类 型参考可空数组备 注
变量通用型
置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })
返回 (0)
' 十六进制:8B 45 08 8B 00 C9 C2 04 00
' mov eax,[ebp+0x08]
' mov eax,[eax]
' leave
' retn 0x04


写写变量指针转换
  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
CALL返回值整数型 
信息框 (指针到文本 (Call (到整数 (超级用户_调用隐藏子程序 (0)))), 0, , )  ' 这是调用的密钥出错的结果
CALL返回值 = Call (到整数 (超级用户_调用隐藏子程序 (1698)), 变量_取数据指针 (“这是一个隐藏的DLL命令,被我调用了,实际就是一个CALL”), 变量_取数据指针 (68), 变量_取数据指针 (“哈哈,调用隐藏成功!”), 变量_取数据指针 (取窗口句柄 ()))  ' CALL的参数要用命令“变量_取数据指针”转化一下,用的是指针,需取指针的变量我已经使用了通用型
输出调试文本 (CALL返回值)

最后试试这个命令
是不是就可以调用隐藏的DLL命令了?
PS:这个原理推下来DLL还可以做插件,DLL加上壳命令就不容易泄漏了
源码回复可见!!!没有什么技术含量,只是提供一个思路!!
谢谢观看本节目!!!
^O^欢迎好评!感谢好评!
调用隐藏DLL命令.zip (346.37 KB, 下载次数: 532)

点评

不过dll和exe都是同一个进程,内存都是共用的,你返回一个函数的地址,call一下肯定就能调用,要是能做到调用其他进程的函数那才叫一个屌   广西壮族自治区南宁市  发表于 2018-1-18 00:57

评分

参与人数 2好评 +1 精币 +2 收起 理由
kyo9766 + 1 感谢分享,很给力!~
小秋秋呀 + 1 + 1 支持开源~!感谢分享

查看全部评分


本帖被以下淘专辑推荐:

结帖率:100% (7/7)

签到天数: 12 天

发表于 2024-4-4 19:03:29 | 显示全部楼层   江西省吉安市
感谢分享~!!!!
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2024-2-2 18:04:57 | 显示全部楼层   广东省汕尾市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

签到天数: 15 天

发表于 2023-8-11 23:51:16 | 显示全部楼层   湖南省益阳市
有点复杂不会用
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 11 天

发表于 2023-7-9 14:02:58 | 显示全部楼层   广东省佛山市
调用隐藏的DLL命令
回复 支持 反对

使用道具 举报

签到天数: 10 天

发表于 2023-7-4 02:59:01 | 显示全部楼层   广东省广州市
谢谢分享
回复 支持 反对

使用道具 举报

发表于 2023-4-26 10:05:38 | 显示全部楼层   北京市北京市
好吧,已经下载,赚点金币
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)

签到天数: 7 天

发表于 2023-3-2 14:14:12 | 显示全部楼层   山东省潍坊市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

签到天数: 21 天

发表于 2022-7-15 09:46:42 | 显示全部楼层   广西壮族自治区来宾市
感谢楼主分析,学习。
回复 支持 反对

使用道具 举报

发表于 2022-7-13 08:46:21 | 显示全部楼层   河南省商丘市
感谢楼主分析,学习。
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2022-6-8 09:19:31 | 显示全部楼层   江西省赣州市
感谢分享
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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