能力值:
( LV9,RANK:230 )
|
-
-
2 楼
你可以增加一个节外节,把代码写在那里,然后在有bug的地方跳转到节外节的地址去,执行完后再跳回去
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
什么叫节外节?是修改.text的大小?
|
能力值:
(RANK:170 )
|
-
-
4 楼
angel是说添加一个新节
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
具体操作要怎么做呢?我用PEID打开程序的PE,实在不知道怎么下手.
另外我使用VirtualAllocEx在程序运行后申请空间来加代码,再转跳到那里,好像不行。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
VirtualAllocEx 是可以的.但要设置可执行属性,还有你要保证你的跳转命令是否有效.
因为 Jmp 是相对的.除非你用 Jmp eax 或 Jmp DWORD
可以用一个普通程序调试好了,于移过去.
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
换了另外一个PE工具增加了一个Section,问题解决。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
简单的办法,把修复代码放进 DLL。用的时候就加载
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
我也想过用DLL来放代码,但是线程注入的DLL,在原来程序中如何获得DLL里函数的地址呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
PVOID KGetGlobalVarAddr(PVOID pVar)
{
PVOID pCurAddr = NULL;
__asm
{
Start:
call lbl_Next
lbl_Next:
pop eax
sub eax, 5
sub eax, offset Start
add eax, pVar
mov pCurAddr, eax
}
return pCurAddr;
}
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
修改.text? 那软件就用不了
|
能力值:
( LV6,RANK:90 )
|
-
-
12 楼
方法很多写个loader也行啊.
|
|
|