首页
社区
课程
招聘
[原创]c++ 载入内存中dll ,以及内存注入 (已开源)
发表于: 2015-9-5 23:01 50251

[原创]c++ 载入内存中dll ,以及内存注入 (已开源)

2015-9-5 23:01
50251
用c++ 许多代码都得自己写, 这里是我自己修改的一个内存载入的一个封装库 , c++ 的程序员可以直接拿来用

感谢从看雪汲取的许多营养 , 无他

特点如下:

直接在内存中载入,无磁盘占用

支持加壳保护的dll , 平时用的最多的vmp ,其它壳子还请自己测试

无模块载入, 因为重写了loadlibary ,如需要请自己注册

支持注入到目标进程,前提请先使用相应权限打开目标

对原代码的修改如下:

使用内联汇编将原 c/c++的库调用 代替, 使得 注入代码可行

支持直接使用资源加载和注入

支持加载exe ,请自行 hook 某些函数 ,确保exe 正确运行

加入inline 注入方式

代码少量加花, 确保编译器最大优化无误

注入的示例代码

if (l.softGo(shell) )

{

    if( remoteInject( l.PI.hProcess  ,GetModuleHandleW(NULL) , IDR_DLL1, L"dll" )  )

        LYOTRACELN(" 注入成功 " ) ;

    else

        LYOTRACELN(" 注入失败 " );

    l.run();

}

前段时间修改了下 , 可以不借助lib 直接引入 源码了 ,   部分函数只在 release 下有效 .
源码在 comm.zip   , 缺少的了花指令 自己补上就行

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
免费 9
支持
分享
最新回复 (53)
雪    币: 231
活跃值: (2631)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
谢谢楼主,源码也开源吧
2015-9-5 23:25
0
雪    币: 9
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
只放一个lib?????
2015-9-5 23:45
0
雪    币: 878
活跃值: (496)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
这类代码已经泛滥了, 兼容性可否保证?
2015-9-6 00:25
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
支持SEH没有?
2015-9-6 00:58
0
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
pe装载器吗?
2015-9-6 03:57
0
雪    币: 576
活跃值: (2035)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
其他几个函数咋个用
2015-9-6 07:32
0
雪    币: 62
活跃值: (946)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
开源吧~楼主
2015-9-6 09:23
0
雪    币: 552
活跃值: (4032)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
9
说的在理,顶。
2015-9-6 10:20
0
雪    币: 143
活跃值: (263)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
10
泛滥不至于吧 , 或者是我搜索的能力差了些, 麻烦举几个例子看一下
2015-9-6 11:32
0
雪    币: 143
活跃值: (263)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
11
能用就行 , 我也是用lib ,如果是用代码, debug 下会把 checkesp 编译进去 .
2015-9-6 11:35
0
雪    币: 6924
活跃值: (3662)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
下载来看看
2015-9-6 17:19
0
雪    币: 284
活跃值: (250)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
13
666,蛮好用的
2015-9-6 21:46
0
雪    币: 1103
活跃值: (461)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
请问支持64位程序不?
2015-9-6 23:13
0
雪    币: 7035
活跃值: (4184)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
nark一下,或许有用
2015-9-7 09:39
0
雪    币: 143
活跃值: (263)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
16
不支持, 因为里面用的32位汇编的
2015-9-7 10:46
0
雪    币: 94
活跃值: (445)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
无码不太敢用啊,只能谢谢楼主的共享精神
2015-9-7 16:09
0
雪    币: 143
活跃值: (263)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
18
呵呵
2015-9-9 08:37
0
雪    币: 325
活跃值: (650)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
make一下  说不定有用
2015-9-15 01:41
0
雪    币: 271
活跃值: (196)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
mark,需要的时候再来下
2015-10-2 19:42
0
雪    币: 35
活跃值: (612)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
没用 不支持MFC DLL  支持WIN32的 网上大吧
2015-10-5 03:55
0
雪    币: 49
活跃值: (261)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
用VS那个版本编译的lib啊   我用2005编译提示  error C1007: 无法识别的标志“-typedil”(在“p2”中)
2016-1-9 13:11
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
用了就要留名,感谢分享
2016-1-11 23:30
0
雪    币: 31
活跃值: (28)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
24
mark一下,或许有用
2016-4-22 21:03
0
雪    币: 991
活跃值: (195)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
请问下

BOOL remoteMemInject(HANDLE hProcess, LPVOID data , DWORD dataSize)
{
        prepareCode();
        DWORD dwHasWrite;

        /// 注入代码
        DWORD codeSize = (int)prepareCode -(int) __GetProcessHeap ;

能说说这个codeSize是怎么计算出来的?
2016-8-22 09:22
0
游客
登录 | 注册 方可回帖
返回
//