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