Hey,
Ich benütze die DropALlU
unit für eine kleine firewall.
also mit InstallFW(localIP) an und RemoveFw() aus Und es benötigt die iphlpapi.dll.
Doch aus irgendeinem grund hooken mehrere gameguards diese
dll. Dann hab ich aber rausgefunden, dass wenn ich eine kopie dieser
dll mach und diese kopie dann benütz, gehts wieder.
Doch wenn beim programmstart diese
dll nicht besteht kommt eine Error-Message das sie nicht da is (ja ne is kla
).
Jetzt hab ich bei FormCreate das hier drinne:
Delphi-Quellcode:
if not FileExists(GetWinDir+'
/system32/iphlpapiRehook.dll')
then
begin
Quelldatei := GetWinDir+'
/system32/iphlpapi.dll';
Zieldatei := GetWinDir+'
/system32/iphlpapiRehook.dll';
if not CopyFile(PChar(Quelldatei), PChar(Zieldatei), true)
then
ShowMessage('
Could not copy the dll.');
end;
Also wie ihr sehen könnt, wenn die kopierte datei noch nich besteht macht das programm schnell eine kopie davon.
Doch das geht nicht, weil es beim programmstart zuerst schaut ob die
dll da ist oder nicht, also bevor Form1Create überhaupt gemacht wird.
Wie könnte ich das sonst machen?
Ich dachte schon das beim programmstart erst kurz eine console kommt, die dann schaut ob die
dll da ist und wenn nicht...
Und dann das eigentliche programm startet.
Was denkt ihr?