所以…我需要从“notepad.exe”进程中获取peb,有人知道如何制作它吗?

我正在尝试使用“GetModuleHandle”API,但是…不会返回指针(每次都返回零)因为我必须是该模块的调用者进程.

出于这个原因,我想知道如何使用“EnumProcessModules”或“Createtoolhelp32Snapshot”来获取它.

如果有人知道请告诉我怎么样,提前谢谢!

解决方法

Matt Pietrek描述了如何在 1994 Under the Hood column中执行此操作.它是关于如何获取另一个进程的环境变量,其中第一步是获取指向PEB的指针.为此,他说,调用 NtQueryInformationProcess.它填充的PROCESS_BASIC_informatION结构包含PEB结构的基地址. (您需要使用ReadProcessMemory来读取它,因为地址将位于外部进程的地址空间的上下文中,而不是您的地址空间.)

要调用NtQueryinformationProcess,您需要一个进程句柄.如果您自己启动了该过程(通过调用CreateProcess),那么您已经有了一个句柄.否则,您需要找到进程ID,然后调用OpenProcess.要获取进程ID,请使用EnumProcesses或Process32First / Process32Next搜索所需的进程. (我更喜欢后者,因为它以较少的工作提供更多信息.)

delphi – 如何从extern进程获取进程环境块(PEB)?的更多相关文章

  1. iOS:UDID已弃用… MAC地址?

    我们知道苹果公司不赞成开发者访问UDID.但据我所知,可以获得iDevice的MAC地址.那么有什么区别呢?

  2. ios – 我在哪里可以找到用于创建IPad应用程序的Delphi资源?

    我之前一直在使用Delphi并且一直都是Windows家伙.我的妻子为我的生日买了一台新的iPad,我昨晚第一次使用它.哇!…

  3. 如何从命令行部署OSX或IOS Delphi项目?

    我正在使用像这样的脚本构建我的Delphi应用程序现在我想添加一个选项将应用程序部署到OSX系统修改这样的脚本,那么可以从命令行部署OSX或IOSDelphi项目吗?

  4. ios – 类中的extern NSString * const.

    嗨,我有这个头文件:执行:当我在.pch文件中导入头文件时,我可以在任何地方访问常量.但我试着了解发生了什么.我从不为此对象分配init,因此它们不能是实例常量.所以常量必须是“类对象常量对吗?但我认为类对象不能包含数据.谁能解释一下?解决方法那些外部变量是app级全局变量.它们没有作用于类,它们不限于类的实例.Objective-C不支持实例或类级别全局变量.如果需要类级别常量,则需要定义类方法

  5. Swift Modules for React Native

    ReactNativeisanObjective-CapplicationframeworkthatbridgesJavaScriptapplicationsrunningintheJscoreJavaScriptenginetoiOSandAndroidnativeAPIs.Intheory,youwriteyourapplicationlogicinJSXandES6/7andtranspil

  6. swift 开发库

    1、CryptoSwiftswift加密库,支持md5,sha1,sha224,sha256...github地址:https://github.com/krzyzanowskim/CryptoSwift2、KingfisherKingfisher是一个异步下载和缓存图片的库类似于SDWebImage只不过它是纯Swift的实现github地址:https://github.com/onevcat

  7. Swift 实用的第三库

    http://www.swiftmi.com/topic/425.html给大家分享一些实用的第三方库,在这里就不介绍一下比如AlamofireSwiftyJSON等常用的了.重点介绍一些实用的.EZSwiftExtensionsSwift扩展集合包含很多常用的一些工具扩展.比如时间,系统版本等.详情查看README.md源码地址:GitHubFormatFormat数字、货币、地址及颜色进行格式

  8. Swift3.0 Swift2.3 获取IP地址 获取网关地址

    最近需要在Swift项目中获取路由器的网关地址,在网上找了半天的代码也没发现太多有价值的东西,而且大多都是OC代码,很少有Swift的相关代码,只找到了一个通过Swift代码获取设备IP的代码,最后实在没办法只能曲线救国了。下面上代码:思路就是把获取到的设备IP地址的最后一位手动修改为”1”,前面三位不需要修改,比如我的手机ip地址是192.168.31.212,所以网关地址就是192.168.31.1。最近苹果更新了Swift3.0,这里更新一下代码。

  9. 从Swift 2.2开始,xcode – extern NSString不可访问

    由于使用Swift2.2对Xcode7.3的更新,我无法从外部Objective-C库访问变量。在我的swift代码中,我只需要调用DEFAULT_URL。从Swift2.2起,我得到以下错误:我可以访问这个框架的类和方法,但是我无法访问externNsstrings。任何想法如何解决这个问题?@patrickS我有一个愚蠢的原因,我的externconst被定义在我的.h文件的@interface内。这似乎已经使这个版本的XCode/Clang的Swift代码私有。它适用于所有externconst不仅

  10. 当将Swift桥接到React-Native时,“不是公认的Objective-C方法”

    我试图将我的React-Native0.33代码链接到一个超级简单的Swift方法,在thisguide之后,但是我得到的只是显示:(Nsstring*)名称不是一个公认的Objective-C方法.这是我的代码:SwitchManager.swiftSwitchManagerBridge.hSwitchManager桥接,Header.h然后在我的index.ios.js文件中,我从“Nativ

