能力值:
( LV2,RANK:10 )
|
-
-
2 楼
  没人知道吗
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
0x15不是固定值, 哪来的为什么。你查看uSearchAddr地址的汇编代码就知道了,代码在0x15偏移处写入0xe9 jmp指令
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
0F9493DD 8B46 4C mov eax,dword ptr ds:[esi+0x4C] 8B 46 4C 03 46 70
0F9493E0 0346 70 add eax,dword ptr ds:[esi+0x70]
0F9493E3 57 push edi
0F9493E4 FF75 08 push dword ptr ss:[ebp+0x8]
0F9493E7 33DB xor ebx,ebx
0F9493E9 50 push eax
0F9493EA 895D FC mov dword ptr ss:[ebp-0x4],ebx
0F9493ED E8 FE57E5FF call Adobe_AI.0F79EBF0
0F9493F2 83C4 0C add esp,0xC
0F9493F5 FF76 4C push dword ptr ds:[esi+0x4C]
0F9493F8 8D4D B4 lea ecx,dword ptr ss:[ebp-0x4C]
0F9493FB FF76 70 push dword ptr ds:[esi+0x70]
0F9493FE 6A 07 push 0x7 目标地址 - 下个指令地址? 怎么算出来的 0x15
|
能力值:
( LV3,RANK:30 )
|
-
-
5 楼
因为查找特征码的函数返回的是特征码的首地址,然后+0x15才是真正的call的地址,至于+0x6 就是hook后返回的地址吧
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
谢谢 谢谢 ,研究了一下午刚整明白了... 又再看新问题了 - - jmp 进入我函数我弹出一个框 点完确定程序就崩溃了 ai...... void __declspec(naked) _send_stub()
{ __asm
{
pushad
pushfd
jmp dword ptr[aaaaa]
popfd
popad
//把上面注释一切正常,aaaaa里面我就弹了一个框点了确定程序就退出. 不弹框更直接,就直接闪退了
add esp, 0Ch
push[esi + 4Ch]
jmp dword ptr[bbbbb]
}
} 谁来救救我.....
|
能力值:
( LV4,RANK:50 )
|
-
-
7 楼
飞飞飞飞飞
谢谢 谢谢 ,研究了一下午刚整明白了... 又再看新问题了 - - jmp 进入我函数我弹出一个框 点完确定程序就崩溃了 ai...... void& ...
你JMP aaaaa后是不返回了的,就是不会执行 popfd,popad以及后面的指令,要找问题你去aaaaa看,或者你是用错了,JMP AAA应该改成call aaaaa,真的是....什么逻辑啊,先去看看汇编指令,熟悉个个指令再来写shellcode啊
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
lononan
你JMP aaaaa后是不返回了的,就是不会执行 popfd,popad以及后面的指令,要找问题你去aaaaa看,或者你是用错了,JMP AAA应该改成call aaaaa,真的是....什么逻辑啊, ...
0FEA93DD |. 8B46 4C mov eax,dword ptr ds:[esi+0x4C]
0FEA93E0 |. 0346 70 add eax,dword ptr ds:[esi+0x70]
0FEA93E3 |. 57 push edi
0FEA93E4 |. FF75 08 push [arg.1] ; text.00F4AFA4
0FEA93E7 |. 33DB xor ebx,ebx
0FEA93E9 |. 50 push eax ; text.00F40000
0FEA93EA |. 895D FC mov [local.1],ebx
0FEA93ED E8 FE57E5FF call
0FEA93F2 |. 83C4 0C add esp,0xC //这里CE查看会变成修改后的 Jmp 跳如下面的汇编
0FEA93F5 |. FF76 4C push dword ptr ds:[esi+0x4C]
0FEA93F8 |. 8D4D B4 lea ecx,[local.19] //jmp dword ptr[bbbb] hook 回来
0FEA93FB |. FF76 70 push dword ptr ds:[esi+0x70]
0FEA93FE |. 6A 07 push 0x7 __asm
{
pushad
pushfd
push edi //这句有问题 加上就闪退了
push[esi + 4Ch] //这句有问题 加上就闪退了
call dword ptr[aaaa]
popfd
popa
add esp, 0Ch
push[esi + 4Ch]
jmp dword ptr[bbbb]
} void gggg(LPCVOID code, long lParam
)
{ AfxMessageBox(L"结束");
} 昨天改了一天有点蒙,优化一下
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
|
能力值:
( LV3,RANK:30 )
|
-
-
10 楼
|
|
|