Function aus Exe entfernen

Splatter Joe

Lt. Junior Grade
Dabei seit
Sep. 2008
Beiträge
307
Hallo,

ich hab ne .exe in der eine Function aufgerufen wird. Ich will diese Assembler Function die einen Namen besitzt aus der exe rauswerfen bzw. mit NOP's füllen.
Mit welchem programm geht sowas?
 

RAMMSTEiN0815

Banned
Dabei seit
Apr. 2006
Beiträge
2.207
softice
 

Woey

Ensign
Dabei seit
Apr. 2008
Beiträge
135
wo für softice ? - ein Ring3-Debuger tut‘s auch -> OllyDbg

PS: viele Programme schützen sich gegen solche Veränderungen. Das umgehen diese Schutzes ist meines wissen nach verboten (auch für sich Privat)
 
Zuletzt bearbeitet:

Splatter Joe

Lt. Junior Grade
Ersteller dieses Themas
Dabei seit
Sep. 2008
Beiträge
307
Und wie suche ich so ne function in OllyDbg??
 

Woey

Ensign
Dabei seit
Apr. 2008
Beiträge
135
wie währe es mit etwas mehr Details:
1. Warum diese Vorgehensweise?
2. Um was für ein Programm handelt es sich?
3. Um was für eine Funktion handelt es sich bzw was mach sie?
 

CoolHandLuke

Lt. Commander
Dabei seit
März 2008
Beiträge
1.634
soweit mir diese Debuggergeschichten der frühen 90er noch im Kopf sind, muss man doch nur den Programmablauf verfolgen und den bedingten oder unbedingten Jump durch 90 90 ? also NOP ersetzen.
 

andr_gin

Lt. Commander
Dabei seit
Jan. 2004
Beiträge
1.973
PS: viele Programme schützen sich gegen solche Veränderungen. Das umgehen diese Schutzes ist meines wissen nach verboten (auch für sich Privat)
1.) Das mit dem Hash Code kenne ich auch von einigen Programmen, ist aber bei weitem nicht bei jedem vorhanden. Der Großteil wird noch ungeschützt sein denke ich. Wenn man es mit einem wirklichen Kopierschutz wie SecuROM zu tun hat, dann ist der Inhalt der exe meistens auch noch verschlüsselt.

2.) Das Umgehen eines Schutzes mit dem Hintergedanken sie nicht kaufen zu müssen, ist illegal. In vielen Fällen will man aber auch nur eine Software verändern, für die man den Code nicht erhalten hat, wo es die Firma schon längst nicht mehr gibt und sie das Produkt, das man benötigt nicht mehr anbietet, das Programm ist eine Eigenentwicklung, aber der Vorgänger war so intelligent alle Source Files ohne Backup auf seinem Rechner zu spielen oder die Software stammt von seinem Hauptlieferanten der den Source zwar nicht raus rückt, weil dort eventuell die Daten eines anderen Kunden im Projektordner drin sind, aber ihm es auch nie einfallen würde seinen guten Kunden zu verklagen. Viele Rechte bei der Verbreitung und Benutzung von Software werden stillschweigend vergeben oder es wird gar nicht extra nachgefragt.
 
Zuletzt bearbeitet:

Splatter Joe

Lt. Junior Grade
Ersteller dieses Themas
Dabei seit
Sep. 2008
Beiträge
307
ka was die funktion macht, ich will sie nur entfernen.
 

Woey

Ensign
Dabei seit
Apr. 2008
Beiträge
135
ka was die funktion macht, ich will sie nur entfernen.
Gute Antwort!

Für den Fall, das es sich um eine Import-Fnkt. handelt: rechte Maustaste im CPU-Fenster->Search for-> all intermodular calls -> es öffnet sich eine Liste mit Api-aufrufen -> doppelklick auf die Funktion und du landest beim call -> Doppelklick auf "call ...." -> Fenster "Assemble at ..." -> nop - Du solltes dann natürlich auch nicht vergessen die vorangehenden push's zu überschreiben (falls vorhanden).
 

Splatter Joe

Lt. Junior Grade
Ersteller dieses Themas
Dabei seit
Sep. 2008
Beiträge
307
Die Funktion heißt D3D::SwapStart und ist ein Xref oder so:D
wie gesagt was die funktion genau macht weiss ich nicht, jedoch verursacht sie einen fehler, welcher laut berichten durch das entfernen dieser funktion behoben wird.
Irgendwie funzt es noch nicht. was hat es mit dem xref auf sich?
 

Woey

Ensign
Dabei seit
Apr. 2008
Beiträge
135
glaub kaum das man durch entfernen einer Funktion (hier an sich Methode) ein Spiel zum laufen kriegst. Woher hast die Info das man die Funktion entfernen soll? Am besten ein entsprechendes Supportforum suchen und dort mal fragen.
 

andr_gin

Lt. Commander
Dabei seit
Jan. 2004
Beiträge
1.973
Abgesehen von diversen billigen Versuchen einen Kopierschutz zu erzeugen wird man ein Spiel nie durch das Entfernen einer fehlerhaften Funktion zum Laufen bringen. Die wenigsten Funktionen sind nur zum Spaß da, sondern tun etwas. Wenn diese abstürzt, ist etwas nicht gemacht. Das merkt man dann entweder gleich 2 Zeilen später oder vielleicht erst 10 Stunden später, wenn die ganzen Savegames alle hin sind oder wenn man dann eine halbfertige Installation hat, die man weder entfernen noch fertigstellen kann usw.
 
Top