随机推荐

  1. delphi – 主窗口按进程名称处理

    DelphiXe,Win7x64如何从进程名称(exe文件的完整路径)获取主窗口句柄,或至少一个类或窗口名称(如果该进程只有一个窗口).例:解决方法我同意Petesh的说法,你需要枚举顶级窗口并检查创建它的进程的模块文件名.为了帮助您开始枚举顶级窗口,这是一个delphi实现.首先,当你回调给你时,你需要一些与EnumWindows方法通信的方式.为此声明一条记录,该记录将保存您要查找的模块的文件

  2. 如何在Delphi中纯粹通过RTTI信息(即不使用任何实际对象实例)获取TObjectList的子项类型?

    我正在使用RTTI实现用于流式传输任意Delphi对象的通用代码,并且为了使其工作(更具体地说,为了使加载部分工作),我需要以某种方式获得TObjectList的子项类型<T>不使用任何实际对象实例的字段.要求不使用任何实际对象实例的明显原因是,在从流加载对象的情况下(仅基于要加载的对象的类类型的知识),我将不会有任何实例在加载完成之前完全可用–我宁愿只能访问相关类的纯RTTI数据.我希望能

  3. inno-setup – Inno Setup – 安装程序背景图片

    图像作为安装程序背景如何用inno5.5.9做到这一点?

  4. inno-setup – Inno Setup – 如何添加多个arc文件进行解压缩?

    使用InnoSetup解压缩弧文件.我希望有可能解压缩多个arc文件以从组件选择中安装文件(例如).但仍然显示所有提取的整体进度条.这可能吗?的回答的修改预备是相同的,参考其他答案.在ExtractArc中,为要提取的每个存档调用AddArchive.

  5. delphi – 如何在DataSet的帮助下在TAdvStringGrid中显示数据库中的BLOB图像

    解决方法CreateBlobStream正在创建一个TStream对象,而不是TMemoryStream.由于您不想将JPG写入数据库,因此应使用bmRead而不是bmReadWrite.我不习惯sqlite,但你必须确保使用合适的二进制日期类型.为了确保存储的图像真的是JPG,您应该编写JPG以进行测试,例如:

  6. inno-setup – 在Inno Setup的Code部分下载程序后运行程序

    如何运行我通过Internet下载的应用程序,在代码部分中使用,并等待该应用程序完成运行.我有,使用InnoTools下载程序,下载这两个文件,我想,在第二个完成下载后运行该下载,或jdk-8u111-windows-x64.exe,然后继续安装.解决方法使用其他下载插件,而不是ITD(请参阅下面的原因).例如,InnoDownloadPlugin.当您包含idp.iss时,它定义了一个全局IDP

  7. progress-bar – Inno Setup Run部分的简单进度页面

    我的安装程序非常简单,它基本上是:>欢迎页面>进展页面>最终页面欢迎页面和最终页面是标准页面.在Progress页面,我正在静默安装一堆其他程序.实际的脚本是在[Run]部分中安装每个程序.问题是酒吧达到100%然后停留在那里.我只能更改消息文本.我想要实现的是使用Pascal脚本显示进度,例如:这样我就可以显示更准确的进度条.这就是我所拥有的:问题是,当我构建安装程序时,它不显示欢迎页面.我做错了什么?

  8. delphi – 如何使“显示/隐藏桌面图标”设置生效?

    下面的代码调用SHGetSetSettings函数来隐藏桌面图标但它只是从视图菜单中取消选中“显示桌面图标”.我打电话给SHChangeNotify;更新桌面,但这不起作用?解决方法isa,要刷新桌面,您可以将F5键发送到progman窗口隐藏桌面图标的另一种方法是再次显示

  9. inno-setup – Inno Setup – 避免显示子安装程序的文件名

    我试图使用InnoSetup–Howtohidecertainfilenameswhileinstalling?(FilenameLabel)的想法Theonlysuresolutionistoavoidinstallingthefiles,youdonotwanttoshow,usingthe[Files]section.Installthemusingacodeinstead.UsetheEx

  10. inno-setup – Inno Setup磁力链接下载实施

    我目前正在使用InnoDownloadPlugin为我的安装程序下载文件,这个问题最大的问题是faila正确下载文件.因为连接不良等诸多原因.我想添加一种替代方法来下载文件,因此用户可以选择是否需要常规方式或torrent方式.我知道我可以使用aria2c.exe应用程序(https://aria2.github.io/),有人可以帮我实现它的inno设置代码吗?我需要的是使用torrent(ar

返回
顶部