Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IP & Port Umleitung (mit uallcollection)? HILFE (https://www.delphipraxis.net/122406-ip-port-umleitung-mit-uallcollection-hilfe.html)

InfixIterator 15. Okt 2008 15:24


IP & Port Umleitung (mit uallcollection)? HILFE
 
Hallo,

Ich würde gerne von einem Programm die IP und Port zu einer anderen IP umleiten (mit Delphi).
Wäre sowas Möglich? Wenn ja wie?

Habe im Internet gegoogelt und bin auf die uallcollection gestoßen, die recht viel versprechend klingt.
Aber ich habe keine Ahnung wie man die Benutzt oder dafür verwenden könnte.
Wenn jemand davon Ahnung hat oder sogar ein Code Schnipsel hat, wäre ich seh Dankbar!


___________________________________
Mein Problem ist nämlich folgendes:
Ich habe ein irc Tool für unseren irc Server, da aber unser irc Server bald umziehen wird, ändert sich die IP (und Port auch).
Da mein Freund, welcher das Programm geschrieben hatte, die IP und den Port fest ins Programm geschrieben hatte, lässt es sich nun nicht mehr ändern.
Mein Freund findet nun nicht mehr den Source und vermutet er hat ihn ausversehen gelöscht :/

Meine erste Idee war evtl. mit einem Hexeditor die IP/Port zu ändern, da aber die längen von Ip und Port unterschiedlich sind, denke ich wird es nicht gehen.

Meine zweite Idee war:
Es gibt ja Sniffer und einige wie zum Beispiel WPE können den Text nicht nur auslesen, sondern auch ändern und weiter senden.
Solche Programme müssen doch irgendwie die Daten abfangen und wieder weiter senden.
Könnte man sowas nicht auch mit der uallcollection machen? Daten abfangen und zu einer anderen Adresse senden?


Vielen Dank schonmal im voraus!

littleDave 15. Okt 2008 16:15

Re: IP & Port Umleitung (mit uallcollection)? HILFE
 
Wie wäre es, wenn du einfach das IRC-Tool "crackst"? Wenn die IP fest im Programm-Code ist, wirst du die sicher leicht in der exe finden. Dann einfach die alte IP und den Port ersetzen und fertig. Ich denke, dass ist viel einfacher als die Umleitung.

Oder du änderst die Host-Datei in C:\WINDOWS\system32\drivers\etc\ (weiß aber nicht, ob das auch mit dem Port funktioniert)

brechi 15. Okt 2008 16:32

Re: IP & Port Umleitung (mit uallcollection)? HILFE
 
Mit der uallCollection ist es möglich aber ich denke dafür schon zu viel. Upp das Programm, sag mir die IP und ich änder das schnell mit einem Hexeditor.

Luckie 15. Okt 2008 18:01

Re: IP & Port Umleitung (mit uallcollection)? HILFE
 
Zitat:

Zitat von InfixIterator
Meine erste Idee war evtl. mit einem Hexeditor die IP/Port zu ändern, da aber die längen von Ip und Port unterschiedlich sind, denke ich wird es nicht gehen.

Das kann nicht sein. Eine IPv4 Adresse ist immer 32 Bit à 4 Oktetts. Ind egal welche Zahl im Werte Bereich eines Interegr dargetsellt wird, es sind immer 32 Bit. Selbiges gilt für den Port. Da ist es aber nur, glaube ich, ein 16 Bit Integer.

InfixIterator 15. Okt 2008 23:48

Re: IP & Port Umleitung (mit uallcollection)? HILFE
 
erstmal: vielen Dank für die schnelle Hilfe!

@brechi danke für die Hilfe,
ich darf das Programm aber nicht uploaden, da du/ihr sonst mit unserem Server rumspielen könntet.

@littleDave ich habe keine Ahnung wie man Crackt :/

@Luckie das was ich meinte ist die länge der IP Adresse
bsp: 123.1.1.123 wird zu 321.321.321.321 und schon ist die größe der Adresse um 4 Zeichen gewachsen :/

Hatte das ebend auch mal im Hexeditor geändert, aber er scheint das Programm nun komplett zerschossen zu haben (da es ja nun um paar Bytes größer ist durch die veränderte länge der IP Adresse).
Jedenfalls gibt mir der Hexeditor beim ändern der IP-Adresse folgenden Hinweis aus:
"Diese Operation verändert die Dateigröße"
Wenn ich nun die veränderte Datei starte kommt eine seltsame Fehlermeldung:
"Exception EReadError" und das Programm schließt sich wieder.
(Ist nicht so schlimm habe mir vorsichtshalber vorher eine Sicherheitskopie gemacht :)

Muss man da evtl. irgendwo dem Programm sagen, dass es größer bzw kleiner wird?
Oder macht der da irgendwo Sprungbefehle, die ich zerstört habe?

Naja ich probiere es zur Zeit dann doch noch mal mit der uallcollection.
Gibt es denn für die uallcollection denn eine art Tutorial/Hilfe/Snippet? Die Sammlung ist nämlich sehr groß und ich weiss nicht direkt wo ich anfangen soll.
Müsste man das Programm erst irgendwie hooken um die IP und Port umzuleiten? oder geht das auch anders?

Vielen Dank nochmal für eure nette und schnelle Hilfe :)

