能力值:
( LV2,RANK:10 )
|
-
-
51 楼
很全很详细。。顶个。
|
能力值:
( LV11,RANK:180 )
|
-
-
52 楼
看了几年帖子了~这个是一定要回复的,说的太明白了~
|
能力值:
( LV2,RANK:10 )
|
-
-
53 楼
收藏学习,谢谢分享!
|
能力值:
( LV2,RANK:10 )
|
-
-
54 楼
思路不错,学习中
|
能力值:
( LV2,RANK:10 )
|
-
-
55 楼
有没有什么手段创建进程不通过explorer ???
|
能力值:
( LV7,RANK:100 )
|
-
-
56 楼
不错啊不错,,正在为这个痛苦呢,,对于有壳的exe用这注入非常OK,,学习,,学习。。看看能不能做成标准的dll封装。
|
能力值:
( LV2,RANK:10 )
|
-
-
57 楼
这个代码下来学习研究下。最近对DLL很有兴趣。
|
能力值:
( LV15,RANK:1473 )
|
-
-
58 楼
这个非常不错,学习一下
|
能力值:
( LV2,RANK:10 )
|
-
-
59 楼
好东东,要收藏了,嘿嘿,多谢LZ的无私奉献哈
|
能力值:
( LV2,RANK:10 )
|
-
-
60 楼
标记留念。学习备用。
|
能力值:
( LV2,RANK:10 )
|
-
-
61 楼
学习一下!!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
62 楼
呵呵。不错,加油。
|
能力值:
( LV3,RANK:20 )
|
-
-
63 楼
不错啊,顶一下~~~
|
能力值:
( LV9,RANK:610 )
|
-
-
64 楼
//加载dll方式:从程序的入口点,寻找第一个call,然后替换这个call地址,从而转到我们的shellcode中,执行完shellcode //再继续走原来的函数流程 //1.查找第一个call地址 BYTE bCode = 0; DWORD dwReadAddr = dwPeEntry; while( bCode != 0xe8 ) { bool bOk = ReadProcessMemory( lpProcessInformation->hProcess, (LPVOID)dwReadAddr, &bCode, 1, NULL ); if( !bOk ) { OutLog( "查找第一个call地址出错" ); if( bRes ) ResumeThread( lpProcessInformation->hThread ); return bRes; } dwReadAddr++;
}
这样做是有问题的。
|
能力值:
( LV2,RANK:10 )
|
-
-
65 楼
经过测试,通过explorer启动的进程都可以注入,但是有些程序启动时崩溃,有些却可以不会。不过还是很给力,灰常支持。
|
能力值:
( LV2,RANK:10 )
|
-
-
66 楼
谢。。复习下注入dll
|
能力值:
( LV2,RANK:10 )
|
-
-
67 楼
代码,学习注入,谢
|
能力值:
( LV3,RANK:20 )
|
-
-
68 楼
收藏了,好文章
|
能力值:
( LV13,RANK:220 )
|
-
-
69 楼
确实是有问题,具体钩那个函数,得简单分析上目标进程入口的前几个call,如果是call [通用寄存器]之类,那肯定不行了。得做特别处理。
|
能力值:
( LV13,RANK:220 )
|
-
-
70 楼
我贴的代码并不通用,问题主要存在于入口函数的hook 目标定位,但方法通用。针对具体要注入的进程,得简单分析下他的入口函数。
|
能力值:
( LV2,RANK:10 )
|
-
-
71 楼
和钩子没区别啊
|
能力值:
( LV5,RANK:70 )
|
-
-
72 楼
MARK一下,收藏了.
|
能力值:
( LV2,RANK:10 )
|
-
-
73 楼
好 有创意学习了
|
能力值:
( LV2,RANK:10 )
|
-
-
74 楼
谢谢楼主分享代码,MARK~! 收藏~~!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
75 楼
对于有壳的exe用这注入非常OK
|
|
|