能力值:
( LV9,RANK:380 )
|
-
-
2 楼
遗漏了N多东西,比如你导出的send函数,没有转到真正系统dll的send函数上。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
谢谢,我想问一下:
怎么看出send没有正确转到?下面一句
#pragma comment(linker,"/export:send=syswsock32.send,@19")
其中syswsock32.dll是系统原来的ws2_32.dll,这样不就是转到了么?
|
能力值:
( LV9,RANK:380 )
|
-
-
4 楼
你要连接,你不想要转connect这类函数么?
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
问题是现在我先不管自己要做的处理,我就是把所有函数都转向syswsock32.dll,但是都会造成无法联网
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
你这个根本没转向
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
请问问题出在哪里了?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
高手来解答一下~~
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
虽然不懂,但看了一下,你似乎是没有转向,你只是导出了函数,我这有份delphi的劫持,你参考一下:
uses
Windows;
{$R *.res}
var
ModHandle: Cardinal;
POldCheckUPdateValid: Pointer;
POldGetDogError: Pointer;
POldGetRegionAndCode: Pointer;
POldQZUPdateValid: Pointer;
POldReadRegisterData: Pointer;
POldReadRegisterData2: Pointer;
POldWriteRegisterData: Pointer;
POldWriteRegisterData2: Pointer;
procedure CheckUPdateValid; asm jmp POldCheckUPdateValid end;
procedure GetDogError; asm jmp POldGetDogError end;
procedure GetRegionAndCode; asm jmp POldGetRegionAndCode end;
procedure QZUPdateValid; asm jmp POldQZUPdateValid end;
procedure ReadRegisterData; asm jmp POldReadRegisterData end;
procedure ReadRegisterData2; asm jmp POldReadRegisterData2 end;
procedure WriteRegisterData; asm jmp POldWriteRegisterData end;
procedure WriteRegisterData2; asm jmp POldWriteRegisterData2 end;
exports
CheckUPdateValid,
GetDogError,
GetRegionAndCode,
QZUPdateValid,
ReadRegisterData,
ReadRegisterData2,
WriteRegisterData,
WriteRegisterData2;
begin
ModHandle:= LoadLibrary('D:\Weway\GraspFzxw+\DogRW.dll');
if ModHandle > 0 then
begin
POldCheckUPdateValid:= GetProcAddress(ModHandle, 'CheckUPdateValid');
POldGetDogError:= GetProcAddress(ModHandle, 'GetDogError');
POldGetRegionAndCode:= GetProcAddress(ModHandle, 'GetRegionAndCode');
POldQZUPdateValid:= GetProcAddress(ModHandle, 'QZUPdateValid');
POldReadRegisterData:= GetProcAddress(ModHandle, 'ReadRegisterData');
POldReadRegisterData2:= GetProcAddress(ModHandle, 'ReadRegisterData2');
POldWriteRegisterData:= GetProcAddress(ModHandle, 'WriteRegisterData');
POldWriteRegisterData2:= GetProcAddress(ModHandle, 'WriteRegisterData2');
end;
end.
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
SPI可以实现你想要的,gg下
|
|
|