I built the latest stable SQLite3 binary for ARM devices. I built it as I have an app that I requires it, and distribute it with my app TeMeFI , as a lot of people asked to not have to install it as a separate step. TeMeFI app does a LOOOOOT of SQL,
To use this on your device (RO devices), I *think* the easiest way is to install the SQLite3 module from the magisk module repository, and simply unzip the contents in the attached file, and replace the binary that is in /data/adb/modules/sqlite3/system/bin/sqlite3, set the owner & group to ROOT and permissions to 755
Alternatively, you could use my app TeMeFI, which also includes a menu item to create a Magisk module on the fly.;
Please feel free to use and distribute any of these binaries, without any attribution, or feeling you need to get my explicit permission; just do not claim it was YOU that built it.
OR you could build it yourself using the simple instructions I followed at:
GitHub - stockrt/sqlite3-android: SQLite CLI and Library build scripts for Android
SQLite CLI and Library build scripts for Android. Contribute to stockrt/sqlite3-android development by creating an account on GitHub.
github.com
I used the latest stable NDK
The MD5 of the zip file (not the binary) for v3.42.0 is MD5: C64B717839EE51B5CA3C8BD33F224A6C
Architectures included are:
arm64-v8a
armeabi-v7a
x86
x86_64
But I only test the two ARM based binaries.
Enjoy!
@DiamondJohn What would be the easiest or best method to keeping Sqlite3 updated after flashing the Magisk module, unzipping the contents in the attached file, and replacing the binary that is in /data/adb/*?
rodken said:
@DiamondJohn What would be the easiest or best method to keeping Sqlite3 updated after flashing the Magisk module, unzipping the contents in the attached file, and replacing the binary that is in /data/adb/*?
Click to expand...
Click to collapse
I do not think I understand exactly what you are asking me?
Do you mean?
Update for this release? Which I described above, and you a have re-iterated... so it cant be that?
Updated for the next stable release available?
Get a new stable build as soon as the new source version goes stable? kind-a the same as item 2...
As you can see by the above questions, I am really unsure of what you are asking.
My best guess is you are asking how you could get the next release, when it is released (i.e. item 3). And my answers for that are
"Keep an eye out" on the web in places like XDA, in case someone does a build and release it publicly like I did here.
Check https://www.sqlite.org/download.html for when they release a new stable build. DOH! read below....
Follow the steps (like I did) in the links of the OP and build your own. You still need to watch out for when a stable version is released of the source.
Hope that someone in a project that you are following or have an interest in (I see that you saw my TeMeFI post ), is doing the above and makes a post like I did above.
Hassle...err..I mean contact/request the current builder of the SQLite Magisk module to do an update, when the update is available.
As you can see in my post in the TeMeFI thread, people are including really old releases on ROMs they label as "stable", even though their SQLite self-destructs. More ROMs these days do not even include an SQLite binary, for example my stock Pixel 4a! Remember, this binary is NOT the android internal SQLite driver as used by java, but is only used by the shell. Carrying this idea further, updating this binary, will not upgrade your ROMs SQLite, only the shell.
While writing the above, for item 2, I checked myself, and they have released a new stable build! v3.36.0 On their page, they have a link for a "pre-built" android binary, but I couldn't find a simple binary file (like in the zip of the OP) ready to drop onto a device (thats what I would call "pre-built") But as you can see in the table of my TeMeFI post, people are running (including me on my Oreo device) older builds without issues; other than the guy running the "stable" pie ROM Although, I choose to keep my Oreo device with the older SQLite as a test harness when building TeMeFI so I don't take advantage of an SQLite command only available with a bleeding edge SQLite release.
@DiamondJohn Are you keeping the attachment in the OP updated or would I have to heed your advice and watch out for when a stable version is released of the source even though my current SQlite3 is at 3.33.0 as of 08/14/2020?
Disregard, it turns out that after flashing the module and replacing the binary with the file attached from the zip in the OP, the changes do not survive reboots. The device reverts back to the original binary file. Nevertheless, I am good-to-go until further notice.
rodken said:
@DiamondJohn Are you keeping the attachment in the OP updated or would I have to heed your advice and watch out for when a stable version is released of the source even though my current SQlite3 is at 3.33.0 as of 08/14/2020?
Click to expand...
Click to collapse
I do not plan to actively maintain a build, you have to take your chances with freeware. I do know that @hinxnz also built his own SQLite binary from source (and also supports x86) for one of his projects maybe drop a hint of an SQLite update on his thread, and kang it from him
rodken said:
Disregard, it turns out that after flashing the module and replacing the binary with the file attached from the zip in the OP, the changes do not survive reboots. The device reverts back to the original binary file. Nevertheless, I am good-to-go until further notice.
Click to expand...
Click to collapse
Something strange is going on, because it makes no sense to me, and is not acting the same way for me on two devices. The issue is beyond the scope of this thread, so you would be best to take it to a Magisk specific thread. As it should work, and should not be overwritten on boot. I mean, where is it keeping a copy of the old file?!?!
On a side, why are you so concerned with SQLite3 for the shell? Do you use a lot of boot scripts? I personally have MANY MANY boot and maintenance scripts that rely on SQLite, in addition to my TeMeFI project that uses SQLite in the shell heavily.
PS: the change log is at
SQLite Release 3.36.0 On 2021-06-18
The other thing to remember, we are running a cut-down version of SQLite (these change logs are for full Unix/Linux/Windows builds) So, some of the changes would have nothing to do with an Android build.
PPS: I found the history of releases at: https://sqlite.org/chronology.html
They appear to do stable releases every month! Yeah, Im not keeping up with that!
DiamondJohn said:
I do not plan to actively maintain a build, you have to take your chances with freeware. I do know that @hinxnz also built his own SQLite binary from source (and also supports x86) for one of his projects maybe drop a hint of an SQLite update on his thread, and kang it from him
Something strange is going on, because it makes no sense to me, and is not acting the same way for me on two devices. The issue is beyond the scope of this thread, so you would be best to take it to a Magisk specific thread. As it should work, and should not be overwritten on boot. I mean, where is it keeping a copy of the old file?!?!
On a side, why are you so concerned with SQLite3 for the shell? Do you use a lot of boot scripts? I personally have MANY MANY boot and maintenance scripts that rely on SQLite, in addition to my TeMeFI project that uses SQLite in the shell heavily.
Click to expand...
Click to collapse
I maintain quite a bit of boot scripts that use shell independently. Therefore, I was relying on SQLite for experimental purposes and not solely for anything else.
I would have to agree that my concern/issue is possibly a Magisk and/or ROM issue.
rodken said:
I maintain quite a bit of boot scripts that use shell independently. Therefore, I was relying on SQLite for experimental purposes and not solely for anything else.
I would have to agree that my concern/issue is possibly a Magisk and/or ROM issue.
Click to expand...
Click to collapse
FYI It built successfully, and seems to run... it will be in the next TeMeFI release if it continues to work.
PS: In all my boot script I use an include with an explicit path to SQLite3. By doing so, I can change all my boot scripts SQLite version, simply by changing the path in one place. Maybe a workaround for you since Magisk/ROM is playing up.
I have compiled a new 3.36.0 binary, but have yet to update the OP, if you want a copy and cant wait, ive included it in the latest release of my App TeMeFI
[APP][TOOL] TeMeFI comprehensive system Administration
TeMeFI This app provides/returns a bucket load of information regarding your device and the currently running ROM, and much, much more. And hence the name "TeMeFI"; as its Too Much F????? Information. The F stands for whatever your comfortable...
forum.xda-developers.com
Updated to v3.36.0
oops... the attached files failed. Corrected now.
I suppose that there is no further use for the SQLite Magisk Module after using the updated version of TeMeFi?
rodken said:
I suppose that there is no further use for the SQLite Magisk Module after using the updated version of TeMeFi?
Click to expand...
Click to collapse
If ALL your shell scripts using SQlite are done using TeMeFI, then even the previous versions did not need to use / have the Magisk version installed. Ever since I first started shipping SQLite with TeMeFI it was coded to fall-back to the internal SQLite, if it wasnt fond in the ROM (or through Magisk)
However, the one case where a few people will need the Magisk module explicitly, is for x86 architecture. The one I build and ship with TeMeFI is only for ARM devices. Oh, and the one in this thread is also only ARM devices.
The latest release of TeMeFI has the new option whereby you can explicitly choose to use the SQLite shipped with TeMeFI over the ROM or the Magisk installed one, which is probably older/lower version.
Are your releases compiled for armeabi-v7a or arm64-v8a?
edgarf28 said:
Are your releases compiled for armeabi-v7a or arm64-v8a?
Click to expand...
Click to collapse
I run them on both a 64b Pixel 4A running A11, and also a 32b Samsung S4 GT-I9506 (2013) running Oreo.
test method is to install the TeMeFI app I built and distribute here, and set the use internal sqlite feature, to force it to use this compiled one, and then run one of the many sqlite based scripts. Its only x86 that I think it would fail on, but its easy to test, You could also simply copy it to your device and explicitly test it in a temp folder.
oooo.... the next release is "pending".... https://sqlite.org/chronology.html
They did two releases in quick succession. I built the first one, and was suprised when the resultant binary jumped from about 500k to 2500k???? I tested it and could not find a flaw. They then did a release soon after, and when I built that i was expecting it to go back down, but it did not...
Anyway, I have updated the OP to include the new latest build. v3.37.2
enjoy.
ooo almost forgot, I also updated the NDK (ie compiler) to the latest stable for this new build.
And to be clear, even using the previous NDK resulted in a larger binary.
Had another look into why the file size had increased, and found I could simply change one line of code, and it would generate an SQLite for ALL architectures.
MD5 of the ZIP is : 09C3E996A635FF0ED63D65755D62F117
It includes SQLite3 binaries for:
arm64-v8a (64bit arm device, like mine)
x96_64 (Intel 64bit)
x86 (Intel 32bit)
armeabi-v7a (32bit arm, like most now older phones)
Use the technique in the OP to install/replace to the default SQLite magisk module, and take the appropriate binary from the zip, and set the owner & permissions as below.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Related
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
PDroid allows blocking access for any installed application to the following data separately:
Device ID (IMEI/MEID/ESN)
Subscriber ID (IMSI)
SIM serial (ICCID)
Phone and mailbox number
Incoming call number
Outgoing call number
GPS location
Network location
List of accounts (including your google e-mail address)
Account auth tokens
Contacts
Call logs
Calendar
SMS
MMS
Browser bookmarks and history
System logs
SIM info (operator, country)
Network info (operator, country)
For device ID, phone and mailbox number, SIM serial, subscriber ID and device location it also allows supplying custom or random values.
Why you would want to use it:
Applicaitons do NOT crash when access to private data is blocked (unlike with Permissions Denied or CM)
Fine-grained tuning of access to private data
No background service needed
Very small memory footprint (~700KB)
No impact on battery life
No impact on performance (5ms overhead on access to private data; yes, that's 0.005s)
100% reliable unlike ROOT applications (LBE), which need to start their background service on boot (see android underground to learn why this is an issue)
No ROOT required for the app to run
No Android permissions required for the app to run
Open-source
Download:
Automatic PDroid Patcher for Windows (XP/Vista/7):
JDK 6 or newer is required (get it here http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html)
Install JDK 6 into the default directory (don't change anything when installing)
.NET Framework 2.0 or newer required (ships with Windows since XP SP2)
Currently only supports Gingerbread (Android 2.3)
Will only work with deodexed ROMs (take a look into your ROM's system/framework directory; if there are any *.odex files, your ROM is NOT deodexed)
You will need to re-create your settings backup after updating from version 1.27 (it is not compatible with the newer version)
Download PDroid Patcher v1.32 Beta 0.321 for Windows
Patch Installation Requirements:
ROOTED device
For HTC devices: S-OFF ([TOOL] One click ENG S-OFF for HTC Desire HD)
ClockworkMod Recovery 3.0.2.6 or newer
If you "integrated sys Dalvik into ROM" with Titanium Backup, you will have to undo it
Installation Instructions:
BACKUP YOUR ROM (HOWTO)
Make a PDroid Patch for your ROM with the PDroid Patcher and put the patch on your SD card
Boot your device into your custom (CWM) recovery (Desire HD: vol down + power)
If you flashed the patch before but PDroid said it still was not installed, then select "mount /system"
Select "install zip from sdcard"
Select "choose zip from sdcard"
Select the PDroid patch you have put on your SD card
After flashing is finished, reboot the device
Install the PDroid app from the Android Market
Rate the app at the Android market (let me know, if you have any issues beforehand)
Patch Changelog:
1.32: Fixed updating from version 1.27 and below
1.31: Fixed patching incompatibility with some ROMs (like Zeus v5)
1.30:
Fixed the alarm being put to snooze every time a call is received or made
Fixed FC for some applications (like Yandex Maps)
Fixed bootloops for AT&T and SonyEricsson devices (hopefully)
Many small tweaks
1.27: Fixed an issue, where the Touchwiz launcher (and probably others) would continuously crash
1.26: Fixed an issue, which would make Google Listen and probably other apps crash
1.25:
Fixed an issue, where PDroid would conflict with some ROOT applications making them freeze
Fixed random geocoordinates generation
Fixed other minor bugs
1.22: Fixed the patch version reporting bug (v1.21 reports that it's 1.2)
1.21: Fixed the bug where the device would sometimes boot loop right after the boot is finished
1.2: Added data access notification feature
1.1: Bugfixes
1.0: Initial release
Source:
Download: PDroid 2.3.4 source (v1.27) (yes it is based on 2.3.4 but also works with 2.3.3 and 2.3.5 flawlessly)
Get the 2.3.4 source from AOSP (branch: android-2.3.4_r1)
Extract the patches from the above archive to the 2.3.4 tree root
Run:
Code:
patch -p1 -i build.patch
patch -p1 -i frameworks.patch
patch -p1 -i libcore.patch
Building from source:
Make a clean build
Apply the patches (see above)
Run:
Code:
source build/envsetup.sh
make update-api
mmm frameworks/base
mmm frameworks/base/services/java
mmm libcore
make snod
FAQ:
I do not have Market access, where can I download the PDroid app?
Click to expand...
Click to collapse
Right here
What about controlling the internet access?
Click to expand...
Click to collapse
Controlling access to the network/internet requires either patching the kernel or using ROOT access within the PDroid app. I try avoiding the former due to portability and the latter due to user privacy/security reasons. I am looking into adding internet access control in a way, which would be the most acceptable/convenient for the user. However, this feature currently isn't on the top of my to-do list.
How do I make a patch manually myself?
Click to expand...
Click to collapse
For experienced developers the following basic steps for creating a PDroid patch should be enough to get you started:
Make a clean AOSP build (2.3.4, assuming that your ROM is based on 2.3.x)
Make another build with PDroid sources added
Decompile the framework.jar, services.jar and core.jar files inside the system/framework directory (of both above builds) using apktool
Diff the output so that you know, which parts were changed by PDroid
Decompile the above three files from your ROM, you want to patch
Add the missing code to your ROM files based on the above diff
Recompile your patched ROM files using apktool
Do you plan on adding Froyo/ICS support?
Click to expand...
Click to collapse
Yes. But I have not ported PDroid to Froyo or ICS yet. No ETAs yet. You'll need some patience there.
Will you provide a public source code repository for PDroid?
Click to expand...
Click to collapse
I might, when I get some more spare time
Can I backup the privacy settings with TitaniumBackup?
Click to expand...
Click to collapse
Yes, however you will need to backup your settings to internal memory (PDroid preferences) before making a backup with TitaniumBackup. After restoring with TitaniumBackup, you will need to restore the previously backed up settings. Alternatively you can backup privacy settings to the SD card.
Can I use LBE Privacy Guard together with PDroid?
Click to expand...
Click to collapse
Yes.
I have applied the correct patch but my device does not boot, how do I find out what the error is?
Click to expand...
Click to collapse
Restore your backup
Get the Android SDK
Install it (you don't need the eclipse part)
Enable USB-debugging on your device
Connect it to your PC
Start ddms, which is located in the android-sdk-[platform]\tools directory
Apply PDroid patch
Reboot the device
When your device appears in the ddms window, click on it to see the system log
Filter the log by "error"
Watch the system log for errors and post them here
I have flashed a patch but I am having very weird issues I didn't have before (like you cannot unlock the SIM card or there are weird graphics etc.)?
Click to expand...
Click to collapse
Have you flashed other mods to your ROM? If so, PDroid is most likely conflicting with them. You will need to create a patch for your customized ROM.
Also make sure that you are using a patch appropriate for your ROM (the CyanogenMod patches for stable 7.1 will mostly not work on nightlies unless the link says so).
How do I make a patch for my device after I have flashed some other mods?
Click to expand...
Click to collapse
If your other mods DO NOT replace any of the three files: framework.jar, services.jar or core.jar in /system/framework, you can just create a patch normally based on your original ROM file.
Otherwise you will need to extract those three files from your device (use a root file manager or adb pull), put them into your ROM zip (also in /system/framework) and then create a PDroid patch based on the ROM zip.
Reserved, just in case
Yes. This is awesome
Great !
But I have a Desire... Just for Desire HD?
I believe you need root to push those jar files... so you do need root. right?
So this will not run at all times, and thus not kill the batterytime?
Sent from my HTC Desire HD using XDA App
Seems interesting, I'll be happy to test out this app if it releases for SGS2.
Sent from my GT-I9100 using XDA App
Sybregunne said:
I believe you need root to push those jar files... so you do need root. right?
Click to expand...
Click to collapse
Correct, that's what the description says
no_johnr said:
So this will not run at all times, and thus not kill the batterytime?
Click to expand...
Click to collapse
That's right. It has virtually no impact on battery life / performance.
hallydamaster said:
Seems interesting, I'll be happy to test out this app if it releases for SGS2.
Click to expand...
Click to collapse
Which ROM do you use? Which one is the most popular for SGS2?
Hi,
in where should i set the 3 files?
platform-tools?
fe22st said:
Hi,
in where should i set the 3 files?
platform-tools?
Click to expand...
Click to collapse
Anywhere, you can run ADB from. And yes, you can place them in platform-tools (I assume, your adb files are located there).
svyat said:
Anywhere, you can run ADB from. And yes, you can place them in platform-tools (I assume, your adb files are located there).
Click to expand...
Click to collapse
i get a issue after these commands:
adb push DHD-framework-gr5.mod.jar /system/framework/framework.jar
adb push DHD-services-gr5.mod.jar /system/framework/services.jar
adb push DHD-core-gr5.mod.jar /system/framework/core.jar
its looke like:
adb push DHD-framework-gr5.mod.jar /system/framework/framework.jar
cannot stat 'DHD-framework-gr5.mod.jar': No such file or directory
what can i do to fix that problem?
fe22st said:
i get a issue after these commands:
adb push DHD-framework-gr5.mod.jar /system/framework/framework.jar
adb push DHD-services-gr5.mod.jar /system/framework/services.jar
adb push DHD-core-gr5.mod.jar /system/framework/core.jar
its looke like:
adb push DHD-framework-gr5.mod.jar /system/framework/framework.jar
cannot stat 'DHD-framework-gr5.mod.jar': No such file or directory
what can i do to fix that problem?
Click to expand...
Click to collapse
You should run the commands from the directory, where you have extracted those 3 files.
Hi, great stuff! Have been following this for some time hoping for the first version to be released. Which you did! Bummer you do need root access for changing some files, I had hoped it wasn't necessary...
Anyhow: great tool, now just to find a temporary solution to the rooting
Sent from my Desire HD using XDA App
I've uploaded an update script, which can be used to flash PDroid from the CWM recovery more conveniently. Have fun.
Is it possible to use this on gs2 with cyanogen?
On the fly of my Galaxy S2
RogueZet
Tried this on RunnyRCmix3d 4.0 and after flashing zip could not boot in rom. So it does not work on every rom based on 2.3.5 . Can you look into this?
Sent from my Desire HD using Tapatalk
vault1965 said:
Tried this on RunnyRCmix3d 4.0 and after flashing zip could not boot in rom. So it does not work on every rom based on 2.3.5 . Can you look into this?
Click to expand...
Click to collapse
You're right. It won't work with Sense 3.5 ROMs. I've added to the description that it currently only works with Sense 3.0. I might port it to Sense 3.5 soon.
That would be great. I am using LBE app now, but yours promises so much more.
Sent from my Desire HD using Tapatalk
Thanks for releasing code. Now the challenge is up for me to integrate it with MIUI ( no source available !!!!!)
cool app, but i feel it spend alot of CPU resource , maybe my phone is slow
osm0sis' Odds and Ends -- Misc./Batch Tools, Flashable Zips, Scripts, etc.
General Information
In a nutshell, I just wanted a single thread to gather links to some of my other, larger projects, but also serve as a spot I could put some smaller scripts and zips I've created that I don't think merit their own separate threads. This is partially for my own sanity and will hopefully make it easier for others to find some things as well. A lot of the stuff here was developed with the GN, N4, N5, N7s or N5X, OP5/T, OP6/T, OP7Pro/T, OP8Pro/T or OP9Pro (my devices) and Windows in mind, but could generally be applicable to most devices either out-of-the-box or with some slight modification. If you see something that inspires you, go ahead and mod it, just let me know and give me some credit somewhere. If anyone would like to know the specifics of what's in a particular script that I haven't already linked to more information on, just let me know and I'll post that in here as well.
Note: Older zips with a "cwm-" prefix are NOT only for the now-defunct ClockworkMod Recovery, the prefix was used to denote a flashable zip before I adopted Chainfire's "UPDATE-" prefix. Please use a currently maintained recovery, like TWRP, for all zips to ensure the best compatibility/results.
My development work on my many projects comes out of my free time, so if you enjoy this project or anything else I've done on xda, please consider sponsoring my ongoing work using my GitHub Sponsors profile. For a one-time donation you can hit the donate link from my profile. Thank you for your support!
Misc./Batch Tools
AnyKernel3 (many devices) - link
AnyKernel was a simple template for an update.zip that could apply any kernel to any ROM, regardless of ramdisk to reduce the chance of any issues arising from the custom kernel pairing. The drawback to this is that some kernels require modifications to the ramdisk to enable/set up kernel features, and in the old AnyKernel format there was no way to do this. AnyKernel3 pushes the format even further by allowing kernel developers to modify the underlying ramdisk for kernel feature support easily using a number of included command methods along with properties and variables to customize the install experience.
APK-Patcher (many devices) - link
A proof-of-concept, simplifies APK modification to make it easier for modification creators to keep creating. Using JesusFreke's brilliant bak/smali and iBotPeaches' excellent apktool, modified to run on-device along with the various binaries required, allows on-the-fly APK modifications to be applied via recovery, to whatever ROM APK is present, taking the constant update burden off of the modification creator. The zip is smart and automated, using the APK name to run all the various parts involved for complicated patches and is extensible to any number of APKs in a single zip.
Android Image Kitchen (many devices) - link
A collection of Windows/Android ports of the necessary Linux utilities for Android image (kernel+recovery) mod work, and my own automation script to unpack, edit and repack the ramdisk. Other guides/scripts exist but none of them are universal for target device, compression and/or developed for Windows/Android. Now also Linux builds to bring my improved featureset back to where it came from, recently extended to macOS as well. Has been extremely useful for me in my messing around with kernel ramdisks.
ADB Screenshot (many devices) - attached
Take screenshots while in recovery. Useful for development of recovery apps or error reporting. Original method had lots of different threads around with the general method for various devices but I figured out a couple tricks required for getting it working on the Galaxy Nexus and then automated the process. Tested and confirmed working with both pixel formats of CWM and TWRP. More information in this GN Q&A FFmpeg thread. New method uses fb2png and should work on all ARM devices.
ADBsync sdcard Backup (many devices) - attached
Backs up the entire sdcard so that you can have a complete snapshot of your device when you make periodic backups, and be able to restore things exactly as they were. Automates the sync process of Renate NST's great adbsync utility which makes only newer files get pulled, significantly decreasing backup time for the sdcard compared to "adb pull". Original version posted in the old adbsync thread. Defaults for devices with /data/media/ internal sdcards (Nexus devices, etc.), but is easily customizable to backup other mountpoints or backup via ADB over WiFI.
Flashable Script Zips
TWRP A/B Retention Module script (many devices) - link
We need an interoperable root ecosystem again. A/B and system-as-root were a big setback to the root community in this respect. To help alleviate this issue, this atypical Magisk script zip "module" will keep TWRP installed to both slots when flashed from Magisk Manager after an A/B OTA has installed in the background, but before you use Manager to install Magisk to inactive slot.
Nexus BootUnlocker script (GN, N4, N5, N7 '13, N10) - attached
I don't know about everyone else but sometimes I find I've rebooted into the bootloader only to realize I've forgotten to unlock it in segv11's excellent BootUnlocker App beforehand. Well, I decided to make a BootUnlocker Script for my Galaxy Nexus so I could just boot to recovery quickly, unlock, then adb reboot-bootloader (or use my Reboot To Bootloader script below) to get back without having to fully boot the OS to make the change. Also extremely useful in the case you aren't able to boot. As with the app there is no data loss like there would be with fastboot, allowing you to relock for safety. Originally posted in the GN EDIFY Scripting thread. Modified for the newer Nexus devices and combined into a single Nexus BootUnlocker zip with tamperbit reset support added using information from the BootUnlocker App Dev thread. For newer devices using Factory Reset Protection (N6 and later), the BootUnlocker Script can't directly toggle the lockstate due to new security tokens, but it does now toggle the ability to use "fastboot oem unlock" without needing a booted device.
N7 BootUnlocker script (N7 '12) [creation guide] - link
The Nexus 7 2012 is a special case. Per-device encryption of an entire partition makes it impossible to support the N7 '12 in a simple root app, or flashable zip as above, however using my guide and included script you can now create a working BootUnlocker Script Zip for your specific device. As with the above scripts there is no data loss like there would be with fastboot, allowing you to relock for safety.
sdcard Fix Permissions script (many devices) - attached
A little flashable zip script to fix ownership and permissions of files and directories on the sdcard to what they would be if Android OS had put them there itself, since some apps can't access pushed files that have root.root as owner/group. This is useful when restoring to your sdcard backup, as with my ADBsync sdcard Backup batch script above, since generally, pushed files get root.root from adb shell and higher permissions than usual. Also a solution for a bug where sdcard files get lower permissions somehow, resulting in similar access problems. Currently written for devices with /data/media/ internal sdcards (Nexus devices, etc.), but could easily be modified for other mountpoints. No longer required on Oreo since it fixes these itself at boot.
Recovery SLAM script (many devices) - link
Recovery "Simple Legacy Auto-Mount" (SLAM!) is for devices that have been updated to SAR, but there are older zips that break in TWRP because they rely on the mounts occuring a certain way, especially during a ROM OTA. Recovery SLAM mounts them more as the zips would expect, generally allowing them to proceed. Most useful for premounting /system before a legacy zip with my FlashAfterUpdate addon.d script.
SUmount script (many devices) - attached
Another tool for the toolkit of anyone using Chainfire's SuperSU or topjohnwu's Magisk systemless root, this simple flashable zip script toggles the mounting of the su.img, magisk.img and magisk_merge.img while in recovery to allow easier access to the /su, /magisk and /magisk_merge filesystems, simplifying manipulating it via ADB shell, AROMA Filemanager or TWRP's terminal/file manager. Especially useful to anyone who uses su.d/post-fs-data.d scripts or can't boot due to some issue with a user addition in /su/su.d, /su/bin or a Magisk module.
unSU script (many devices) - link
While experimenting with Chainfire's brilliant SuperSU systemless root, I discovered that uninstalling the older style system-modifying root through his app (<2.60) didn't restore all of the modified system files correctly, so I wrote this script to do so and aid in people wanting to unroot from recovery. Expanded to support uninstallation of Koush's SuperUser, phh's Superuser, SuperSU Systemless (su.img and BINDSBIN), Magisk, LineageOS addonsu and custom ROM su binaries.
Adreno Systemless Installer script (N5, N6, N7 '13) - link
For use with Qualcomm's official updated preview GPU drivers packages for Adreno 3xx/4xx-powered Nexus stock images. This is a different frontend to take whatever device zip from Qualcomm is in the same directory as it (also searching /sdcard), then unpack and install it as a Magisk module or into the SuperSU systemless root /su filesystem, instead of the usual /system.
Kernel MultiROM Injector script (many devices) - attached
Intended for use in Chainfire's excellent FlashFire app to automate re-injecting the current boot image ramdisk with Tasssadar's brilliant MultiROM's trampoline bootmenu; this avoids having to do this as an extra step in MR-TWRP following an OTA, ROM Delta or SuperSU update. Should work for all EMMC devices with MultiROM installed.
GN PIT Editor script (GN) - link
Dumps and alters the Galaxy Nexus' Partition Information Table (PIT) to reclaim unneeded space from the /cache partition and add it to /system to allow for larger ROMs and GApps packages to make continued support for Lollipop+ easier. The resulting file is byte-for-byte identical to those created by external tools like PIT Magic, so that it may be flashed back to the device in Odin Mode to complete the repartitioning.
Kernel Emergency Reset script (many devices) - link
Basically a go-to cure-all for custom kernel users experiencing issues after an upgrade due to old settings left over in a kernel control app (eg. franco.Kernel updater, Trickster, etc.), or problematic init.d/userinit.d scripts. It's also useful if you just want to make sure you're running clean defaults without conflicts.
Reboot To Bootloader script (all devices) - attached
Those who preferred using CWM may have noticed a couple of things missing that the other popular custom recovery, TWRP, has built-in. One of these is a file explorer/manager, which is answered by amarullz' brilliant AROMA Filemanager. Another thing I found myself wanting was a way to reboot back to the bootloader once I'm in recovery, so I created this very very simple flashable zip script. (No longer required on CWM >=6.0.3.5). Note: Once in the bootloader, "Start" will boot you back to recovery. Not sure why, but it's not a big deal, just reboot normally from recovery at that point.
Flashable Installer Zips
Flashlt Installer (many devices) - attached
Installs my Flashlt script to allow easy flash and dump of boot, recovery and radio/modem (possibly others) EMMC or MTD partitions while booted, and trimming of null characters from files. Also installs a script zip that makes flashing boot.img (kernel), recovery.img, and radio.img/modem.img (baseband) files via recovery simple. It aims to save the average user the hassle of repacking their own image zip, or using the command-line or fastboot to flash it. Place an appropriately named file in the same directory as the zip and flash away! Should work on all devices with normal partition naming ("boot", "recovery" and "radio" or "modem") which accept Android standards-compliant images (including a/b slot devices like Pixel). Extremely handy when used with amarullz' brilliant AROMA Filemanager, and/or my Android Image Kitchen: Mobile Edition (linked above).
Busybox Installer (all devices) - attached
A byproduct of building my own static busybox compiles in all Android architectures for my AIK-mobile package, I figured I might as well offer them up separately as well since there weren't any providers making Android x64 builds when I was researching. Detects device (ARM/64, x86/_64, MIPS/64) to install the busybox binary, cleans up symlinks from any previous install and generates new ones. Detects and supports SuperSU/Magisk systemless installs. Please read the release post about applet inclusion and special features.
nano Terminal Editor Installer (many devices) - attached
An installer to push my own static Android ARM build of the nano editor and required files to /system/xbin and /system/etc/terminfo, with a wrapper adding a --term option to try terminfo profiles more easily. Detects and supports SuperSU/Magisk systemless installs. Can then be used from Terminal while booted. When flashed in recovery also allows temporary recovery use by pushing a script to /sbin/nano with the required setup, so you can trigger it from adb shell or TWRP Terminal. Makes it extremely easy and worry-free to tweak and mod on the go, knowing you can edit the faulty build.prop or startup script if something goes wrong.
adb + fastboot Installer (many devices) - attached
Marshmallow removed adb from the /system/bin directory. For those wanting this functionality back, here's an installer to push static compiles of adb and fastboot to /system/xbin, with a wrapper to point adb to the correct HOME directory and set TMPDIR for compatibility. Detects and supports SuperSU/Magisk systemless installs. Can then be used from Terminal while booted.
Nexus Media Installer (many devices) - attached
Custom ROMs usually don't include Google ringtones/notifications/system sounds and bootanimation, instead including numerous terrible sounds and often less-than-desirable visuals. This installs the media from old Nexus devices systemlessly (SuperSU and Magisk supported), or to system with an addon.d script to survive a ROM update or dirty flash, and using the zip name (also reading from /data/.nexusmedia) to allow user choice.
mtd-utils Installer (many devices) - attached
mtd-utils (flash_erase, nanddump, nandwrite) are necessary for mod work on a number of Android devices using mtd/char devices instead of the more standard emmc/block devices, and where the busybox versions have been less reliable in the past (especially where it doesn't include flash_erase), using the official suite is preferable. The older ARM builds available on XDA were about a decade old, so I worked out how to configure and cross-compile from the latest source. Detects and supports SuperSU/Magisk systemless installs. Can then be used from Terminal while booted
ZipSigner + Zip Installer (many devices) - attached
Signing zips and APKs on-device has always been a tricky proposition due to memory requirements of the old SignApk.jar, running a jar on an Android device, and other complications for script-based zips. Android has always been missing a zip binary (for unzip see my Busybox Installer). ZipAlign is also handy if you do APK work. To remedy this once and for all, here's an installer to push my dexed version of topjohnwu's brilliant zipsigner.jar and static ARM compiles of zip and zipalign to /system/xbin, with a wrapper to run zipsigner with Android's dalvikvm. Detects and supports SuperSU/Magisk systemless installs. Can then be used from Terminal while booted.
odex Script Installer (all devices) - attached
Based on the great work and binaries from this thread, a simple installer to push my odex script along with the required dexopt-wrapper and zip binaries to /system/xbin and set the appropriate permissions. Automates the procedure to odex any apk or jar from the commandline to potentially improve performance. Dalvik runtime (KitKat and below) only. Also uses cut from busybox.
N5X/6P BLOD Workaround Injector (N5X, N6P) - link
When, unfortunately, my Nexus 5X was recently stricken with the abominable Bootloop of Death, I looked into the well-publicized workaround and turns out it was all contained in the ramdisk and cmdline of a Android image. This is the perfect application of AnyKernel2, so I made an AK2 add-on zip to patch both the current boot and recovery partitions with all the current workarounds to help others afflicted by this issue to hopefully regain their data/device as easily as possible. Linked is the Nexus 5X thread, the Nexus 6P thread may be found here.
N7'13 TWRP flo2flox Injector (N7 '13) - link
The Nexus 7 2013 (flo) has seen a bit of a resurgence with official Lineage 18.1 support repartitioned as "flox". Since official TWRP is still automatically being built only for flo and this isn't compatible with flox, and the minor changes required for flox support were a great application of AnyKernel3, this zip automates the patching process so making official TWRP from flo2flox is easy for all going forward.
GN Synapse Support Injector (GN) - link
This AK2 kernel add-on for the Galaxy Nexus injects support for the Synapse tweaking app into the current boot partition ramdisk, including all the Synapse interfaces for the GN I've maintained since the Franco Kernel and DirtyV Kernel days.
GN Recovery Color Correction Injector (GN) - link
The aging screen on the Galaxy Nexus was looking pretty rough in recovery until I discovered the recently added new OMAP kernel color correction was also present in the most recent TWRP recovery versions. So this add-on zip uses AK2 to patch the current recovery partition ramdisk to add the command to reduce that green/yellow SAMOLED nastiness.
Kernel init.d Support Injector (many devices) - attached
An experimental proof-of-concept. Following from great ideas by Captain_Throwback in my AnyKernel2 thread and using script from my Flashlt script above, this AK2 zip will inject basic init.d bootscript support into any kernel ramdisk on any emmc device with normal partition naming and using the Android bootable image standard, without having to bloat a ramdisk using a busybox binary. This zip is also signed, so could potentially be used with non-Nexus stock recovery on a locked bootloader.
CMSetup Fix for GApps Installer (many devices) - attached
Installs a su.d script fix to work around the CyanogenMod/LineageOS 13 ROM issue of a broken Quick Settings pull-down when CMSetupWizard is removed as part of a GApps installation. Removing CMSetupWizard is useful because it allows Google's SetupWizard to grant apps default permissions, so the workaround automatically executes the only required command at the appropriate time following first boot. Requires a SuperSU/Magisk installation (for su.d/post-fs-data.d support). Flash after the SuperSU/Magisk zip and your GApps.
Dev Team init.d Pack Installer (all devices) [see "950iosettings, etc." below] - link
A simple installer I wrote to create the /system/etc/init.d/ directory, extract the latest init.d scripts as published by the "Franco's Dev Team" tuning collective (of which I was a member), then set correct owner, group and permissions to the entire init.d directory. If you are a developer and would like to include these tunables/scripts in your kernel or ROM please provide credit. A lot of time and effort has gone into this project and that's all we ask.
Scripts
950iosettings + 875mntsettings + 925vmsettings + 975experimental init.d scripts (all devices) [with Franco's Dev Team] - links
Also available bundled in an installer. The scheduler tunables have already gained a bit of attention/adoption on various devices and kernels, but this is the init.d script I wrote to set the new custom scheduler tunables values as "default" by an independent loop, sleeping in the background and detecting each time the scheduler is changed. There is no effect on idle drain or deep sleep. The settings included are the complete work of the "Franco's Dev Team" (or "Team Franco") tuning collective, of which I was a member. We strove to perfect the scheduler, vm and various other settings for the smoothest and fastest experience available. The collective was: malaroth, osm0sis, joaquinf, The Gingerbread Man, pkgnex, Khrushy, shreddintyres. If you are a developer and would like to include these tunables/scripts in your kernel or ROM please provide credit. A lot of time and effort has gone into this project and that's all we ask. Lollipop(+) updated versions now also available through the continued excellent work of pkgnex.
999-flashafterupdate.sh addon.d+addon.d-v2 script (many devices) - attached
For ROMs that don't have "Flash After Update" support built into their delta/update process. During an upgrade, this script will flash zips from an sdcard directory, with several options (listed in the script header) for displayed output, after all other addon.d backup/restore actions have completed. This can be used to flash SuperSU and then an AnyKernel2 kernel on LineageOS, for example. Only zips that specifically support addon.d-v2 can be supported on A/B devices. See this how to for instructions for use with A/B devices. Unzip once downloaded and place in /system/addon.d/ with rwxr-xr-x (755) permissions.
98-twrp_ab.sh addon.d-v2 script (many devices) - attached
Allows you to keep TWRP installed in a boot partition through A/B OTAs with Magisk installed by copying the TWRP ramdisk from the current slot to the updated one, before Magisk's addon.d-v2 script patches it. Requires a current Magisk installation since we need the tools and Magisk's the only way to ensure a working addon.d-v2 environment across ROMs at the moment. Unzip once downloaded and place in /system/addon.d/ with rwxr-xr-x (755) permissions.
97-dumpimages.sh addon.d+addon.d-v2 script (many devices) - attached
For ROMs with boot.img, etc. inside an OTA payload.bin or otherwise inaccessible, it dumps the updated chosen partitions before further modifications (TWRP, Magisk, etc.), saving it to /sdcard/Download/boot.img or to/from other customizable locations at the top of the script. Unzip once downloaded and place in /system/addon.d/ with rwxr-xr-x (755) permissions.
00-omnirootfix.sh addon.d-v2 scipt (many devices) - attached
OmniROM appears to include 69-gapps.sh automatically in its /system/addon.d directory despite not shipping with any GApps; when not rooted this doesn't appear to present a problem, but really this is only because the script doesn't have enough permissions to run how it's supposed to since Omni's sepolicy doesn't let addon.d-v2 work correctly. Once Magisk is installed, providing more privileges to the addon.d-v2 update_engine, Omni's 69-gapps.sh would remove important system files during an A/B OTA when no GApps were installed, so this script will simply prevent that for those wanting to run Omni minimally and with root. Remove the .txt extension once downloaded and place in /system/addon.d/ with rwxr-xr-x (755) permissions.
00-resizesystem.sh addon.d script (many devices) - attached
One common solution for aging devices is to resize the /system partition so that it can hold newer, larger ROMs and, of course, GApps packages. On devices where the /system partition has been resized to hold larger GApps packages, but the ROM in use has system.dat format zips with no resizing functionality, the extra space would get lost in a ROM delta flash, breaking things when GApps attempted to restore. This script will resize the system partition to its maximum before the GApps restore occurs on EMMC-based devices with standard partition naming. Remove the .txt extension once downloaded and place in /system/addon.d/ with rwxr-xr-x (755) permissions.
10-extract-lineage-kernel.sh addon.d script (many devices) - attached
Nowadays with systemless root and other boot.img mods out there, it's good to have a backup of your ROM's unmodified boot.img handy in case you want to do a clean flash of your boot partition. Since LineageOS moved their update zips to a /data/data subdirectory that made this harder to get to, I automated the procedure as an addon.d script so that the newest gets extracted on each update. The output directory may be changed by editing the script. Remove the .txt extension once downloaded and place in /system/addon.d/ with rwxr-xr-x (755) permissions.
999-customkernel.sh addon.d script (many devices) - attached
Addon.d is awesome at restoring your GApps, root app, and other things after a ROM Delta, update, or dirty flash, but of course this can leave a lot of stuff out that you'd also have to re-flash (see below for a personal addon.d script you can modify to cover anything else you want to save). This script aims to help remedy the issue for custom kernel users on EMMC-based devices with standard partition naming by dumping the current kernel as part of the addon.d backup process, and then restoring it after the ROM has flashed its included kernel. Remove the .txt extension once downloaded and place in /system/addon.d/ with rwxr-xr-x (755) permissions. This is deprecated by my FlashAfterUpdate addon.d script, above.
logohack.sh (GN) - link
Galaxy Nexus bootloader image replacement hack script. Inspired by bitdomo's brilliant imgdata tool and replicating the functionality of Ezekeel's abandoned, broken paid Logo Me app, this script improves upon the app version by working on all Galaxy Nexus bootloaders and on-the-fly, to allow replacement of the Google logo and lock images within the sbl partition. Remove the .txt extension once downloaded and place in /system/bin/ or /su/bin/ with rwxr-xr-x (755) permissions. It can then be run from the Terminal.
flash_image (many devices) - attached
MTD devices require a little extra finesse when flashing partitions from the command prompt and multiple commands, versus MMC devices, for which we can just use the dd command both ways. I wrote this little script to simplify the process for myself in my MX Box tinkering. It parses /proc/mtd so you only need to enter the partition name. It requires _n0p_'s excellent MTD-Utils compiled for Android, and uses grep and cut from busybox. Remove the .txt extension once downloaded and place in /system/xbin/ with rwxr-xr-x (755) permissions. It can then be run from the Terminal.
getprio (all devices) - attached
Android doesn't allow you to check the priority (or "niceness") of a process with the getpriority command as you would with normal Linux, and busybox doesn't provide this functionality either, so I wrote this reasonably simple script to allow you to check the niceness of a process. Some kernels have been experimenting with increasing the priority of com.android.systemui for smoothness, so this command can be used for testing different levels and whether the renice command set it correctly. Remove the .txt extension once downloaded and place in /system/xbin/ with rwxr-xr-x (755) permissions. It can then be run from Terminal with either the pid (default), class or a class name search string. Uses pidof and pgrep from busybox.
gappsintegrator init.d script (many devices) - link
ROM GApps Auto-Integration of /data/app GApps into /system, complete with libs (unlike Titanium Backup), for Jelly Bean through Marshmallow. It should process things early enough in the boot that afterwards Dalvik will immediately do the cleanup ("Android is upgrading..."), much like following an OTA. An initial GApps installation is one requirement and there are some important notes for support of Lollipop and above. Intended for ROMs with a busybox installation. Can also remove libs from and zipalign the integrated APKs if those binaries are present in the ROM.
lmkwhitelist init.d script (all devices) - link
Users running ROMs or kernels with extremely aggressive custom lowmemorykiller (lmk) driver settings may notice their launcher redrawing frequently. Some kernels/ROMs also include an exclusion for this by making stock (or the included) launcher unkillable, however that still leaves all the 3rd party launchers out there that people use. I wrote this init.d script with a community created list of the most common launchers to make whichever one is installed unkillable. This also has instructions for how to set up init.d scripts. If your launcher isn't included in the list, you can modifiy it by adding the application class name (from the Play Store URL) to the list within quotes, separated by spaces. Also part of the 975experimental Franco's Dev Team init.d script, linked above.
dalvik2cache init.d script (all devices) - link
Bind mounts the dalvik-cache directory to the cache partition. Useful on devices where the cache is sizable and unlikely to be used for OTAs (custom ROM, etc.), and the data partition is not. Every little bit counts!
settingsdump.sh (all devices) - attached
In comparing vm settings from various kernels and ROMs to see what's out there, I wrote this script to generate a list of the values of all the relevant sysfs files and directories. Now expanded to cover cpu and governor as well. Remove the .txt extension once downloaded. To run it, assuming you just put it in /sdcard/, open Terminal Emulator and type: "sh /sdcard/settingsdump.sh" (without quotes). It will output the file to /sdcard/r*-output.txt where * is the revision of the kernel you're running. This makes it easier to compare what's changed between different nightlies, for example.
Other
BootUnlocker app (many devices) [with segv11] - link
With a number of users researching and contributing the bootloader lockbit and tamperbit offsets in threads around xda and to the development thread for seg11's excellent BootUnlocker app, I have begun making beta builds with these new devices added. With hopes of adding any/all that can be, it now supports all the older Nexus devices, OnePlus devices and several others. We are accepting Pull Requests and collaborators for further device/design updates. Check my original revival post for more details.
G-Box Midnight MX2 g18ref ROM, recovery and kernel osmods (MX Box) [with BenniBenassi & relol] - link
I bought one of these unbranded Android TV boxes and was immediately determined to tweak it as much as possible following my work on the Galaxy Nexus. Flashing the official Matricom stock ROM over the generic included one I also discovered the recovery didn't have any A/V output to my old CRT TV. I set out to dump the kernel and recovery images, fix the recovery images and tweak the kernel defaults for the most performance.
Holo Stock Notification Icons for Notification Toggle (many devices) - link
This was likely my first post ever on xda. It is a "Notificon" pack for j4velin's fantastic Notification Toggle App, bringing a seamless stock look to this indespensibly useful app. Also a great way to get back to Settings easily from the notification shade since Android 4.2, and add shutdown/reboot menu functionality to stock/vanilla ROMs.
My GN Kernel Settings + 900colorsettings init.d script (GN) - link
I was being asked a fair amount for my kernel settings over in the GN f.K thread where I helped out, so I posted them up. I also put up an init.d script for setting color values on boot, which can drastically change the outcome on older panels, and at least makes custom values seamless. Instructions for how to set up init.d scripts are included.
Galaxy Nexus Baseband Collection: maguro - i9250 / M420 / SC-04D Radios (GN) [with josteink] - link
Original thread author josteink moved on to other devices and asked me to take over the thread. Lots of great information on the GN radios, posted alphabetically by region and chronologically by the build string date I found embedded in the images. Huge respect and massive thanks to josteink for seeing the need for a baseband thread almost as soon as the Galaxy Nexus was launched, way back in December 2011, and maintaining it diligently.
TK GApps (many devices) [with TKruzze] - link
After helping TKruzze with some of the concept and script work for his famous Paranoid Android Google Apps packages (PA GApps 2.0), we decided to collaborate again for his return to XDA after a much-needed hiatus, with me doing the thread setup and management with DevDB, and a Q&A section so things don't get overwhelming for those trying to follow along. The main thread remains locked and can be subscribed-to for those wanting notification only when there's a new GApps release, and the Q&A functioned as the main discussion thread where people can help each other. Much of the script is the same from PA GApps but TKruzze has added some impressive new features, made many fixes and revamped a large portion of the documentation. I also continued as an adviser and submitted script when needed.
Nexus Louder Audio Improvement Patch (GN, N4, N5, N7 '12, N7 '13) [with Misledz] - link
One of my earliest forays into EDIFY scripting, I wrote the flashable zip install/revert scheme for this great volume boost mod by Misledz. The scripts check to see if the mod is already installed and if so recommends you flash the version-specific revert that goes with it. More on that in the Intelligent EDIFY thread. During install the script also backs up the ROM files it replaces so that you don't need to reflash your whole ROM if something goes wrong, just use the revert to restore the backups. I eventually rewrote this completely in shell script with a Universal install/revert, that detects which files to backup and leaves a list for itself to revert. I also wrote automation batch scripts for Misledz as the "Louder Build Farm" to simplify his work for all the versions of the mod he maintains for various devices, linked in the knowledge base below. GN/Dev thread linked; Other links can be found there.
Payload-Dumper-Go for Android Magisk Module (many devices) [with ssssut] - link
payload-dumper-go arm compile and wrapper for use extracting from payload.bin on-device.
Git for Android Magisk Module (many devices) [with Termux] - link
Hacked arm64 git commands for use on booted Android.
Google Experience XML Magisk Module (many devices) [with Google] - link
Hacked Google Nexus/Pixel/Android One sysconfig feature xml entries for use on non-Google devices.
Digital Wellbeing Add-on Magisk Module (many devices) [with Google & Open GApps] - link
Digital Wellbeing for Android 12L and 13 GApps that don't properly support it (like MindTheGapps).
Model Mod Magisk Module (many devices) - link
Experiment to append _SN to the existing device model to get CTS passing again after the September 2021 server-side SafetyNet changes, (superceded by kdrag0n's excellent Universal SafetyNet Fix module).
Xposed Framework Installer Zip (many devices) [with rovo89 & Tungstwenty] - link
When JB4.3 broke all previous root methods I made this simple frontend script to install rovo89's brilliant Xposed Framework for modding ROMs until they could release a new version themselves. Xposed Framework files and the install.sh used are the work of rovo89 and Tungstwenty; I have only created a recovery flashable zip and shell script to function as an alternative frontend for the framework installation process. Then updated to mimic the APK installation and allow devices with /system write protection like HTC's S-ON to install the framework. (Deprecated as of Xposed 2.5).
BBCode for my xda Signature (n/a) - link
Last and definitely least. A number of people have asked me about the formatting of my signature, so here are some simple BBCode tricks and workarounds I thought others might like too. Keep in mind that my signature can be significantly larger because of my RC status.
Enjoy!
Questions, comments and feedback welcome.
Credits & Thanks: All authors of any included binaries and libraries for their amazing work. Anyone who's helped me with these projects along the way.
Disclaimer: Naturally, you take all the responsibility for what happens to your device when you start messing around with things.
Knowledge Base
Links to information/research posts I've made and other experiments.
----
avbtool-arm (zip package) - link
AOSP's BootSignature.jar for AVB v1 was relatively simple to run on-device for boot.img modifying flashable zips like SuperSU and AnyKernel2 but avbtool for AVB v2 is written in Python, so that makes things a bit trickier. For experimentation I whipped up a little wrapper script to run avbtool on-device with an actual Python interpreter.
Omni SoundPacks (and Nexus Stock pack) - link
My suggested expansion to the Omni SoundPacks feature to allow it to cover all SystemUI sounds.
OnePlus FingerPrint Material Icons (Information) - link
My preferred fingerprint icon for the in-screen OP6T sensor using Zacharee1's excellent OPFPControl app.
----
Complete Shell Script Flashable Zip Replacement + Signing Documentation (Reference) - link
Using a shell script instead of an update-binary in flashable zips can make them universal for architecture and put a lot more power in the hands of the developer. This reference documents all of the analogous functions myself and others have written to make this easy.
Booted Zip Flashing Shell Setup Script (Reference/How-To) - link
My implementation of booted zip flashing, originally for AnyKernel2 in Franco Kernel Updater (now Franco Kernel Manager) and since expanded to support AK3's ability to be flashed from anywhere and support most other flashable zips on devices that allow remounting /.
Unified ext4/f2fs ramdisk + ROM installer (Reference) - link
Supporting multiple filesystems like ext4 and f2fs in a custom kernel boot.img ramdisk required some work before custom ROMs were updated to do this themselves and use fallback fstabs. This is the roll-up post gathering all the changes necessary for someone to add this pre-official support to their ramdisk, kernel and ROM installers.
FlashFire Recipe Book (Reference/How-To) - link
Just a quick reference of common tasks (OTA flashing, etc.) for people figuring out how to use Chainfire's brilliant flashing app.
personal addon.d (How-To/Template) - link
I was tired of having to redo a number of tasks (remove files, backup Nexus sounds and replace the AOSP ones, etc.) to get my device back to where I wanted it after flashing a newer nightly, so I wrote an addon.d script to do it all for me. Provided if anyone wants to modify it for their own personal setups.
KBox2: Set Up A Build Environment On Android (How-To) - link
Very cool Linux-like command prompt environment on Android. I originally had it set up as a native build environment with rudimentary git support. You can follow my steps to do the same.
Keeping SafetyNet Passing With Incremental Google OTA on Virtual A/B Devices (How-To) - link
Post-reboot checks added to the incremental OTA process for Virtual A/B devices using Google's servers made it impossible to remain rooted throughout the OTA process, but following these instructions you can complete the OTA then re-root without SafetyNet catching you.
Cygwin-Linux Cross-Compiler (How-To) - link
Compiling from Cygwin with a Linux target required some fixes to the toolchain, so I detailed them for future reference.
N4/N5/N7 '13 Qualcomm Optimized Bionic/Dalvik Patch Comparisons (updated zips) - link
Using Qualcomm optimized files on Snapdragon devices improves performance greatly on KitKat. Especially good on Nexus devices or AOSP ROMs. I took the time to dissect the required files and see what worked best.
AIK Build Farm (desktop shell script) - link
The Cygwin shell script "build farm" I wrote for my Android Image Kitchen project to perform all of the cross-compiles required for the mobile and Linux versions. Allows someone to setup the repos from scratch and build.
Louder Farm (zip packages) - link
The Nexus Louder project was a pretty massive system file modifcation undertaking. This details my work to make building the patch zips easy for co-dev Misledz, and includes the farm packages at various stages.
----
N7 '13 Bootloader cracking (Information) - link
Sat down with my parents' Nexus 7 2013 (before I got my own) over Christmas and cracked the bootloader for unlock support via my Nexus BootUnlocker Script zip and later the official BootUnlocker App.
N7 '13 Unbricking (Information) - link
Instructions I put together for recovering from a hard brick (bad bootloader flash usually), via the exposed Qualcomm/Marshall London "HS-USB Diagnostics 9006" mode.
Default System Alarm Setting Script (Information) - link
A script snippet function to allow easily changing the default alarm sound on ROMs that hide this ability, like OnePlus' OxygenOS.
SELinux Audit2Allow Script (Information) - link
A script snippet for turning SELinux audits in a logcat into allow statements ready for supolicy or magiskpolicy.
Partition Dumping Script (Information) - link
A script snippet for dumping all non-userland partitions from any eMMC device, useful for bootloader lockstate hacking.
GN Partition Information Table (PIT) Research (Information) - link
Wanting to push the GN as far as possible, several remaining users came together to discuss how it could be repartitioned to add more space to /system to better support Lollipop+ and I contributed a large amount of R&D over several posts throughout the thread which resulted in the PIT Editor script zip (posted above). Could be useful for other devices using PITs as well.
GN/N7 '12 tunables post (deprecated) (Reference) - link
The list of supported basic tunables on franco.Kernel for the Galaxy Nexus and Nexus 7 2012 back when those were my primary supported devices.
GN scheduler tunables HZ scale (Information) - link
The Galaxy Nexus scheduler (and other) tunables opperate on an odd scale due to the the device's HZ value in the source being weird. This post experiments with that and finding the method/equation behind it.
LMK boot timing (Information) - link
The Android lowmemorykiller module default tunables go through a bizarre sequence during boot, so I experimented and came up with a script to allow setting alternates as soon as possible.
LMK Launcher Whitelist/Niceness settings reversion (Information) - link
Setting oom_adj values and changing the niceness on launchers and systemui improved responsiveness and helped avoid these important processes being killed by LMK. Then I noticed sometimes they spontaneously reset; experimentation followed.
MTD partition flashing (Reference) - link
My MTD-based MX Box set-top device gave me a few hours of headaches until I figured out how to dump and flash the boot (kernel) partition correctly. This details my experiments and the correct procedure I discovered.
nano Android static build instructions (Reference) - link
A little documentation of all the dirty tricks I used to get the nano terminal editor utility to build for Android from the official git repo source.
mtd-utils Android static build instructions (Reference) - link
A little documentation of all the dirty tricks I used to get mtd-utils to build for Android from the official git repo source.
Pixel Launcher bind mount instructions (Reference) - link
I was annoyed that on stock Nexus 5X and 6P Pixel Launcher wasn't available and when sideloaded lost the Google Feed pane, so I replaced Google Now Launcher with Pixel Launcher using bind mounts.
Netflix broken DRM workaround instructions (Reference) - link
Custom Nexus 7 2013 ROMs Nougat+ have all had issues with Netflix due to some peculiarities of the DRM libraries the ROMs use, but some found that intentionally semi-breaking DRM using files from other devices allows Netflix to work again, but this broke Google Play Movies. I did some more testing, resolved the Play Movies issue and wrote up how to install the single needed replacement library either to system or with a systemless bind mount.
----
Thanks for the interest! More to come, I'm sure!
What can I say...
SUBSCRIBED
Sent from my Galaxy Nexus
Far superior
thanks
Franco Team always made a great work .... Keep it up.
Thanks for these great useful infos!
Bookmarked, subscribed and rated a well deserved 5 stars :good:
Thanks for sharing. Very useful.
Nice...
Envoyé depuis mon Galaxy Nexus avec Tapatalk
Nice collection osmosis
Many thanks osm0sis, to you and all the team for all your contributions Almost feel as though I know you since I've been hanging round GNex and N7 franco.Kernel threads for so long and if you pop up on the N4 thread it's like seeing an old friend I'm mostly quiet, but really appreciate all you do :thumbup:
Sent from my Nexus 4 using Tapatalk 2
Subscribed... Thanks dude...
-3StarsAndaSun
Subscribed. Thanks
Thanks back to you, everyone! I've learned a hell of a lot about Linux and Android in the year since I got my GN, and I mostly have xda to thank for that, even though I've always been the type to tinker and Google things. Still lots more to learn though! But, at the very least I guess nobody can say I haven't been busy since becoming a RC, huh?
Nice to see all these settings are adopted by others, also the interactive tuneables are used in ak kernel now.
Verstuurd van mijn Nexus 7 met Tapatalk
Subscribed :good: !
New version of testvalue.sh up. I added the input value to the output.txt file to make it easier to read since it starts at 0. Right now we're trying to work out the equation for the scale of certain cfq and deadline tunables on the GN, which is a bizarre one:
7, 15, 23, 31, 39, 46, 54, 62
Increases by 8s but occasionally (on the 5th jump, though sometimes 6th) it increases by 7.
Edit: Every 3rd increase of 7 occurs on the 6th instead of the 5th.
Edit 2: Stats genius of the group, @pkgnex worked out what the trick was; dropping the decimals once calculated.
So in Excel: y=TRUNC(x*7.8125,0)
:good:
The "why" of the GN tunables working this way, with a value of 125/16 is a very good question. No ideas there, personally. Something to do with the GN having a HZ value of 128 (where on others it's 100 or even 200) I'd assume, but I don't see the direct connection.
This was very handy to know though, because the cfq+deadline source requires the number of jumps (x) to hardcode the values, not the actual desired numbers like you'd expect.
Perfect!!!
Very interesting
Created a getprio script last night for use in /system/xbin as a runnable script to check the niceness of a process. It's up in the 2nd post now. It attempts to make up for Android not having "getpriority", and not displaying the niceness in "top" or "ps" like it would on mainstream Linux.
Code:
usage: getprio [-p] <pid> | -c <class> | -s <search string>
note - class name search will only use the top result
So you can either -p the numeric pid of a process if you know it (this is the default so the -p argument is optional), -c the class name of the process (eg. com.android.systemui), or -s a search string using part of the class name (eg. systemui). If there is more than one result for the search only the top result will be returned so if you are trying something like "-s mms", you'll only see the system mms process and not com.android.mms until you get more specific with "android.mms" or something. It's likely you've got a lower level process if you get the response "Warning: empty class name!" so that's your tip your search was too broad. Naturally, processes must be running in order to return info as well. :good:
Edit: ps -p will display niceness on Android, but it's not ideal if you want it only for a specific process like with getpriority. Thanks boype.
Kali NetHunter for the Galaxy Note 3 (3.1.0)
Welcome to the thread on Kali NetHunter for the Samsung Galaxy Note 3.
If you don't know what Kali NetHunter is, well, it's the entire Kali Linux operating system in a chroot on your phone, plus a bunch of awesome apps for executing exploits, fixing things, doing cool things. It goes on, I suppose.
I'm gonna be honest guys, I'm not a security person. When it comes to security, I'm more of a Paul Blart.
What I do know though, is that there is apt-get, and apt-get is life.
Find much more information here: https://github.com/offensive-security/kali-nethunter/wiki
The answer to all your questions, generally the answer is YES, IT CAN DO THAT.
Most AOSP based ROMs should be supported!
The updater zip will add a few files to your /system partition, and install all of the NetHunter apps to your /data partition.
The chroot is located in /data/local, so you don't have to worry about your system partition being full. It's full read/write capable.
Understand that the zip will replace your current kernel with a completely different one.
This is necessary because most stock or custom kernels don't provide the drivers needed to operate most of Kali NetHunter's features.
DOWNLOAD
Current version: 3.15.3 (stable, 2016-12-17)
Please be careful to download the right version based on this table:
N9005: hlteeur
N900W8 & N900T: hltecan
N900P: hltespr
N900K, N900L, & N900S: hltekor
SC-01F: hltedcm
SCL22: hltekdi
CyanogenMod 12.1 & SlimRom 5.1: lollipop
CyanogenMod 13.0 & SlimRom 6.0: marshmallow
Nightly TWRP flashable zips are located at: https://build.nethunter.com/nightly/
BEFORE INSTALLING
Please make sure your phone boots fine and runs fine before flashing NetHunter. It's confusing when people report bugs that exist in CyanogenMod by itself.
The Kali chroot and apps are installed on your data partition (in /data/local for chroot). To initialize the chroot and install Kali Linux, you need to start the Kali NetHunter app.
The NetHunter installer will automatically install SuperSU in system mode, which I consider to be more stable. Since NetHunter already modifies your system partition, there is no need to use systemless SuperSU anyways.
FULL FRESH INSTALL STEPS
Optional: Flash CyanogenMod/SlimRom installer zip
Optional: Flash Gapps if you want them (preferably OpenGapps pico)
Boot into device
Complete setup wizard
Reboot into recovery
Flash kernel-nethunter-hlte* and nethunter-generic-armhf-kalifs-full-rolling zips in any order.
Boot into device
Open the NetHunter app
Use the Kali Chroot Manager to finish the installation
You're done!
UPDATING TO A NEWER BUILD
Going from 3.0.0 and up, all you have to do is flash the new build in recovery and wipe dalvik cache.
UPDATING YOUR ROM
To get all your NetHunter and SuperSU functions back after flashing a new ROM, just flash the ~60 MB update-nethunter-* zip again.
RUNNING WIFI PENETRATION TESTS
The internal WiFi chipset of the Galaxy Note 3 is not capable of running services which use monitor mode such as Wifite. For this, you will need to use a monitor mode capable WiFi adapter through a microUSB OTG adapter.
As for compatible adapters, I highly recommend the Alfa Networks AWUS036NEH (eBay) which uses the Ralink RT3070 chipset. There are currently no monitor mode supported Wireless-AC adapters available.
Once plugged in, you can run the command from Kali terminal to turn on your adapter:
[email protected]:~# ip link set wlan1 up
RAN INTO AN ISSUE OR BUG?
In order for me to help you, you have to at minimum reply with:
The link to the exact zip you downloaded
Your device model (hlte, hltecan, hltesovietrussia, etc.)
The name of the ROM you're flashing it on
The version and build date of the ROM you're flashing it on
A complete description of your problem
Optional: An audio recording of you reading this entire post
If your issue is with a specific app, it might be better to contact the developer of that app.
If your issue is during the installation (ex. flashing the NetHunter zip), then please collect a TWRP recovery.log for me.
If you found a problem and were able to fix it, and no one's mentioned it in the thread already, it would be kind to state the issue and your fix for others to make use of as well.
You can join me and the other NetHunter developers on IRC at the #nethunter room on freenode to more handily diagnose problems together.
I apologize, but I can't do house calls at this time.
You may be able to fix some bugs by updating to the latest bootloader and modem for your device.
See: (Direct Download) Latest Bootloaders & Modems
KNOWN ISSUES
USB Keyboard & VNC - Google Keyboard, AOSP Keyboard, CM Keyboard do not work due to a depth bug, use Hacker's Keyboard as a workaround.
Terminal App - Full screen programs like nano or vi are unusable unless you use the resize command. (always type resize when opening a new terminal window)
SCREENSHOTS
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
DEVELOPMENT
For the kernel included in NetHunter for the Samsung Galaxy Note 3, you can find the sources here: https://github.com/jcadduono/idleKernel-note3
See the Kali NetHunter installer source here: https://github.com/offensive-security/kali-nethunter
See the Kali NetHunter app source here: https://github.com/offensive-security/nethunter-app
It is powered by idleKernel, however none of the idleKernel scripts (ikconfig, usb control, kernel tweaks) are available by default. I recommend installing idleKernel zip (non-NetHunter) from the idleKernel thread and then flashing the NetHunter updater or kernel installer over idleKernel. You will then have all of idleKernel and Kali NetHunter's features at your disposal.
DISCLAIMER
I am not affiliated with Offensive Security. They seem like cool guys though.
I'm not even a novice when it comes to security and penetration. I'm just a simple system administrator with a passion for breaking Android.
Please restrain yourselves from asking me security related questions.
NOT SO MUCH AS SEEN ON MR. ROBOT, BUT PROBABLY EVEN BETTER
XDA:DevDB Information
Kali NetHunter for the Galaxy Note 3, Device Specific App for the Samsung Galaxy Note 3
Contributors
jcadduono, the Kali NetHunter team
Source Code: https://github.com/jcadduono/kali-nethunter
Version Information
Status: Stable
Current Stable Version: 3.15.3
Stable Release Date: 2016-12-17
Created 2016-01-07
Last Updated 2016-12-21
Reserved
first
great cant wait to try it out
What solution are you offering for Wifi devices, Are you going to compile kernel for compatable devices?
Or is this something the user is going to have to do.
I only mention this, as i have a Working version of Nethunter and have for over a year, But i refused to post release information due to the support required to get various wifi devices to work.
I did not want to get involved so the release never happened, Am happy compliling my own kernel for supported drivers, But i dont see your average joe doing this.
Also another snag i found was you can only have the one wifi device enabled at one time, so disabling the onboard to enable the external.
All issues by commands, but am just questioning if you have considered this or have support for this?
dave7802 said:
What solution are you offering for Wifi devices, Are you going to compile kernel for compatable devices?
Or is this something the user is going to have to do.
I only mention this, as i have a Working version of Nethunter and have for over a year, But i refused to post release information due to the support required to get various wifi devices to work.
I did not want to get involved so the release never happened, Am happy compliling my own kernel for supported drivers, But i dont see your average joe doing this.
Also another snag i found was you can only have the one wifi device enabled at one time, so disabling the onboard to enable the external.
All issues by commands, but am just questioning if you have considered this or have support for this?
Click to expand...
Click to collapse
I suppose multiple WiFi devices would be in the realm of Kali rather than the kernel. I can't imagine it being harder than using a powered USB hub to connect multiple radios and configure each of them using one of the network managers available in the Kali repository, while leaving your native Broadcom WiFi to Android to handle. All the popular / mac80211 injection capable WiFi drivers are compiled right into the kernel and enabled - not as modules. The Nethunter installer takes care of installing all the necessary firmware binaries to your system partition as well.
The compatible USB WiFi dongles should just be plug and play at this point.
I'm still waiting on my TP TL-WN822N to arrive from Amazon for testing.
Btw have you tried the Nethunter 3.0 app? It really is designed to make everything quick and easy, 1 step for whatever you're trying to do.
Considering swinging by the #nethunter room on freenode to ask questions and/or suggest ideas to make things easier.
I have not tried 3.0
Am still talking about 2.0 seems like they have added some additional support like network manager.
This was not present in my build so i just use a few bash scripts to enable and disable.
But ill give this version 3.0 a try thanks
dave7802 said:
I have not tried 3.0
Am still talking about 2.0 seems like they have added some additional support like network manager.
This was not present in my build so i just use a few bash scripts to enable and disable.
But ill give this version 3.0 a try thanks
Click to expand...
Click to collapse
Not a network manager in nethunter app, I mean install one in Kali chroot the same way you would on a Debian server.
Version 3.0.1 is now up and the changes are:
Tell SuperSU to install in system mode (not systemless)
Update SuperSU to version 2.66
Use SuperSU's supolicy binary to patch the sepolicy during install (fixes Marshmallow/CM13.0 unable to boot)
Inject init.superuser.rc into the ramdisk if it's not there already
SuperSU should no longer be broken with non-gzip compressed ramdisks
Find commits here: https://github.com/jcadduono/kali-nethunter/commits/master
Please note that it is still Kali Nethunter 3.0, and the .1 is just an update that improves flashing compatibility.
Y'know, I really thought you guys would be eating this stuff right up. <_<
please include flashing instructions - do we need to also flash gapps...which ones should we use. Thank you.
comptonhubbard said:
please include flashing instructions - do we need to also flash gapps...which ones should we use. Thank you.
Click to expand...
Click to collapse
It's not a ROM, it's an app, kernel, and environment. You have to flash it on an already set up CyanogenMod ROM from TWRP.
jcadduono said:
It's not a ROM, it's an app, kernel, and environment. You have to flash it on an already set up CyanogenMod ROM from TWRP.
Click to expand...
Click to collapse
After IdleKernel 6.6.5?
Gandicela said:
After IdleKernel 6.6.5?
Click to expand...
Click to collapse
Doesn't matter. If you flash idleKernel after, make sure it's the -kali version though. The only thing flashing idleKernel does is add ikconfig, /sbin/usb, and a few small kernel tweaks in the ramdisk.
jcadduono said:
Doesn't matter. If you flash idleKernel after, make sure it's the -kali version though. The only thing flashing idleKernel does is add ikconfig, /sbin/usb, and a few small kernel tweaks in the ramdisk.
Click to expand...
Click to collapse
I see. It's therefore like this: Running CM>>Kali Hunter>>Kali Hunter Kernel. Cheers, Mate!
I need to format SD-card?
amazing work.
tnx
Mx WaR HaBiB said:
I need to format SD-card?
amazing work.
tnx
Click to expand...
Click to collapse
No you dont have to format it
Sent from my SM-N9005 using Tapatalk
Gandicela said:
I see. It's therefore like this: Running CM>>Kali Hunter>>Kali Hunter Kernel. Cheers, Mate!
Click to expand...
Click to collapse
So, do we need to use version for CM 12.1 for OnePlus from here?
https://www.offensive-security.com/kali-linux-nethunter-download/
Ps
It works
First install kali kernel, after download Kali for oneplusone, reboot into recovery, install kali zip, and aftet again idle kali kernel.
I am on CM 12.1 nightly...
eseregin said:
So, do we need to use version for CM 12.1 for OnePlus from here?
https://www.offensive-security.com/kali-linux-nethunter-download/
Ps
It works
First install kali kernel, after download Kali for oneplusone, reboot into recovery, install kali zip, and aftet again idle kali kernel.
I am on CM 12.1 nightly...
Click to expand...
Click to collapse
Why are you doing this!!! You're bound to end up breaking something.
All you do is flash this after completing CM setup wizard and you're done. There's absolutely no reason to download any other Kali installer. This is the full version 3.0! Nethunter app now sets up your chroot for you.
Full steps:
Flash CyanogenMod installer zip
Flash Gapps (preferably opengapps pico)
Boot into device
Complete setup wizard
Reboot into recovery
Flash the Galaxy Note 3 Kali Nethunter installer zip from this thread
Boot into device
You're done!
If you absolutely need ikconfig or /sbin/usb, then you can install idleKernel-kali zip from the idleKernel thread later.
3.0.1_2016_01_10 build uploaded. Just a bug fix for Nethunter app.
Installation query
I have CM13 set up with superSU 2.46 and idleKernel 6.5.5 installed.
Do I have to install CM all over again? And follow your steps, or is there a way for me to keep my data and just flash it as is?
UnbracedTundra said:
I have CM13 set up with superSU 2.46 and idleKernel 6.5.5 installed.
Do I have to install CM all over again? And follow your steps, or is there a way for me to keep my data and just flash it as is?
Click to expand...
Click to collapse
Make a full backup in twrp first.
Wipe /system and dalvik and /cache. Install latest CM13 (or CM12.1 if thats what you meant) zip and gapps, then boot into system. Once boot is complete, reboot into recovery and flash nethunter then boot and you should be good to go without deleting your data.
jcadduono said:
Why are you doing this!!! You're bound to end up breaking something.
All you do is flash this after completing CM setup wizard and you're done. There's absolutely no reason to download any other Kali installer. This is the full version 3.0! Nethunter app now sets up your chroot for you.
Full steps:
Flash CyanogenMod installer zip
Flash Gapps (preferably opengapps pico)
Boot into device
Complete setup wizard
Reboot into recovery
Flash the Galaxy Note 3 Kali Nethunter installer zip from this thread
Boot into device
You're done!
If you absolutely need ikconfig or /sbin/usb, then you can install idleKernel-kali zip from the idleKernel thread later.
3.0.1_2016_01_10 build uploaded. Just a bug fix for Nethunter app.
Click to expand...
Click to collapse
Wow...
I am idiot!
Completely ignored the main link I needed -
https://idlekernel.com/nethunter/cm12.1
Now I understand that went dangerous way, lucky still with working phone
Tbh, most all utilities in Kali for now behind my knowlage of Linux so far
PS
I can see some scripts somehow survived even with full wipe, now my recovery provide some red lines doing job, something path missing in /data/...something/something
Though do the job.
I thought nothing can survive after full wipe...
Welcome to the thread on Kali NetHunter for the LG G5.
If you don't know what Kali NetHunter is, well, it's the entire Kali Linux operating system in a chroot on your phone, plus a bunch of awesome apps for executing exploits, fixing things, doing cool things. It goes on, I suppose.
I'm gonna be honest guys, I'm not a security person. When it comes to security, I'm more of a Paul Blart.
What I do know though, is that there is apt-get, and apt-get is life.
Find much more information here: https://github.com/offensive-security/kali-nethunter/wiki
The answer to all your questions, generally the answer is YES, IT CAN DO THAT.
The installer zip will add a few files (including busybox) to your /system partition, and install all of the NetHunter apps to your /data partition.
The chroot is located in /data/local, so you don't have to worry about your system partition being full. It's full read/write capable.
Understand that the zip will replace your current kernel with a completely different one.
This is necessary because most stock or custom kernels don't provide the drivers needed to operate most of Kali NetHunter's features.
These Kali NetHunter builds are designed and tested for LG G5 stock 6.0.1 firmware.
DOWNLOAD
Current version: 3.1.0 (stable, 2016-04-29)
Download here: https://idlekernel.com/nethunter/nightly
Your device is: h830 (T-Mobile) / h850 (International)
Recommended install method: Use TWRP 3 for H830 or TWRP 3 for H850
Install kernel-nethunter-[h830|h850] and nethunter-generic-armhf-kalifs-full-rolling zips in any order.
You can actually only install the kernel if you want to take advantage of its features without having to install the rest of NetHunter!
BEFORE INSTALLING
Do not flash the NetHunter update zip with a fresh data partition!
Most ROMs will wipe it clean on the first boot if you haven't completed the Android Setup Wizard yet, there's no need to wipe your ROM or data to try it out. I do advise backing up your data partition before flashing the zip though.
(this should no longer be possible now with added installation checks)
Please make sure your phone boots fine and runs fine before flashing NetHunter. It's confusing when people report bugs that exist due to other factors unrelated to NetHunter.
The Kali chroot and apps are installed on your data partition (in /data/local for chroot). To initialize the chroot and install Kali Linux, you need to start the Kali NetHunter app.
The NetHunter installer will automatically install SuperSU in system mode, which I consider to be more stable. Since NetHunter already modifies your system partition, there is no need to use systemless SuperSU anyways.
If you would like to use another root method, or prefer systemless SuperSU, then simply remove the supersu folder from the installer zip and it will proceed without it.
FULL INSTALL STEPS
Follow the instructions on setting up working data and internal storage in TWRP.
Flash kernel-nethunter-[h830|h850] and nethunter-generic-armhf-kalifs-full-rolling zips in any order.
Reboot into device
Open the NetHunter app
Let the NetHunter app finish setting everything up
You're done!
UPDATING TO A NEWER BUILD
Going from 3.0.0 and up, all you have to do is flash the new build in recovery. On some ROMs you may need to wipe dalvik cache.
UPDATING YOUR ROM
To get all your NetHunter and SuperSU functions back after flashing a new ROM, just reflash the kernel-nethunter-[h830|h850] zip and the ~60 MB update-nethunter-generic-armhf zip in TWRP.
RUNNING WIFI PENETRATION TESTS
The internal WiFi chipset of the G5 is not capable of running services which use monitor mode such as Wifite. For this, you will need to use a monitor mode capable WiFi adapter through a USB-C host adapter.
As for compatible adapters, I highly recommend the Alfa Networks AWUS036NEH (eBay) which uses the Ralink RT3070 chipset. There are currently no monitor mode supported Wireless-AC adapters available.
Once plugged in, you can run the command from Kali terminal to turn on your adapter:
[email protected]:~# ip link set wlan1 up
RAN INTO AN ISSUE OR BUG?
In order for me to help you, you have to at minimum reply with:
The link to the exact zip you downloaded
Your device model (it better be h830/h850)
The name of the ROM you're flashing it on
The version and build date of the ROM you're flashing it on
A complete description of your problem
Optional: An audio recording of you reading this entire post
If your issue is with a specific app, it might be better to contact the developer of that app.
If your issue is during the installation (ex. flashing the NetHunter zip), then please collect a TWRP recovery.log for me.
If you found a problem and were able to fix it, and no one's mentioned it in the thread already, it would be kind to state the issue and your fix for others to make use of as well.
You can join me and the other NetHunter developers on IRC at the #nethunter room on freenode to more handily diagnose problems together.
I apologize, but I can't do house calls at this time.
KNOWN ISSUES
USB Keyboard & VNC - Google Keyboard, AOSP Keyboard, CM Keyboard do not work due to a depth bug, use Hacker's Keyboard as a workaround.
Terminal App - Full screen programs like nano or vi are unusable unless you use the resize command. (type resize when opening a new terminal window)
Sound - There is no sound when using the NetHunter kernel. Well, the Kali slogan...you know. Just kidding, this needs urgent fixing!
THE KERNEL
The NetHunter kernel for the LG G5 is based on LG's H850 v10a kernel sources.
It has the following changes:
Updated to Linux 3.18.31 (security fixes & more)
F2FS added using Jaeguek Kim's latest kernel.org:f2fs-stable sources (available on system/data/cache!)
UKSM - Ultra Kernel Same-page Merging support
Compiled with -O2 optimizations using GCC Linaro 5.3 aarch64 toolchain
Simple IO (SIO) scheduler as default IO scheduler (updated for modern kernels)
USB HID Gadget keyboard support
mac80211 packet injection support
Westwood, HTCP, or Cubic (default) TCP congestion algorithms
savoca's KCAL display color calibration driver
RTL-SDR, BT RFCOMM, and various WiFi OTG drivers enabled
NFS and CIFS client support with file caching
Additional drivers built in for the full Kali NetHunter experience
SCREENSHOTS
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
DEVELOPMENT
For the kernel included in NetHunter for the LG G5, you can find the sources here: https://github.com/jcadduono/nethunter_kernel_g5
See the Kali NetHunter installer source here: https://github.com/offensive-security/kali-nethunter
See the Kali NetHunter app source here: https://github.com/offensive-security/nethunter-app
DISCLAIMER
I am not affiliated with Offensive Security. They seem like cool guys though.
I'm not even a novice when it comes to security and penetration. I'm just a simple system administrator with a passion for breaking Android.
Please restrain yourselves from asking me security related questions.
NOT SO MUCH AS SEEN ON MR. ROBOT, BUT PROBABLY EVEN BETTER
XDA:DevDB Information
Kali NetHunter for the LG G5, Kernel for the LG G5
Contributors
jcadduono, The Kali NetHunter team
Source Code: https://github.com/jcadduono/nethunter_kernel_g5
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: 3.1.0
Stable Release Date: 2016-04-29
Created 2016-04-23
Last Updated 2016-06-07
I am confused, is this a rom, kernel or performance boost mod ? please Eli5...
_ray_ said:
I am confused, is this a rom, kernel or performance boost mod ? please Eli5...
Click to expand...
Click to collapse
It's a kit ROM so to speak. It's for penetration testing so if you don't know what it is then you don't need it.
ChongoDroid said:
It's a kit ROM so to speak. It's for penetration testing so if you don't know what it is then you don't need it.
Click to expand...
Click to collapse
Kool, cheers
Up and runing. Bootanimation is not fullscreen, and it looks like wifite does not find any internal wifi (Not that internal will be of any use, but it was shown on my other android device). Need to get a usb-c otg cable now to get my alfa rocking again.
This are just things i find, should not be in a offended way.
Awesome that it came to h850 so fast, thanks.
Pinu'u said:
Up and runing. Bootanimation is not fullscreen, and it looks like wifite does not find any internal wifi (Not that internal will be of any use, but it was shown on my other android device). Need to get a usb-c otg cable now to get my alfa rocking again.
This are just things i find, should not be in a offended way.
Awesome that it came to h850 so fast, thanks.
Click to expand...
Click to collapse
Yup added a note in the middle of my first post about the internal WiFi. Unfortunately the boot animation was made for us in 1080p and while we could resize it to other resolutions, it wouldn't look very nice stretched out. :x I guess it wouldn't be terrible on 2560x1440, but we can't really be bothered to create multiple boot animation zips right now unless someone wants to help us!
I'm just glad it worked first try, I made a ton of changes in the kernel and was expecting it to crash or not boot. It's nice to have a reliable device to maintain without owning it once in a while, Samsung's S7 is certainly the opposite where compiling even the stock kernel sources results in boot loops.
Also really glad OEMs are including full armhf binary support on their aarch64 devices! We've yet to port NetHunter fully to aarch64, though the installer is ready, the chroot isn't.
Could someone please gather a recovery.log from TWRP after flashing the two zips? Advanced -> Copy log to SDcard, copy it off your sdcard and preferably upload it in your reply. Thanks!
(I'm ensuring that everything is installing correctly with no silent errors)
If you've already installed NetHunter, it's safe to flash the zips again as much as you want!
nice to see this, current have it running one my oneplus one, will try it on my g5 soon
It would be very interesting to see a modular bottom modded to support an OTG interface and the insides of a USB wifi dongle...
Anybody having problems with adb and bluetooth not working ? Just want to be sure it's me.
Pinu'u said:
Anybody having problems with adb and bluetooth not working ? Just want to be sure it's me.
Click to expand...
Click to collapse
same here, and on top of that... No Sound at all. System wide. All Sources... Freaky :cyclops:
Thx, hopefully after a few updates all is fine .
Miustone said:
same here, and on top of that... No Sound at all. System wide. All Sources... Freaky :cyclops:
Click to expand...
Click to collapse
hmm those are both things that were modules that i turned to builtin, maybe i need to make them back into modules, perhaps LG is using closed source kernel module versions? :S
jcadduono said:
hmm those are both things that were modules that i turned to builtin, maybe i need to make them back into modules, perhaps LG is using closed source kernel module versions? :S
Click to expand...
Click to collapse
Strange, hope you can fix it... Can't help you with that. But if you need more infos or a Log. Just say something! Really want to use this Kernel... Great work at all. Thanks!:good:
All connections are working Now with latest Version of this Kernel. But the Sound is still missing. None of the Outputs is working. Bootsound is also not hearable... ?
Hi can you work on having NTFS support via otg. Thanks.
I have no sound and sd card not reading on H30.
Sent from my LG-H830 using Tapatalk
Has the sound issues and stuff been fixed:fingers-crossed:? I'm planning to get the G5 and this kind of a deal breaker between it and the HTC 10
(BTW, I'm planning on getting the H830)
This looks pretty awesome but I wouldn't install it on my G5. I think I'd get a OnePlus Two or something for this.
No sound and SD Card can not be read.My Phone is H850,V10c.I flash latest Version of this Kernel(kernel-nethunter-h850-marshmallow-3.1.0-20160524-1936)
I wonder if the dev would be better off compiling the kernel from source once more then adding in the modules one by one testing to see which one breaks it then just removes it until a future release.
Code:
I am not responsible for any damage resulting from the use of the Free-Droid software.
Free-Droid is now Anarchy-Droid
Free-Droid has been fully rewritten from scratch in go and is now published as Anarchy-Droid. This page is kept for reference only. Please follow the link and use the new version of this software.
Introduction
Free-Droid is an application designed to help you install custom roms on your Android device. It is supposed to make the process of finding, downloading and installing a rom (with addons like Magisk, F-Droid and microG) as easy as possible. The primary audience is all the folks who do not really know anything about Android, TWRP or roms, but still would like to run a free, open-source and non-bloated Android on their devices. Using a free after-market rom like LineageOS should not be restricted to the few people with enough technical know-how to do the complex installation procedure all by themselves.
Free-Droid is free and open-source and is available for Windows, Mac and Linux. As of now, it should be working fine with Samsung, OnePlus, NVidia, Sony and Motorola devices and with all other devices that already have TWRP installed.
Download
Download from the official website.
Images
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
What it does
help you activate USB debugging
help you install drivers
help you unlock the bootloader
download and install TWRP
update TWRP if a newer version is available
download and install a rom
download and install F-Droid and MicroG
download and install Magisk (legacy method, off by default)
Features and explanations
Please visit the Gitlab page of the project for more details!
Compatibility
Free-Droid is supposed to work on as many devices as possible. Supported brands as of now are:
Samsung
Motorola
Oneplus
NVidia
Sony
Every device that already has TWRP installed: launch Free-Droid, boot your device into TWRP and connect it with USB to your computer
For the support status of a specific device, you can enter its model name here to check the compatibility.
The Free-Droid application itself will tell upon device connection if it is compatible. If it says that your device is not supported, you can be sure that it will not work. As of now, Free-Droid will display device untested for most devices, because I will only mark a device as supported if a few people tested it and confirmed it is actually working fine.
Changelog
For a changelog please just have a look at the commits on gitlab.
Beta
Although Free-Droid already runs very well, I was not able to test it on a lot of computers and with many different devices. Therefore, consider Free-Droid to be beta software for now.
Besides, there are a few things that still need to be implemented. What is not working yet:
project treble roms
devices that need special treatment like storage repartitioning
Finally, in order to lead Free-Droid out of the beta phase of development, a lot of testing needs to be done. This way, Free-Droid will know more reliably which devices can be expected to be workable without issues and which ones it should deny to work on.
Further development plans
add support for more brands that can be easily unlocked
handle project treble GSI roms
add a button to abort a running installation procedure
create packages for 32 bit computers
add MoKee rom
add /e/ rom
add possibility to install openGapps instead of microG ?
add possibility to select an additional zip to flash after the rom ?
fix crash on windows if changing folder on rom selection dialog
add a way to backup and restore using TWRP ?
add more documentation to the gitlab page ?
A note about Magisk installation
Installing magisk is getting more and more difficult. The installation method employed by Free-Droid is now discouraged and called a legacy installation method, because it can cause trouble and break the ability of the system to boot. For that reason, the installation of Magisk is turned off by default now in Free-Droid and a warning is issued to the user when turning it on.
You can still try to install Magisk with Free-Droid during the normal installation procedure. But if your system does not boot afterwards, you will have to try again without Magisk. On some devices, you might need to know how to manually boot into recovery in order to retry the installation (device-specific hardware key combination).
Free-Droid now also provides an easy way to try and install Magisk later on. The same ("legacy") installation method is used, but you can try the installation after the first boot of your newly installed system. I've seen a case where this would work while installing Magisk before the first boot would not work. This assumes that TWRP is connected or at least still installed.
I need you
Please test Free-Droid on your computer and with your device.
In case of issues: use the button in Free-Droid to pack a bug report and either send it with an email or create an issue on the gitlab issue tracker.
If you have a device of a supported brand for which Free-Droid does not find a rom by itself, please leave me a message with a link to a working rom (and/or TWRP image). If you can confirm that the rom is stable and fully working, I will add it to the Free-Droid unofficial archive and it will become available in Free-Droid.
If you know about a faulty official release of TWRP or a rom, please also leave me a message. Example: the latest few official releases of TWRP for i9305 (Samsung Galaxy S3 LTE) are faulty and fail when trying to install a rom with sideload. Free-Droid uses a specific version of TWRP in that case and can automatically handle cases like that in general. I just need to know which devices need a workaround.
Thanks To/Credits
LineageOS
Resurrection Remix
Omnirom
CarbonROM
AOSPExtended
TWRP
MicroG
F-Droid
Aurora
Magisk
NanoDroid
XDA for being the one and only place for custom android stuff
You and the rest of the XDA community for helping make Free-Droid better
XDA:DevDB Information
Free-Droid, Tool/Utility for all devices (see above for details)
Contributors
imska
Source Code: https://gitlab.com/free-droid/free-droid
Version Information
Status: Beta
Created 2019-07-01
Last Updated 2021-04-09
Reserved
download for linux coming soon ?
Exodusnick said:
download for linux coming soon ?
Click to expand...
Click to collapse
Download for Linux is already there.
Download for Mac coming soon (as soon as I figure out how to create a mac-app with a bundled jdk and launchable by click)
Download for Linux 404 Not Found
https://free-droid.com/
Downlad for Windows yes for Linux no
Exodusnick said:
Download for Linux 404 Not Found
https://free-droid.com/
Downlad for Windows yes for Linux no
Click to expand...
Click to collapse
You're absolutely right, thanks for pointing that out!
Fixed.
Ladies and Gentlemen,
Mac support has landed. You can now download Free-Droid for MacOS.
Depending on your Gatekeeper settings, you might need to launch Free-Droid by right-clicking on it and selecting Open. If it still fails to start, try to start the file called "right-click open" in the same way.
It is out and works with Ubuntu 18.4.2 and a Galaxy S5 (kltedv). Can Take a bit to download and install all of its Binaries .... A bit like Odin look. Similar to Skipsoft, with out a huge amount of reading.
Version 0.6.6 ; build 20190723; Lic-GPL-3.0
keep up the work on this! Seems rather easy to use.
Will keep an eye for updates coming..
This is beatiful! I wasted probably 2 hours this morning to get a android 9 on my old s5 since i need it for a project, i'm not a complete newby, i rooted and changed rom many time in the last 8 years but i do it every once in a while, so i always have to check for tutorials again and there is alwasy some step that don't go as planned, as today the rom was not installing, was almost ready to give up to not lose more time, saw this, was almost sure this would gone wrong somewhere as all automated stuff while after a couple of clics and 5/10m my s5 was ready with android 9 on it. THIS IS JUST BEATIFUL and great, hope it gain the visibility it deserve!
Really GREAT job!
Ladies and gentlemen,
Support for OnePlus devices has landed.!
Assuming that the bootloader unlock procedure is the same on all OnePlus devices, Free-Droid should work perfectly with them now. Still, any bug report is welcome.
Developed and tested with a OnePlus X (onyx).
Happy flashing to everyone!
Fixed bug when connecting device on the latest release.
Pushing update to the server right now, just restart the application and let it update itself.
Sorry for the server downtime over the last days. Everything is back online again and running.
Update to be released soon with support for nvidia shield tablet (will need testing though).
0.7.3 update released
-Better device detection using a database from here. This should result in less devices not recognized at all. Still, a lot of devices may be recognized, but have no working TWRP or rom known to free-droid.
-a lot of refactoring done in the code
-initial support for NVidia devices. Sould work in theory, but I couldn't test it by myself yet.
Says Device Supported. Then Says "Sorry, I don't know how to work with your device." Samsung Galaxy S5 SM-G900V.
DKDK99 said:
Says Device Supported. Then Says "Sorry, I don't know how to work with your device." Samsung Galaxy S5 SM-G900V.
Click to expand...
Click to collapse
Thanks for reporting this. Maybe you can help me sort this out... The G900V is the Verizon variant if I'm not mistaken. Can you confirm that it *should* work with the official lineageOS for the S5 (klte)? Besides, it would be of great help for me to diagnose and fix the error if you could send me the logs of free-droid. You can hit export logs in the help page of the application and drop the zip either here or send to [email protected]
New update released: 0.7.5
Sony support!
better device recognition
bug fixes
hope u can add support to install custom rom other than Pie 9.0. Coz I want to install stable version of Xposed.
You already can install any ROM you have downloaded. Just select "use my own ROM" and choose the zip.
But I think you can use magisk and the module called tai chi to install and use xposed stuff
Linux Version
@imska
Stuck forever at "Welcome Screen" on Ubuntu 16.04 (Xenial fork)
Looks amazing don't have a chance to test it but here are some mirrors:
Windows https://www.mediafire.com/file/1603rruccyef7gv/Free-Droid-WIN-latest.zip/file
Mac https://www.mediafire.com/file/qi64ju4y7108nqc/Free-Droid-MAC-latest.tar.gz/file
Linux https://www.mediafire.com/file/m5hzx7b4xie503o/Free-Droid-LINUX-latest.tar.gz/file