そのため、起動時に特定のアプリにフックして、ユーザーがアプリのゲーム内 mod を使用できるようにするジェイルブレイクの微調整に取り組んでいますが、これを機能させる唯一の方法は、ASLR が無効になっているアプリを使用することです。法律により ASLR を無効にしたバージョンのアプリをリリースできないため、ASLR を無効にせずにアプリのメモリ ロケーションを計算する方法を確認したいと考えています。私はそれが以前に行われたのを見たことがありますが、他の誰かがそれを再現する方法を知っているかどうか疑問に思っています.
質問する
930 次
1 に答える
1
微調整 (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
}
お役に立てれば!
于 2014-03-11T08:34:07.747 に答える