1
因此,我正在開發一個jailbrake調整工具,該工具在啓動時掛接到特定的應用程序,以允許用戶使用應用程序的遊戲內mod,但到目前爲止,我能夠使其工作的唯一方法是使用禁用的ASLR應用程序。由於法律限制,我無法發佈應用程序的ASLR禁用版本,因此我希望看到用於在不禁用ASLR的情況下計算應用程序內存位置的方法。我以前看過它,只是想知道是否有人知道如何重新創建它。如何計算應用程序在內存中的位置而不禁用ASLR?
因此,我正在開發一個jailbrake調整工具,該工具在啓動時掛接到特定的應用程序,以允許用戶使用應用程序的遊戲內mod,但到目前爲止,我能夠使其工作的唯一方法是使用禁用的ASLR應用程序。由於法律限制,我無法發佈應用程序的ASLR禁用版本,因此我希望看到用於在不禁用ASLR的情況下計算應用程序內存位置的方法。我以前看過它,只是想知道是否有人知道如何重新創建它。如何計算應用程序在內存中的位置而不禁用ASLR?
如果你已經成功地將你的調整(一個dylib)插入目標應用程序,那麼你可以使用dyld函數來獲得ASLR偏移量(虛擬內存地址幻燈片)。假設你想得到可執行文件的偏移量,下面是一個片段的例子:
for (uint32_t i = 0; i < _dyld_image_count(); i++) // enumerate all images (i.e. executables and libs)
{
const char *name = _dyld_get_image_name(i); // get full path of the image
NSString *path = [NSString stringWithFormat:@"%s", name];
if ([path hasSuffix:@"MinecraftPocket"]) NSLog(@"slide = %0x0lx", _dyld_get_image_vmaddr_slide(i)); // log the vm slide
}
希望這有助於!
我假設這是一個需要越獄的應用程序? – 2013-03-09 18:50:20
「在啓動時與特定應用程序掛鉤」 - 也許如果您提到此應用程序的內容以及需要關注的應用程序,我們可以更輕鬆地爲您提供幫助。 – 2013-03-09 18:51:39
@RichardBrown這個調整在mobilesubstrate上運行,它只能通過越獄來使用。 – jocopa3 2013-03-09 18:52:39