能力值:
( LV12,RANK:210 )
|
-
-
2 楼
|
能力值:
( LV12,RANK:210 )
|
-
-
3 楼
心有多大 舞台就有多大 逆向无解
|
能力值:
( LV12,RANK:210 )
|
-
-
4 楼
植物大战僵尸 和 DOTA 被PEDIY的最惨了
|
能力值:
( LV13,RANK:760 )
|
-
-
5 楼
呵呵,代码段的注入代码还能再精简,这个好像是88字节,有点大,我试了下能精简到62字节。
__start:
__asm
{
pushad
//得到本模块的模块基址,本来是esp+4,但pushad 8*4=32字节内容,所以是36 (0x24)
mov eax, [esp+0x24]
xchg eax, edi
call lb0
__emit 'w'
__emit 'a'
__emit 'r'
__emit 'k'
__emit 'e'
__emit 'y'
__emit 0
lb0:
pop esi
push esi //FindWindowA(NULL, "warkey")
push 0
call [edi+0x11111111] //FindWindowA函数地址 函数地址 = (基址+RVA(FirstThunk))
or eax, eax
jnz lb1
push SW_SHOWNORMAL
push esi
call [edi+0x33333333] //WinExec函数地址
jmp lb3
lb1:
push 0
push 0
push WM_CLOSE
push eax
call [edi+0x22222222] //SendMessageA(hWnd, WM_CLOSE, NULL, NULL);
lb3:
popad //恢复所有寄存器,并跳往原OEP
__emit 0xE9
__emit 0x44
__emit 0x44
__emit 0x44
__emit 0x44
}
__End:
|
能力值:
( LV13,RANK:760 )
|
-
-
6 楼
另外输入表依靠.rdata节间隙如果采用复制的方法好像浪费比较大,如果能向后调整体挪动一点,再添加输入表就非常棒了,嘿嘿
|
能力值:
( LV13,RANK:760 )
|
-
-
7 楼
看了一下,似乎难度非常大,可能会破坏掉输出表内容和输入表的OriginFirstThunk/IAT,这些值都可能需要修正。
|
能力值:
( LV4,RANK:50 )
|
-
-
8 楼
winexec 函数的地址还是手动添加进去的么?
|
能力值:
( LV4,RANK:50 )
|
-
-
9 楼
对不起 刚没仔细看代码 看完后发现了个 AddFunc2IDT函数。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
貌似我中午的回帖被删了...
|
能力值:
( LV13,RANK:760 )
|
-
-
11 楼
进行了改进:
1、对SHELLCODE和输入表都用间隙优先的方式进行附加。
2、如果节间隙空间不足,再增加新节的方式进行添加代码或输入表。
3、保持OEP处于.text节段,防止变态的卡巴大叔。
4、增加了错误处理和类代码整理。
5、对SHELLCODE进行了简化。
优点:
适用于魔兽争霸的所有版本!
|
能力值:
( LV4,RANK:50 )
|
-
-
12 楼
这个会报作弊。。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
看到魔兽呗吸引来了
刚编译了。。 先运行看下效果
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
没看懂,但还是顶一个
|
|
|