是否可以通过编译的二进制文件在 Android 中生成本地缓冲区溢出以获得 root 访问权限?
Is it possible to generate a Local Buffer Overflow in Android via a compiled binary to gain root access?
我想知道是否可以通过 Local Buffer Overflow 对任何 Android OS 进行 root,我将使用包含最简单的 Local Buffer Overflow 的编译程序生成它:
char buf[BUFSIZE];
gets(buf);
一旦我编译了那个程序,我就会将该二进制文件推送到 /storage 中,由 ADB 通过 shell 运行 执行,所以可以按照我说的去做吗?
如果是,我将如何对崩溃进行逆向工程以开发一个可以在设备中为我获得 root 访问权限的漏洞?
你不能。最后,这只是 Linux。非root账户下的程序运行无法通过有意或无意的方式获得root权限。
有很多关于android root 的好文章,比如Wikipedia。他们解释说,root android 设备是通过使用 android os 中的漏洞(漏洞)完成的,也就是固件。
生根 android 设备从未涉及缓冲区溢出。
虽然技术上实现缓冲区溢出是 possible 使用 NDK and native C language,但从缓冲区溢出到获得根访问权限还有很长很长的路要走。
正如 MSalters 正确指出的那样,您的 C 代码将 运行 在 linux 堆栈上。有相当多的严重防御措施可以防止缓冲区溢出的轻易利用。
如果您不想接受 "no" 作为答案,假设:"highly unlikely and probably not worth your time" :-)
我想知道是否可以通过 Local Buffer Overflow 对任何 Android OS 进行 root,我将使用包含最简单的 Local Buffer Overflow 的编译程序生成它:
char buf[BUFSIZE];
gets(buf);
一旦我编译了那个程序,我就会将该二进制文件推送到 /storage 中,由 ADB 通过 shell 运行 执行,所以可以按照我说的去做吗?
如果是,我将如何对崩溃进行逆向工程以开发一个可以在设备中为我获得 root 访问权限的漏洞?
你不能。最后,这只是 Linux。非root账户下的程序运行无法通过有意或无意的方式获得root权限。
有很多关于android root 的好文章,比如Wikipedia。他们解释说,root android 设备是通过使用 android os 中的漏洞(漏洞)完成的,也就是固件。
生根 android 设备从未涉及缓冲区溢出。
虽然技术上实现缓冲区溢出是 possible 使用 NDK and native C language,但从缓冲区溢出到获得根访问权限还有很长很长的路要走。
正如 MSalters 正确指出的那样,您的 C 代码将 运行 在 linux 堆栈上。有相当多的严重防御措施可以防止缓冲区溢出的轻易利用。
如果您不想接受 "no" 作为答案,假设:"highly unlikely and probably not worth your time" :-)