1
A
回答
1
dyld(3) man page中记录的功能似乎提供了类似的功能。
1
刚刚完成日期:
输入任何指向一些静态内容(例如函数)和目标是找到库及其部分。
我在ptr_is_in_exe
功能实现了这个here:
static bool
ptr_is_in_exe(const void *ptr, const struct mach_header *& header, intptr_t& offset, uintptr_t& vmaddr, std::string& image_name)
{
uint32_t i, count = _dyld_image_count();
for (i = 0; i < count; i++) {
header = _dyld_get_image_header(i);
offset = _dyld_get_image_vmaddr_slide(i);
uint32_t j = 0;
struct load_command* cmd = (struct load_command*)((char *)header + sizeof(struct mach_header));
if(header->magic == MH_MAGIC_64)
cmd = (struct load_command*)((char *)header + sizeof(struct mach_header_64));
while (j < header->ncmds) {
if (cmd->cmd == LC_SEGMENT) {
struct segment_command* seg = (struct segment_command*)cmd;
if (((intptr_t)ptr >= (seg->vmaddr + offset)) && ((intptr_t)ptr < (seg->vmaddr + offset + seg->vmsize))) {
vmaddr = seg->vmaddr;
image_name = _dyld_get_image_name(i);
return true;
}
}
if (cmd->cmd == LC_SEGMENT_64) {
struct segment_command_64* seg = (struct segment_command_64*)cmd;
if (((uintptr_t)ptr >= (seg->vmaddr + offset)) && ((uintptr_t)ptr < (seg->vmaddr + offset + seg->vmsize))) {
vmaddr = seg->vmaddr;
image_name = _dyld_get_image_name(i);
return true;
}
}
j++;
cmd = (struct load_command*)((char*)cmd + cmd->cmdsize);
}
}
return false;
}
相关问题
- 1. Mac GridView等效
- 2. Mac上的X509Certificate2UI等效可可
- 3. .BAT等效于MAC
- 4. 什么是Mac的等效“sizeWithFont:”方法?
- 5. 适用于Mac的UITouch等效品
- 6. 什么是Mac OS X上的/ proc/self/cmdline/GetCommandLine等效项?
- 7. Red Gate Profiler等效于Objective-C Mac/iPhone
- 8. AIX上的xlC上的CRTDBG_MAP_ALLOC等效项
- 9. JButton在Mac上的点击效果
- 10. 新Mac机上的iPhone证书和配置等等?
- 11. 什么是MAC OS X中sendmessage()[WINDOWS]的等效用法?
- 12. 是否有与Windows Workarea等效的Mac/Xcode?
- 13. 在Appveyor的dnsmasq上的Windows等效
- 14. 如何在Mac上退出Meteor开发服务器(与CTRL-C等效)?
- 15. Grails 2.4.3在mac os上无效x
- 16. 在Windows 8上等效的UserExtendedProperties.GetValue(“ANID”)
- 17. 等效于离子2上的style.css
- 18. CentOs7上的TensorFlow安装 - libcupti-dev等效?
- 19. UIApplicationSignificantTime Apple Watch上的等效变更
- 20. Linux上Data Protection API的等效
- 21. iOS上的等效资源串文件
- 22. 在Linux上的联锁等效
- 23. RESELLER帐户上的等效路径?
- 24. 对于win2k上TzSpecificLocalTimeToSystemTime()的等效?
- 25. Android上的等效键值观测
- 26. 在Linux上的蝙蝠等效
- 27. MS Dynamics上的Salesforce Canvas App等效
- 28. CIN的等效
- 29. 等效的mysqli
- 30. Mac/iPhone的objcopy等价物?
链接是死 – 2017-05-14 12:37:49
@让MichaëlCelerier:感谢;固定。 – 2017-05-14 16:49:26