从Assembly调用DLL?派息。 OllyDbg的

时间:2010-09-01 14:24:07

标签: delphi assembly code-injection disassembly ollydbg

我正在使用Ollydbg来解散程序。我需要做的是将代码注入程序并在某一点保存EDX值。我猜最简单的方法就是让我用一个像这样的函数创建一个dll ...

函数WriteEAXValue(EAX:PChar):LongBool

然后将代码注入程序,以便在需要时调用DLL。

我认为我需要的是以下delphi代码的等效,但是在汇编中我可以将它添加到程序中。有人能帮我吗?感谢

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.

1 个答案:

答案 0 :(得分:1)

查找与Delphi代码相当的程序集非常简单。只需编译代码,运行它,并在过程的开头放置一个断点并在CPU视图中查看它。你会以这种方式获得完整的反汇编。