So ändern Sie eine Funktion in eine DLL kompiliert

Ich möchte wissen, ob es möglich ist, zu "Bearbeiten" den code in eine bereits kompilierte DLL.

I. E. Stell dir vor, es ist eine Funktion, die aufgerufen wird sum(a,b) innen Math.dll welche addiert die zwei zahlen a und b

Sagen wir, ich habe verloren, den source-code meiner DLL. Also das einzige was ich habe ist die binäre DLL-Datei.
Gibt es eine Möglichkeit, die ich öffnen konnte, Binär-Datei, und suchen Sie, wo meine Funktion befindet, und ersetzen Sie die sum(a,b) routine mit, zum Beispiel, eine andere routine, dass gibt die Multiplikation von a und b (statt der Summe)?

In Zusammenfassung, ist es posible zu Bearbeiten Binär-code-Dateien?

vielleicht mit dem reverse-engineering-tools wie ollydbg?

Viel einfacher zu tun-Speicher als Festplatte. Und hoffen, dass Sie nicht haben, etwas ähnliches zu AuthentiCode, oder andere solche Validierung sorgt dafür, dass das on-disk-image war wahrscheinlich nicht manipuliert, wenn ein einigermaßen intelligent loader ist die Vorbereitung der PE-image für den laden.
Wenn Sie die Funktion in der dll exportiert, warum nicht einfach wickeln Sie die dll?
Ich bin nicht nur darüber zu reden exportierten Funktionen in der DLL. Was ist, wenn die Summe(a,b) ist eine private Funktion in der Dll? nicht exportiert zu werden, öffentlich. ist es posible zu suchen, diese Routinen und ändern Sie Sie?
mögliche Duplikate von Suche eine Funktion in einer Demontage
Ich denke, das ist nur ein teilweise "duplizieren".

InformationsquelleAutor Herno | 2013-02-25

Schreibe einen Kommentar