2010-09-01 13 views
0

J'utilise Ollydbg pour démonter un programme. Ce que je dois faire est d'injecter du code dans le programme et enregistrer une valeur EDX à un certain point. Je devine que la meilleure façon serait pour moi de créer une dll avec une seule fonction comme si ...Appel DLL à partir de l'assemblage? Dis. Ollydbg

fonction WriteEAXValue (EAX: PChar): LongBool

puis injecter du code dans le programme il appelle la DLL en cas de besoin. Ce dont je pense avoir besoin est l'équivalent du code Delphi suivant, mais dans l'assemblage, je peux l'ajouter dans le programme. Est-ce que quelqu'un peut m'aider? Merci

type 
    TFunc = function (EAX: PChar): LongBool; 

Var 
    A: THandle; 
    F: TFunc; 
begin 
    A := LoadLibrary('C:\My_Dll.dll'); 
    @F := GetProcAddress(A,'WriteEAXValue'); 
    F('EAX'); 
    FreeLibrary(A); 
end. 

Répondre

1

Trouver l'équivalent d'assemblage de code Delphi est assez simple. Il suffit de compiler le code, de l'exécuter et de placer un point d'arrêt au début de la procédure et de l'afficher dans la vue du processeur. Vous obtiendrez un démontage complet de cette façon.

+0

Merci, cela a fonctionné :) – Doobi