首页
社区
课程
招聘
[旧帖] 请教个dll注入的问题 0.00雪花
发表于: 2010-3-6 13:46 4681

[旧帖] 请教个dll注入的问题 0.00雪花

2010-3-6 13:46
4681
用CreateRemoteThread注入时,必须先用WriteProcessMemory在目标进程写入要注入的dll名字,但是现在的杀毒软件都hook了这个函数,那像封包助手这样的软件是怎样注入的呢,我看杀毒软件根本没提示啊,高手给解答一下

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
WriteProcessMemory这个没有被封啊,至少我这好好的
2010-3-6 13:51
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
你指的什么杀软?如果真要跳过这一检测,就必须写驱动了
2010-3-6 13:51
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
或者静态修改EXE文件,把它的输出表改掉,让它那个函数用你的函数
2010-3-6 13:52
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
改输出表是相当复杂的,主要是地址对齐问题
2010-3-6 13:53
0
雪    币: 143
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
可能是用的杀软不一样,我这儿被封了,就算没被封,好多软件自己也封了,显然封包助手不是这样注入的,它也没用驱动,有时间调试一下看看吧
2010-3-6 16:54
0
雪    币: 141
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
最简单的就是copy  Windows核心编程的代码。。。
要是你想hook recv 等winsock函数的话。
核心编程代码稍微的组合一下。。。
即在DLL里面初始化 recv等函数的替换,怎么替换?把核心编程的代码Copy过来修改成recv即可。
我就是这么做的。反正已经可以用了。
2010-3-6 17:49
0
雪    币: 143
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
谢谢楼上回答,不过我问的是怎么注入啊,普通的注入方法不能用,注入以后再hook api就好说了
2010-3-6 22:18
0
雪    币: 141
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
晕,怎么注入啊。
核心编程上不是有写的嘛。。
CreateRemoteThread 啊。
上面的列子很耐用。。

    HWND hWnd = ::FindWindow(myClass,NULL);
    if(!hWnd){MessageBox(TEXT("找不到窗口"),TEXT("找不到窗口"),MB_OK);return;}

    DWORD dwProcessId = 0;
    GetWindowThreadProcessId(hWnd,&dwProcessId);

    if(!dwProcessId){MessageBox(TEXT("找不到进程"),TEXT("找不到进程"),MB_OK);return;}

    PWSTR pszLibFileRemote = NULL;

    //lstrcat(szFilePath,TEXT("\\myact.dll"));
    lstrcpy(szFilePath,TEXT("E:\\test\\Solution1\\Release\\dlltest.dll"));

以下为核心编程那段代码。。。
自己copy就行了
    __try {
        // Get a handle for the target process.
        hProcess = OpenProcess(
。。。。。
2010-3-7 00:44
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
被封的话,就学写驱动吧,驱动做得好,肯定封不了
2010-3-7 09:15
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
去买两本书看看,《天书夜读》《windows驱动程序详解》
2010-3-7 09:15
0
雪    币: 143
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
要用到WriteProcessMemory,这个函数被封了
2010-3-7 13:30
0
雪    币: 143
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
应该不用写驱动的,因为封包助手没有用驱动,杀毒软件也根本没提示,它就注入进去了,说明没用CreateRemoteThread这样的函数
2010-3-7 13:31
0
雪    币: 463
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
写DLL挂钩呢,也能实现DLL注入,有没有试过?那样在DLL里读写进程的值就可以不用WRITEPROCESSMEMORY了
2010-3-7 16:14
0
雪    币: 143
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
应该不行吧,消息挂钩最终载入还是要调用LoadLibraryExW这样的函数,在我调试的程序里这个函数好像也被hook了
2010-3-7 22:11
0
游客
登录 | 注册 方可回帖
返回
//