读取16位PE的内存地址

zar*_*cel 0 windows delphi 16-bit portable-executable

我有用16bit delphi制作的PE文件.我整天都在尝试在这个文件上使用WriteProcessMemory().它不起作用.我在骗子引擎中找不到地址,也找不到tsearch.Peid说文件不是PE,我猜那是因为16位?

您对如何阅读这些地址有什么想法吗?如果需要,我可以发布exe.

All*_*uer 5

Delphi 16bit没有制作PE文件.它制作了NE文件... IOW,NE ="New Executable"和PE ="Portable Executable"NE文件是在Windows 32bit中引入的,Windows NT 3.1在92或93左右发布.

您不太可能从32位进程读取正在运行的16位进程的内存.这是因为16位应用程序将在模拟16位环境的特殊子系统中运行.

  • @zarcel - Alan的回答已经得到了你的评论的答案.没有程序,只有子系统.你不会在32位系统上找到16位程序的进程,ntvdm在线程中运行它们.您可能(或不)获得一些关于您正在尝试做什么的提示[此处](http://www.microsoft.com/msj/0898/hood0898.aspx). (2认同)