作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试在 Os X 上用 C++ 读/写另一个进程的内存。
我一直遇到的问题是我得到了一个指针(例如 server.dylib+0x123AB),但我似乎无法在 C++ 中找到动态获取 server.dylib 的内存地址/基地址的方法。是否有任何推荐的方法来尝试找到它。这可能是我的技能水平,但我发现尝试修补 OsX 上的内存一直是一场艰苦的斗争(周围的文档很少)。
如有任何建议,我们将不胜感激。
最佳答案
梅林的回答有些不准确。 ASLR 并不是要阻止您在运行时获取地址——而是要防止您依赖 FIXED 地址(即代码注入(inject)时)。如果你已经可以执行代码,你肯定可以获得地址(哎呀,GDB 可以,你为什么不能?)
DYLD 公开了一个非常丰富的 API(和 dyld_images.h),使您能够轻松地从进程内部或外部获取加载到进程地址空间中的所有图像的列表。您还可以获得 "slide",这是使用的 ASLR 偏移量。然而,这是假设您已经在该机器上运行代码 - 即它在注入(inject)代码时不起作用。
关于c++ - 如何在 Os X 上用 C++ 获取模块的基地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16974589/
目前我有几个配置了以下目录的catalina bases, conf logs server webapps work bin、lib 和common 目录都还在$CATALINA_HOME 中。 我
我是一名优秀的程序员,十分优秀!