+ -
当前位置:首页 → 问答吧 → 如何获取一个程序的入口点地址~结贴率100%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`~~~~~~~~

如何获取一个程序的入口点地址~结贴率100%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`~~~~~~~~

时间:2011-09-15

来源:互联网

看了这个贴子http://topic.csdn.net/u/20091211/21/60be1faa-c7c3-48cd-b457-c658b8317c30.html


我想给他转换成Delphi版的,但是遇到问题,不知道怎么获取程序入口点,C语言用的是ImageLoad获取程序的入口点的.





Delphi怎么获取程序入口点,


谁要是有能力翻译一下?

作者: xiaoruirui08   发布时间: 2011-09-15

另外这种注入DLL的原理如下:

1. 用CreateProcess(CREATE_SUSPENDED)启动目标进程。 

2. 找到目标进程的入口,用ImageHlp中的函数可以实现。//ImageHlp vc++里的

3. 将目标进程入口的代码保存起来。

4. 在目标进程的入口写入LoadLibrary(MyDll)实现Dll的注入。

5. 用ResumeThread运行目标进程。

6. 目标进程就运行了LoadLibrary(MyDll),实现DLL的注入。

7. 目标进程运行完LoadLibrary(MyDll)后,将原来的代码写回目标进程的入口。

8. 目标进程Jmp至原来的入口,继续运行程序。

作者: xiaoruirui08   发布时间: 2011-09-15

求人翻译一下那个VC++的代码

作者: xiaoruirui08   发布时间: 2011-09-15

TMBW = function(hWnd: HWND; lpText, lpCaption: PChar; uType: UINT): Integer; stdcall;
MBW: TMBW; {声明函数 MBW}

inst := LoadLibrary('user32.dll');
  if inst <> 0 then
  @MBW := GetProcAddress(inst, 'MessageBoxW');

这样?

作者: funxu   发布时间: 2011-09-15

我是楼主.

求翻译 http://topic.csdn.net/u/20091211/21/60be1faa-c7c3-48cd-b457-c658b8317c30.html

to funxu
求翻译呢...

作者: ww949494   发布时间: 2011-09-15

你要的是OEP?

作者: sanguomi   发布时间: 2011-09-15

学习。。

作者: Veron_04   发布时间: 2011-09-15

引用 5 楼 sanguomi 的回复:
你要的是OEP?


我不是脱壳,只是找入口点,程序启动的入口的地址(不管有壳没壳),
直接求翻译吧,这个地址我已经发出来了,

这种注入DLL方法很好哦,具体可以看1楼贴的思路

作者: ww949494   发布时间: 2011-09-15

http://blog.csdn.net/staryy/article/details/3410451

这个很详细,可惜是VC的,很多看不懂

作者: ww949494   发布时间: 2011-09-15

热门下载

更多