Luckie 16. Okt 2008 08:11

Re: IP & Port Umleitung (mit uallcollection)? HILFE
 
Zitat:

Zitat von InfixIterator
@Luckie das was ich meinte ist die länge der IP Adresse
bsp: 123.1.1.123 wird zu 321.321.321.321 und schon ist die größe der Adresse um 4 Zeichen gewachsen :/

Wenn die IP Adresse natürlich als Zeichenkette in der Exe steht, dann hast du natürlich recht.

brechi 16. Okt 2008 10:03

Re: IP & Port Umleitung (mit uallcollection)? HILFE
 
@InfixIterator

Nimm mal hxd ( http://mh-nexus.de/en/hxd/ ) dann überschreibst du wieder die IP Adresse mit der neuen (auch wenn die größer ist) und nach der IP Adresse mach ein 0x00 (also hex 0). So wie du das jetzt gemacht hsat verändert der die Größe der Exe-Datei. Das ist definitiv falsch. Du musst die Daten danach überschreiben, wenn du Glück hast werden die nicht gebraucht.

InfixIterator 16. Okt 2008 23:15

Re: IP & Port Umleitung (mit uallcollection)? HILFE
 
Benutze schon HxD :)

habe grade mit der 00 und dem überschreiben rum experimentiert.
Alles führte aber zu einem Absturz mit der Meldung "Exception EReadError"

Denke mal so geht es nicht...

Für jede weitere Hilfe mit der uallcollection wäre ich sehr erfreut und dankbar ^^

Volle 17. Okt 2008 07:35

Re: IP & Port Umleitung (mit uallcollection)? HILFE
 
Wenn ich das richtig gelesen hab ist die IP als string gespeichert oder?

Mal n versuch waere:

Die ip mit irgendeiner anderen, gleichlangen, zeichenkette zu ueberschreiben ( z.b. anstatt 123.1.1.123 schreibst dasistntest )
und dann in der Hosts datei die "domain" dasistntest auf die gewuenschte IP umleiten zu lassen.

klar das is richtig schlampig aber ich denke es koennte funktionieren.
Ok vielleicht auch nicht da die binary vielleicht die eingegebene IP garnicht mehr per dns lookup aufloest, ich weis nich was da beim kompilieren weggeworfen wird, aber ich wuerds einfach mal probieren ...

[edit]
habs grad mal ausprobiert, also bei mir funktioniert es.
Habs leider nur in ner anwendung die in c++ geschrieben ist testen koennen ( mitm TTcpClient). wuerde mal sagen das ist ein versuch wert. Port konnte ich auch ändern, wobei der hier auch als AnsiString übergeben wird und nicht als integer, von daher duerfte es vielleicht ein wenig schwerer sein als bei den indys.
[/edit]

InfixIterator 21. Okt 2008 23:31

Re: IP & Port Umleitung (mit uallcollection)? HILFE
 
@Volle ich versteh leider nicht wirklich was du meinst oder wie ich es umsetzen soll.
wo ist der host und wie kann ich ihm sagen er soll da was umleiten?
Kannst du das bitte nochmal für doofe, wie mich, erklären?

In der Zwischenzeit hatte ich mich noch etwas mit hooks beschäftigt und gegoogelt
und bin dabei grad auf folgendes gestoßen:
http://www.delphipraxis.net/internal...ct.php?t=58716
Da geht es um einen Sniffer der die Winsocket hookt.
Leider ist AppSniff unvollständig (Source sowie Funktionen fehlen) und kann auch keine ip umleiten.

Jedenfalls weiss ich nun das ich wahrscheinlich die Winsock irgendwie hooken müsste und dann dort die Packete zur alten IP abfange und zur neuen senden muss. (und beim empfang ebenso nur zurück ;)
Habe Winsock mal gesucht und es befindet sich unter:
C:\WINDOWS\system32\wsock32.dll
Nur ich frage mich jetzt wie kann man Funktionen/Prozeduren aus einem gehookten Programm bekommen? oder anders: Wie bekomme ich die IPs raus um die entsprechende umzuleiten? :/

naja ich google mal weiter
Falls ihr noch was wisst, scheut nicht es mir zu sagen ;)

Danke schonmal im voraus



edit:
ich bin grad noch auf folgendes interessante gestoßen:
http://tech.itdb.cn/n/200608/10/n20060810_46271.shtml
den Quelltext lese ich mir morgen mal durch :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz