精易论坛

标题: 使用 LdrLoadDll 注入DLL, 2021-12-17 支持注入64位dll [打印本页]

作者: 福仔    时间: 2021-12-16 17:52
标题: 使用 LdrLoadDll 注入DLL, 2021-12-17 支持注入64位dll
本帖最后由 福仔 于 2021-12-17 13:32 编辑






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

    // 下面5个是 LdrLoadDll 需要使用的数据, DllName通过RtlInitUnicodeString来提供被 LdrLoadDll 使用
    WCHAR                       DllName[zxsq-anti-bbcode-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[zxsq-anti-bbcode-260];               // 被调用的函数名
    DWORD                       funArg;                     // 传递到被调用的函数参数
    LPVOID                      funRet;                     // 被调用函数的返回值
    char                        argData[zxsq-anti-bbcode-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

支持注入任务管理器


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


作者: 遵纪守法    时间: 2021-12-16 17:57
11111111111111
作者: TBit    时间: 2021-12-16 18:06
支持大佬
作者: beepsanta    时间: 2021-12-16 18:09
学习学习...
作者: kmskik    时间: 2021-12-16 18:14
感谢楼主的无私分享,谢谢!
作者: 2657337546    时间: 2021-12-16 18:16
感谢分享拿走看看
作者: 福仔    时间: 2021-12-16 18:19
资源里的opCode 是下面这段汇编

55                   push        ebp  
8B EC                mov         ebp,esp  
8B 45 08             mov         eax,dword ptr [ebp+8]  
83 B8 40 02 00 00 00 cmp         dword ptr [eax+00000240h],0  
74 18                je          00106A37  
6A 00                push        0  
6A 00                push        0  
8B 4D 08             mov         ecx,dword ptr [ebp+8]  
83 C1 08             add         ecx,8  
51                   push        ecx  
6A 00                push        0  
8B 55 08             mov         edx,dword ptr [ebp+8]  
8B 82 3C 02 00 00    mov         eax,dword ptr [edx+0000023Ch]  
FF D0                call        eax  
8B 4D 08             mov         ecx,dword ptr [ebp+8]  
83 B9 20 02 00 00 00 cmp         dword ptr [ecx+00000220h],0  
75 46                jne         00106A89  
8B 55 08             mov         edx,dword ptr [ebp+8]  
83 C2 08             add         edx,8  
52                   push        edx  
8B 45 08             mov         eax,dword ptr [ebp+8]  
05 18 02 00 00       add         eax,218h  
50                   push        eax  
8B 4D 08             mov         ecx,dword ptr [ebp+8]  
8B 11                mov         edx,dword ptr [zxsq-anti-bbcode-ecx]  
FF D2                call        edx  
8B 45 08             mov         eax,dword ptr [ebp+8]  
05 20 02 00 00       add         eax,220h  
50                   push        eax  
8B 4D 08             mov         ecx,dword ptr [ebp+8]  
81 C1 18 02 00 00    add         ecx,218h  
51                   push        ecx  
8B 55 08             mov         edx,dword ptr [ebp+8]  
8B 82 14 02 00 00    mov         eax,dword ptr [edx+00000214h]  
50                   push        eax  
8B 4D 08             mov         ecx,dword ptr [ebp+8]  
8B 91 10 02 00 00    mov         edx,dword ptr [ecx+00000210h]  
52                   push        edx  
8B 45 08             mov         eax,dword ptr [ebp+8]  
8B 48 04             mov         ecx,dword ptr [eax+4]  
FF D1                call        ecx  
8B 55 08             mov         edx,dword ptr [ebp+8]  
83 BA 20 02 00 00 00 cmp         dword ptr [edx+00000220h],0  
75 07                jne         00106A9C  
33 C0                xor         eax,eax  
E9 83 00 00 00       jmp         00106B1F  
8B 45 08             mov         eax,dword ptr [ebp+8]  
05 44 02 00 00       add         eax,244h  
50                   push        eax  
8B 4D 08             mov         ecx,dword ptr [ebp+8]  
81 C1 2C 02 00 00    add         ecx,22Ch  
51                   push        ecx  
8B 55 08             mov         edx,dword ptr [ebp+8]  
8B 82 28 02 00 00    mov         eax,dword ptr [edx+00000228h]  
FF D0                call        eax  
8B 4D 08             mov         ecx,dword ptr [ebp+8]  
81 C1 38 02 00 00    add         ecx,238h  
51                   push        ecx  
8B 55 08             mov         edx,dword ptr [ebp+8]  
8B 82 34 02 00 00    mov         eax,dword ptr [edx+00000234h]  
50                   push        eax  
8B 4D 08             mov         ecx,dword ptr [ebp+8]  
81 C1 2C 02 00 00    add         ecx,22Ch  
51                   push        ecx  
8B 55 08             mov         edx,dword ptr [ebp+8]  
8B 82 20 02 00 00    mov         eax,dword ptr [edx+00000220h]  
50                   push        eax  
8B 4D 08             mov         ecx,dword ptr [ebp+8]  
8B 91 24 02 00 00    mov         edx,dword ptr [ecx+00000224h]  
FF D2                call        edx  
85 C0                test        eax,eax  
74 04                je          00106AF5  
33 C0                xor         eax,eax  
EB 2A                jmp         00106B1F  
8B 45 08             mov         eax,dword ptr [ebp+8]  
8B 4D 08             mov         ecx,dword ptr [ebp+8]  
03 88 48 03 00 00    add         ecx,dword ptr [eax+00000348h]  
51                   push        ecx  
8B 55 08             mov         edx,dword ptr [ebp+8]  
8B 82 38 02 00 00    mov         eax,dword ptr [edx+00000238h]  
FF D0                call        eax  
8B 4D 08             mov         ecx,dword ptr [ebp+8]  
89 81 4C 03 00 00    mov         dword ptr [ecx+0000034Ch],eax  
8B 55 08             mov         edx,dword ptr [ebp+8]  
8B 82 4C 03 00 00    mov         eax,dword ptr [edx+0000034Ch]  
5D                   pop         ebp  
C2 04 00             ret         4  


作者: xiikcc    时间: 2021-12-16 18:22
必须支持大佬
作者: fdassd    时间: 2021-12-16 18:40
支持开源~!感谢分享
作者: kagari    时间: 2021-12-16 18:45
支持开源~!感谢分享
作者: wtflxk    时间: 2021-12-16 18:50
学习一下大佬的技术
作者: Dakk    时间: 2021-12-16 18:54
看看!!!!!!!!!!
作者: 划落的天空    时间: 2021-12-16 19:01
看下这个东西哦
作者: 谁的坏叔叔    时间: 2021-12-16 19:04
好东西
作者: wojinz    时间: 2021-12-16 19:09
LdrLoadDll 注入DLL
作者: iivbdo    时间: 2021-12-16 19:09
看看                        
作者: a492736664    时间: 2021-12-16 19:26
学习下..............................................................
作者: gaoqing    时间: 2021-12-16 19:34
谢谢分享
作者: fyh505099    时间: 2021-12-16 19:37
感谢大佬分享 学习学习
作者: 74596877    时间: 2021-12-16 19:42
支持一个!!!
作者: wmv520    时间: 2021-12-16 19:45
支持开源~!感谢分享
作者: 酷易自绘    时间: 2021-12-16 20:03
RE: 使用 LdrLoadDll 注入DLL [修改]
作者: wbphs    时间: 2021-12-16 20:21
学习一下这个方法
作者: a6546    时间: 2021-12-16 20:23
支持一下
作者: 火乐    时间: 2021-12-16 20:29
用不用,下载来学习
作者: a13511315443    时间: 2021-12-16 20:40
sadasdasdasdasdasdas
作者: realplayer102    时间: 2021-12-16 20:55
源码是c++代码翻译过来的,
作者: qq2518    时间: 2021-12-16 21:07
瞧瞧看吧。感谢分享
作者: bxfa    时间: 2021-12-16 21:14
很有用的.
作者: xjshuaishuai    时间: 2021-12-16 21:24
谢谢分享!
作者: 汉族    时间: 2021-12-16 21:28
支持,            
作者: 283688410    时间: 2021-12-16 21:28
谢谢楼主分享
作者: 缺1份矜持ゝ    时间: 2021-12-16 22:05
支持.感谢分享
作者: lywfyt    时间: 2021-12-16 22:21
好好学习,太弱的水平了,这是做什么用的?
作者: xujianc    时间: 2021-12-16 22:27
666666666666666666

作者: 金胖子    时间: 2021-12-16 22:38
拿来吧你!
作者: 该死dē蚊子    时间: 2021-12-16 22:59
感谢分享哦。
作者: 794229345    时间: 2021-12-16 23:39
楼主辛苦了,谢谢楼主,感谢楼主分享,楼主好人一生平安!!!
作者: 猪滴寳貝哝    时间: 2021-12-17 00:55
非常给力的翻译!
作者: 尖叫    时间: 2021-12-17 02:21
看着不赖啊
作者: zytlj    时间: 2021-12-17 04:52
谢谢分享。
作者: wxb130260    时间: 2021-12-17 07:44
谢谢楼主分享
作者: yuan71058    时间: 2021-12-17 07:54
支持开源~!感谢分享
作者: camingo    时间: 2021-12-17 08:06

作者: xuangeylw    时间: 2021-12-17 08:26
非常nice!!!
作者: yuyang508    时间: 2021-12-17 08:33
感谢大佬 分享知识
作者: jiang910615    时间: 2021-12-17 08:43
学习学习
作者: Qt小白    时间: 2021-12-17 08:54
非常给力的翻译!
作者: Code123    时间: 2021-12-17 08:59
        支持开源~!感谢分享
作者: shinid8210    时间: 2021-12-17 09:22
        感谢大佬 分享知识
作者: cailang666    时间: 2021-12-17 09:23
看看看看 不知道64位能注入不
作者: xiaoj88    时间: 2021-12-17 09:37

作者: 梦想ol    时间: 2021-12-17 10:30
支持开源~!感谢分享
作者: wyd168    时间: 2021-12-17 10:48
使用 LdrLoadDll 注入DL
作者: z5ss5b    时间: 2021-12-17 11:04
学习使用

作者: sinewtec    时间: 2021-12-17 11:13
        支持开源~!感谢分享
作者: 619767868    时间: 2021-12-17 11:30
感谢大佬 分享知识
作者: 布鲁惠斯    时间: 2021-12-17 11:37
支持开源~!感谢分享
作者: 学习122    时间: 2021-12-17 12:29
支持开源~!感谢分享
作者: BIG牛肉面    时间: 2021-12-17 12:43
支持一下
作者: 超级の赛亚人    时间: 2021-12-17 12:45
感谢分享。。。
作者: muye84    时间: 2021-12-17 13:39

感谢分享。。。
作者: johnchow    时间: 2021-12-17 13:54

支持开源~!感谢分享
作者: urenai    时间: 2021-12-17 14:33
使用 LdrLoadDll 注入DLL, 2021-12-17 支持注入64位dll
作者: 元老    时间: 2021-12-17 16:04

作者: 0bing0    时间: 2021-12-17 16:35
看看 学习一下
作者: xtavoxing    时间: 2021-12-17 16:53
棒棒哒  棒棒哒
作者: 指尖流淌    时间: 2021-12-17 17:09
        支持开源~!感谢分享
作者: q3033767429    时间: 2021-12-17 17:46
感谢分享学习了

作者: 真烦    时间: 2021-12-17 17:53
谢谢分享,辛苦了
作者: 杰西卡技术传媒    时间: 2021-12-17 18:19
        支持开源~!感谢分享
作者: 戴眼镜的小狼    时间: 2021-12-17 19:21
hkgkjhjkhkkj
作者: huayinzhe    时间: 2021-12-17 19:58
牛逼
作者: 涛哥娱乐网    时间: 2021-12-17 20:08
支持开源~!感谢分享
作者: FallingSnow    时间: 2021-12-17 20:21
好家伙,不错
作者: 631935411    时间: 2021-12-17 20:36
66666666666666666
作者: Ay1996    时间: 2021-12-17 23:25
感谢分享了 老头
作者: emodiyu    时间: 2021-12-18 02:19

谢谢分享,辛苦了
作者: VerygoodZzZ    时间: 2021-12-18 13:26
感谢分享   
作者: yxl2008    时间: 2021-12-18 15:05
感谢分享,下载学习!!!
作者: 小恒浩    时间: 2021-12-18 15:14
        支持开源~!感谢分享
作者: 司徒西    时间: 2021-12-18 18:41
        支持开源~!感谢分享
作者: zhouli5464    时间: 2021-12-18 19:25
1[精易活动进行中] 【开源大赛】现在参赛即有机会获得【BiliBili联名键盘】..精易自媒体
2[精易活动进行中] 精易论坛2021【开发者开源大赛】正式开始精易客服
3[精易活动进行中] 【主题达人榜】发表主题,每月排名,奖励多多精易自媒体
4[精易活动进行中] 【精易模块for火山PC】类库/命令征集精易自媒体
5[精易活动进行中] 【名人堂】优秀会员的荣誉象征精易自媒体
6[精易活动进行中] 您好,荣誉会员,请签收精易自媒体
7[精易活动进行中] 【我为易语言代言】人人成为软件工程师不是梦想精易客服
8[精易活动进行中] 【最新】荣誉值特权表精易客服
9[精易活动进行中] 【集思广益】投稿得终身资源vip、终身vip模块、免费参与.....精易客服
10[精易活动进行中] “赞助会员”用户组,享有多项尊贵特权精易客服
11[精易活动进行中] 赚精币,稳固技术,提高自我价值,换取【荣誉会员/顶级V.....
作者: bezizi    时间: 2021-12-18 19:32
6666666666666
作者: 千与千寻    时间: 2021-12-18 19:32
6666666666666
作者: 大小鱼    时间: 2021-12-18 19:50
支持开源~!感谢分享
作者: 8wy721719    时间: 2021-12-18 22:21
支持开源~!感谢分享
作者: 陈勇    时间: 2021-12-18 23:26
支持下。谢谢分享
作者: 哔哔芭比波比i    时间: 2021-12-19 01:47
感谢分享下载一份
作者: dzscuz    时间: 2021-12-19 03:32
看看是什么好东西
作者: 顾小赫    时间: 2021-12-19 05:46
3424
作者: kai741101314    时间: 2021-12-19 07:19

感谢分享
感谢分享
作者: ssxpvicp    时间: 2021-12-19 10:01
支持开源~!感谢分享
作者: boxxie    时间: 2021-12-19 11:17
多谢楼主分享哟
作者: 猫神父    时间: 2021-12-19 11:50
LdrLoadDll  NTDLL底层函数
作者: 依窗听1    时间: 2021-12-19 13:11
支持开源~!感谢分享
作者: 哈拉哈拉    时间: 2021-12-19 13:30
楼主辛苦了,谢谢楼主,感谢楼主分享,楼主好人一生平安!!!
作者: 不苦小和尚    时间: 2021-12-19 18:22
谢谢分享,不错不错
作者: 全村人的骄傲    时间: 2021-12-19 18:39
感谢分享                  
作者: 嫖某人    时间: 2021-12-19 19:33
下载看看




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4