能力值:
( LV3,RANK:20 )
|
-
-
2 楼
WriteProcessMemory这个没有被封啊,至少我这好好的
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
你指的什么杀软?如果真要跳过这一检测,就必须写驱动了
|
能力值:
( LV3,RANK:20 )
|
-
-
4 楼
或者静态修改EXE文件,把它的输出表改掉,让它那个函数用你的函数
|
能力值:
( LV3,RANK:20 )
|
-
-
5 楼
改输出表是相当复杂的,主要是地址对齐问题
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
可能是用的杀软不一样,我这儿被封了,就算没被封,好多软件自己也封了,显然封包助手不是这样注入的,它也没用驱动,有时间调试一下看看吧
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
最简单的就是copy Windows核心编程的代码。。。
要是你想hook recv 等winsock函数的话。
核心编程代码稍微的组合一下。。。
即在DLL里面初始化 recv等函数的替换,怎么替换?把核心编程的代码Copy过来修改成recv即可。
我就是这么做的。反正已经可以用了。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
谢谢楼上回答,不过我问的是怎么注入啊,普通的注入方法不能用,注入以后再hook api就好说了
|
能力值:
( 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(
。。。。。
|
能力值:
( LV3,RANK:20 )
|
-
-
10 楼
被封的话,就学写驱动吧,驱动做得好,肯定封不了
|
能力值:
( LV3,RANK:20 )
|
-
-
11 楼
去买两本书看看,《天书夜读》《windows驱动程序详解》
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
要用到WriteProcessMemory,这个函数被封了
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
应该不用写驱动的,因为封包助手没有用驱动,杀毒软件也根本没提示,它就注入进去了,说明没用CreateRemoteThread这样的函数
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
写DLL挂钩呢,也能实现DLL注入,有没有试过?那样在DLL里读写进程的值就可以不用WRITEPROCESSMEMORY了
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
应该不行吧,消息挂钩最终载入还是要调用LoadLibraryExW这样的函数,在我调试的程序里这个函数好像也被hook了
|
|
|