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