开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 32568|回复: 256
打印 上一主题 下一主题
收起左侧

[2021开源大赛(第六届)] 使用 LdrLoadDll 注入DLL, 2021-12-17 支持注入64位dll

    [复制链接]

结帖率:100% (9/9)
跳转到指定楼层
楼主
发表于 2021-12-16 17:52:53 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式   广西壮族自治区崇左市
本帖最后由 福仔 于 2021-12-17 13:32 编辑



dll注入 2021-12-17.zip (91.58 KB, 下载次数: 1010)


源码是c++代码翻译过来的, 所以, 那些指针读写的偏移我就不做过多的讲解.....
那些偏移都是对应某个成员.... 众所周知, 易语言的数据类型是个坑, 所以, 申请一块空间当成一个结构使用了
愿意研究的话, 结构是这个
typedef struct CALL_ARGUMENT_DATA
{
    PFN_RtlInitUnicodeString    fnRtlInitUnicodeString;     // 加载unicode字符串
    PFN_LdrLoadDll              fnLdrLoadDll;               // 加载dll的函数

    // 下面5个是 LdrLoadDll 需要使用的数据, DllName通过RtlInitUnicodeString来提供被 LdrLoadDll 使用
    WCHAR                       DllName[260];               // dll完整路径
    PWCHAR                      DllPath;                    // LdrLoadDll第一个参数, Dll路径, 可以为0
    ULONG                       Flags;                      // LdrLoadDll第二个参数, 标识
    UNICODE_STRING              UnicodeString;              // LdrLoadDll第三个参数, dll路径 UNICODE_STRING 结构
    HANDLE                      hModule;                    // LdrLoadDll第四个参数, 模块地址, 注入后模块地址保存到这里

    // 下面这些成员是获取函数地址使用的数据
    PFN_LdrGetProcedureAddress  fnLdrGetProcedureAddress;   // 获取函数地址
    PFN_RtlInitAnsiString       fnRtlInitAnsiString;        // 加载ansi字符串
    ANSI_STRING                 AnsiString;                 // 获取函数名的ansi字符串结构
    ULONG                       Ordinal;                    // LdrGetProcedureAddress 第三个参数
    PFN_CallFun                 fun;                        // LdrGetProcedureAddress第四个参数, 被调用的函数名 函数原型, GetProcAddress() 得到的函数

    PFN_MessageBox              pfn_MessageBox;             // 信息框函数地址
    BOOL                        isDebug;                    // 是否调试, 调试的话就弹出信息框
    char                        funName[260];               // 被调用的函数名
    DWORD                       funArg;                     // 传递到被调用的函数参数
    LPVOID                      funRet;                     // 被调用函数的返回值
    char                        argData[2000];              // 传递到函数里的数据, 参数数据最大支持2000个字节
}*LPCALL_ARGUMENT_DATA;


注入流程:
1. 创建远程线程
2. 注入一段代码到目标进程里执行
3. 这段代码调用 LdrLoadDll 加载dll
4. 调用 LdrGetProcedureAddress 获取函数地址, 然后调用, 返回

2021-12-17 更新
使用了eWOW64Ext https://125.confly.eu.org/thread-14361249-1-1.html

1. 注入32位进程只能使用32位的dll
2. 注入64位进程只能使用64位的dll

支持注入任务管理器


蹭一下开源大赛的热度....

评分

参与人数 14好评 +13 精币 +46 收起 理由
Shanks + 1 + 1 正好用到!感谢!
ghost12 + 1 支持开源~!感谢分享
wxw0009 + 1 + 1 我TM正好刚需
被封禁言 + 1 支持开源~!感谢分享
超级の赛亚人 + 1 + 2 感谢分享,很给力!~
大小鱼 + 1 + 2 支持开源~!感谢分享
易语言资源网 + 1 + 5 支持开源~!感谢分享
精易客服 + 1 + 5 精彩文章希望继续努力
sinewtec + 1 支持开源~!感谢分享
camingo + 1 + 2 新技能已get√
金胖子 + 1 + 2 支持开源~!感谢分享
wtflxk + 1 + 2 感谢大佬 分享知识
1185384801 + 1 + 3 支持开源~!感谢分享
大司命 + 1 + 20 支持开源~!感谢分享

查看全部评分

本帖被以下淘专辑推荐:

257
发表于 2025-1-16 21:13:54 | 只看该作者   浙江省杭州市
如果这个dll 有一个方法,多个参数怎么使用,教程里只有一个参数
回复 支持 反对

使用道具 举报

结帖率:60% (3/5)
256
发表于 2025-1-14 22:43:48 | 只看该作者   湖南省怀化市
正好用到!感谢!
回复 支持 反对

使用道具 举报

签到天数: 1 天

255
发表于 2024-10-21 10:54:54 | 只看该作者   广东省深圳市
好东西呀
回复 支持 反对

使用道具 举报

签到天数: 1 天

254
发表于 2024-10-21 10:53:45 | 只看该作者   广东省深圳市
支持一下。。。
回复 支持 反对

使用道具 举报

253
发表于 2024-9-21 19:23:58 | 只看该作者   浙江省杭州市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

252
发表于 2024-9-4 22:15:05 | 只看该作者   湖南省常德市
6666666666666666666666666666
回复 支持 反对

使用道具 举报

251
发表于 2024-5-24 11:05:26 | 只看该作者   河南省新乡市
sdgsfjgklkhgfgfkh
回复 支持 反对

使用道具 举报

250
发表于 2024-5-23 15:48:16 | 只看该作者   天津市天津市
6666666666666666666666666666
回复 支持 反对

使用道具 举报

签到天数: 2 天

249
发表于 2024-3-14 10:20:23 | 只看该作者   新疆维吾尔自治区乌鲁木齐市
好像很厉害的样子
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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