首页
社区
课程
招聘
[求助]DLL无模块注入之后,如何启动入口?
发表于: 2016-12-28 11:31 6558

[求助]DLL无模块注入之后,如何启动入口?

2016-12-28 11:31
6558
DLL注入进程之后,不知道怎么启动入口。希望高手给点思路

//这样启动 就直接挂了  报0X000000C错误。这应该空指针的问题。 但是我想不明白

char * pName=(char *)VirtualAllocEx(hProcess,NULL,MAX_PATH,MEM_COMMIT |MEM_RESERVE ,PAGE_EXECUTE_READWRITE);
                WriteProcessMemory(hProcess,pName,"user32.dll",10,NULL);
                HANDLE hThread=CreateRemoteThread(hProcess,NULL,NULL,(LPTHREAD_START_ROUTINE)LoadLibrary,pName,NULL,NULL);
                SuspendThread(hThread);
                CONTEXT context={0};
                context.ContextFlags=CONTEXT_FULL;
                GetThreadContext(hThread,&context);
                context.Eip=pNt->OptionalHeader.ImageBase + pNt->OptionalHeader.AddressOfEntryPoint;
                SetThreadContext(hThread,&context);
                ResumeThread(hThread);
                VirtualFree(pName,MAX_PATH,MEM_RELEASE);

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 2291
活跃值: (933)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
肯定不能这样啊,
1.都指定了LoadLibrary为线程入口,你怎么又在改EIP干嘛呢?
2.就算挂起线程,也是创建即挂起,你先Create,然后Suspend,鬼知道现在线程执行到哪里了。
2.线程执行入口前,Ring3还有一堆初始化操作,不能直接执行你dll的OEP
3.Dll加载就从DllMain开始了
2016-12-28 11:51
0
雪    币: 178
活跃值: (1238)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
我是直接把整个PE 贴到进程去的。
所以他不会执行。大师有什么办法 执行入口函数吗?
2016-12-28 13:47
0
雪    币: 522
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
执行这句时   SuspendThread(hThread);      
新建的远程线程 可能还没加载起来user32.dll     也可能已经执行完OVER掉了
你这时再用句柄去操作这个线程的EIP。   两种可能  随便哪种都是挂。
2016-12-29 15:06
0
游客
登录 | 注册 方可回帖
返回
//