[ROOT] Universal (temporal) root tool for dirtycow-capable Android M devices - Android Software/Hacking General [Developers Only]

Hi,
I've developed an universal & stable temporal root tool for "dirtycow-capable" Android M (and N?), i.e., without the 2016-11-06 patch.
It bypasses selinux via a vdso backdoor inside the init process which is injected by a memory-only dirtycow exploit.
This approach has the following advantages:
Memory-only: does not modify the filesystem
Scalable: easy to add new kernel and/or new devices
Stable: does not affect stability of your device
Reversible: the backdoor is cleared immediately after the root shell ends, which means no reboot is required after usage
Please use version v0.1.1 instead of v0.1 which has a severe bug!
Attention:
By "SELinux bypass" I mean the payload will run in init domian even if SELinux is in enforcing mode, however, a patch to sepolicy is still needed for making init domain unconfined. Usually this means a modified boot image is required.
Details, releases, usage and the source code is available at Github.
Maybe I'll turn it into a SuperSU installer in the future. Donations are welcome.
XDA:DevDB Information
VIKIROOT, Tool/Utility for all devices (see above for details)
Contributors
hyln9
Source Code: https://github.com/hyln9/VIKIROOT
Version Information
Status: Testing
Created 2017-01-20
Last Updated 2017-01-21

Hi, I am working on the LG Tribute HD model LGLS676 and we are looking for an exploit for MM 6.0.1 build MXB48T. is it possible to create a 32-bit version of this exploit? It's exactly what we need right now for a method to gain root as not even temp is not even close to possible, lg has this one airtight. I'm running Ubuntu 16.04.01 64 bit and can help test if needed on my device. Thanks in advance for any help you can or cannot provide ?

Sands207 said:
Hi, I am working on the LG Tribute HD model LGLS676 and we are looking for an exploit for MM 6.0.1 build MXB48T. is it possible to create a 32-bit version of this exploit? It's exactly what we need right now for a method to gain root as not even temp is not even close to possible, lg has this one airtight. I'm running Ubuntu 16.04.01 64 bit and can help test if needed on my device. Thanks in advance for any help you can or cannot provide
Click to expand...
Click to collapse
Thanks for your reply.
Unfortunately, 32-bit vDSO support is not available for Android currently.

hyln9 said:
Thanks for your reply.
Unfortunately, 32-bit vDSO support is not available for Android currently.
Click to expand...
Click to collapse
Could we use a different backdoor/exploit for x86 devices?

AptLogic said:
Could we use a different backdoor/exploit for x86 devices?
Click to expand...
Click to collapse
Great idea, I'll have a try in the emulator.

Hello and thank you for this!
I am stuck and need your help here please... I'm on an LG V10 (H960A) mm, and I think I followed the instructions on GitHub correctly:
1. Extracted the "exploit" binary
2. adb push /data/local/tmp
3. adb shell (cd to /data/local/tmp and made "exploit" executable)
4. Executed the "exploit"
and now I am stuck in "waiting for reverse connect shell". Turning device on/off, toggling Bluetooth etc does nothing... How should I proceed? Thanks in advance!

ftaios said:
Hello and thank you for this!
I am stuck and need your help here please... I'm on an LG V10 (H960A) mm, and I think I followed the instructions on GitHub correctly:
1. Extracted the "exploit" binary
2. adb push /data/local/tmp
3. adb shell (cd to /data/local/tmp and made "exploit" executable)
4. Executed the "exploit"
and now I am stuck in "waiting for reverse connect shell". Turning device on/off, toggling Bluetooth etc does nothing... How should I proceed? Thanks in advance!
Click to expand...
Click to collapse
A debug version was added to the download page.
Would you please run it as before and send me the two generated debug info file "vdso_orig.so" and "vdso_patched.so" to me? They are just dump of some part of kernel and don't contain any personal information.
My e-mail address is: hyln9$live.cn (replace $ with @)
Thanks!

@hyln9 how goes the looking for a 32bit exploit? I'm available to test any developments that have been made, using an AT&T Galaxy S5 running Android 5.0 ((I can upgrade to 5.1.1 or 6.0 if needed)
(Try exploiting wpa_supplicant )

hyln9 said:
A debug version was added to the download page.
Would you please run it as before and send me the two generated debug info file "vdso_orig.so" and "vdso_patched.so" to me? They are just dump of some part of kernel and don't contain any personal information.
My e-mail address is: hyln9$live.cn (replace $ with @)
Thanks!
Click to expand...
Click to collapse
Just sent them to you...

hyln9 said:
A debug version was added to the download page.
Would you please run it as before and send me the two generated debug info file "vdso_orig.so" and "vdso_patched.so" to me? They are just dump of some part of kernel and don't contain any personal information.
My e-mail address is: hyln9$live.cn (replace $ with @)
Thanks!
Click to expand...
Click to collapse
I also sent!!

Is there any way this can with for the at&t lg g5 h820 I believe. I hope so that is the only thing I hate with this phone. No root. So boring.

What port should we be using? When I use the non-debug version it hangs waiting for the reverse connection... using the debug version it dies before even creating a log file it says: "Internal error: unknown kernel." I'm running an AT&T G5 (H820) without the latest patches...

rvyhmeister said:
What port should we be using? When I use the non-debug version it hangs waiting for the reverse connection... using the debug version it dies before even creating a log file it says: "Internal error: unknown kernel." I'm running an AT&T G5 (H820) without the latest patches...
Click to expand...
Click to collapse
did you reboot phone?
and maybe you don't get error.

Not executable 64 bit elf file?

jcpowell said:
Not executable 64 bit elf file?
Click to expand...
Click to collapse
That means you're trying to run this 64 bit exploit on a 32 bit android system. The exploit doesn't work on 32 bit because 32bit systems don't have vdso. I'm working on a different exploit and I think this dev is too but I don't expect much out of my tests since it's mostly device specific.

iptr9 said:
did you reboot phone?
and maybe you don't get error.
Click to expand...
Click to collapse
Rebooted... running the debug
Now I get this
Syscall error: bind at line 392 with code 13.
No files are created... what port should I tell it? Thanks!

rvyhmeister said:
Rebooted... running the debug
Now I get this
Syscall error: bind at line 392 with code 13.
No files are created... what port should I tell it? Thanks!
Click to expand...
Click to collapse
maybe you have to cd into /data/local/tmp
and then ./exploit

iptr9 said:
maybe you have to cd into /data/local/tmp
and then ./exploit
Click to expand...
Click to collapse
I've done that... the interesting thing is that if I run simply
./exploit
it replies
CVE-2016-5195 POC FOR ANDROID 6.0.1 MARSHMALLOW
Usage:
./exploit port: use local terminal.
./exploit ip port: use remote terminal.
If I enter any number, it then fails...

rvyhmeister said:
I've done that... the interesting thing is that if I run simply
./exploit
it replies
CVE-2016-5195 POC FOR ANDROID 6.0.1 MARSHMALLOW
Usage:
./exploit port: use local terminal.
./exploit ip port: use remote terminal.
If I enter any number, it then fails...
Click to expand...
Click to collapse
try a port above 1024

saspipi said:
try a port above 1024
Click to expand...
Click to collapse
thanks.... it starts fine.... but then hangs waiting for the reverse shell to connect.... I've got the zip with the two debug files that I'm attaching

Related

[HOWTO] Get offsets for ICS exploit

Saurik's mempodroid exploit needs offsets of "exit" and "setresuid" functions calls in order to work.
Here's a tool that may find this two offsets while running on your ICS device and give you the mempodroid command line to run for gaining a temporary root shell.
This tool doesn't add any capability to Saurik's exploit.
Please let me know if you have any idea for improvement.
Feel free to use this tool, at your own risks.
1- download and unzip
2- push the two binaries to /data/local/tmp with adb
3- chmod 755
4- run n95-offsets
5- copy / paste the command line given by the tool
If the trick works, you will see the $ prompt change to a # one.
Hope it will help.
Hi,
don't work on HTC One X with 4.0.3.
cheers
starbase64
Already too old
Hi,
Mempodipper / mempodroid exploit uses a serious security hole in Linux kernels 2.6.39 and higher, making some noise in Linux' world. A patch has been given by Linus Torvalds himself late january.
It always take some times to deploy patched kernels but by now, most of them are probably mempodroid-resistants.
Wait for the next...
I just updated my samsung galaxy nexus from 4.0.2 to 4.0.4. Before that, I could root it using the command line provided by saurik:
Galaxy Nexus 4.0.2: 0xd7f4 0xad4b
Click to expand...
Click to collapse
source: https://github.com/saurik/mempodroid
After the update, I did not manage to root it so I came to this topic after some research on xda
Unfortunately, it looks the 4.0.4 update patches this hole on the galaxy nexus (or the n95-offsets tool does not work, which is probably not the case). Here for the record is what is returned by the tool:
[email protected]:/data/local/tmp $ ./n95-offsets
n95-offsets by Nesquick95
Gets requiered offsets for mempodroid exploit
./mempodroid 0xd7cc 0xad27 sh
1|[email protected]:/data/local/tmp $ ./mempodroid 0xd7cc 0xad27 sh
1|[email protected]:/data/local/tmp $
Click to expand...
Click to collapse
No root shell given. Any proof on the vulnerability beeing patched with 4.0.3 or 4.0.4?
No proof but...
Hi,
I've also lost mempodroid rooting capacity when upgrading my Galaxy Nexus from 4.0.2 to 4.0.4.
The tool can be wrong but I mainly think that the hole has been patched. But you're right, no proof of it until now
Nesquick95 said:
Hi,
I've also lost mempodroid rooting capacity when upgrading my Galaxy Nexus from 4.0.2 to 4.0.4.
The tool can be wrong but I mainly think that the hole has been patched. But you're right, no proof of it until now
Click to expand...
Click to collapse
Yes, I think that too. How did you managed to get the 4.0.4 rooted then? Did you unlock the bootloader or did you use another root exploit?
Unlocked
I've rooted 4.0.4 by unlocking the bootloader, flashing ClockworkMod recovery then an update.zip containing only the su binary.
I'd prefered keeping stock booloader locked but there is not so much kernels exploits around here for now and I ain't got time for testing other devices (Acer, Sony,...) specifics exploits on the Gnex...
If you're interested, you can take a look at Dan Rosenberg's works, in addition to all the great things already done here at XDA :
http://vulnfactory.org/blog/
Nesquick95 said:
Saurik's mempodroid exploit needs offsets of "exit" and "setresuid" functions calls in order to work.
Here's a tool that may find this two offsets while running on your ICS device and give you the mempodroid command line to run for gaining a temporary root shell.
This tool doesn't add any capability to Saurik's exploit.
Please let me know if you have any idea for improvement.
Feel free to use this tool, at your own risks.
1- download and unzip
2- push the two binaries to /data/local/tmp with adb
3- chmod 755
4- run n95-offsets
5- copy / paste the command line given by the tool
If the trick works, you will see the $ prompt change to a # one.
Hope it will help.
Click to expand...
Click to collapse
Hi Nesquick. I need to compile this source and mempodroid for a MIPS tablet (4.0.3 ICS and 3.0.8 kernel), since it seems that it cannot be rooted. Can't adb root or su. Do you think that it could be used or you can help generating the binaries for MIPS?
Thanks in advance
Hi,
Hard to say if it will work or not... Your 3.0.8 kernel may be a good candidate as long as it hasn't be mempodroid-patched by the tablet's provider.
I have Google NDK r7 installed, it offers only x86 and ARM support. It seems that MIPS support comes with r8 :
http://developer.android.com/sdk/ndk/index.html
You'll find the perl script used to compile my C programs attached (thanks to the author, Andrew Ross). I think t won't be to hard to adapt it to NDK r8 / MIPS platform...
the offsets of "exit" is wrong
Nesquick95 said:
Saurik's mempodroid exploit needs offsets of "exit" and "setresuid" functions calls in order to work.
Here's a tool that may find this two offsets while running on your ICS device and give you the mempodroid command line to run for gaining a temporary root shell.
This tool doesn't add any capability to Saurik's exploit.
Please let me know if you have any idea for improvement.
Feel free to use this tool, at your own risks.
1- download and unzip
2- push the two binaries to /data/local/tmp with adb
3- chmod 755
4- run n95-offsets
5- copy / paste the command line given by the tool
If the trick works, you will see the $ prompt change to a # one.
Hope it will help.
Click to expand...
Click to collapse
this is ok, great!!!
n95-offsets can work
olive360 said:
Hi, I get the offsets with n95-offsets
the offsets of "exit" is wrong
offsets of "setresuid" is right
my cell offsets is 0xd524 0xab8f
the offsets obtained with n95-offsets is 0x8003 0xab8f
Click to expand...
Click to collapse
sorry, i make a mistake, n95-offsets can work, i have rooted use it.
Thanks!!! It works with my Yifang / Mediacom MD 860 S2 (Generic ICS 4.0.4 tablet on a Cortex A9 platform)
Hi, I've Mediacom 715i (new one with 4.0.4), I've used n95-offsets to find the two offset, then I've executed mempodroid, but it doesn't work. still have '$' prompt. Any Idea?

[Linux/Mac] ADB & Fastboot (Un)Install Script [Team BlueRidge]

[Linux/Mac] ADB & Fastboot Install Script
I have created a script to be used to install ADB and Fastboot on a Mac or a Linux computer. Simply run the script in Terminal or a similar application and it will copy ADB and Fastboot to /usr/local/bin/
Also, as of Version 3.1 this also installs the JDK for Linux-based systems.
While advanced users probably won't need this, it would be good for new users who need help using the ADB and Fastboot commands.
You can see the source at GitHub.
Download
If you have any problems or errors, let me know.
Changelog:
20171202
Moved entirely to GitHub
On Debian-based Linux, installs the adb and fastboot packages
Other systems, the binaries are pulled from Google's website
Executables are given +x permissions
Version 5.0
Hosted on GitHub and Google Code
Uses latest adb and fastboot (as of April 3, 2014)
Install to /usr/local/bin/
Version 4.1
Uses cp rather than mv
Hosted on GitHub again
Team BlueRidge project
Version 4.0
Now installs adb and fastboot to /usr/bin/ which is a more appropriate directory for the files.
Includes Readme now!
Version 3.1
Added JDK Install for Linux
Version 3
Created separate scripts for Linux & Mac
Updated uninstall script
Version 2.1.1
Fixed errors in installer
Version 2.1
More code efficient.
Better comments in script.
Version 2
Combined installer scripts into one Universal
Updated Uninstall.sh to remove udev rules
Version 1.1
Added udev rules for Linux
Version 1
Initial release
Linux
Didn't work on linux, I suggest making a seperate script for linux, I believe the problem is where it detects linux. It gets sudo but nothing more. I ran each command by itself under linux and it worked. Thanks.
shootind5nukes said:
Didn't work on linux, I suggest making a seperate script for linux, I believe the problem is where it detects linux. It gets sudo but nothing more. I ran each command by itself under linux and it worked. Thanks.
Click to expand...
Click to collapse
Thanks! I'll fix that and post an update soon!
JDK is now installed on Linux systems!
Now hosted on Google Code rather than GitHub.
Now installs to /usr/bin/, which is a more appropriate directory as these files are not required for normal system booting or are required for the general functions of your operating system.
i know this thread is old but i need some help.
my devices are not showing up after running the script.
i used adb devices and ./adb devices
boneskid1 said:
i know this thread is old but i need some help.
my devices are not showing up after running the script.
i used adb devices and ./adb devices
Click to expand...
Click to collapse
Does it say that ADB is not found or your devices?
Try enabling ADB (USB Debugging) on your device if it says no devices were found.
Gingerbread: Settings>Applications>Development>USB Debugging
Ice Cream Sandwich: Settings>Developer options>Android debugging
Thanks!!!! This worked perfectly. Using Ubuntu 11.10.
romuloxiii said:
Thanks!!!! This worked perfectly. Using Ubuntu 11.10.
Click to expand...
Click to collapse
I'm happy I could help! Don't forget to click "Thanks" if you liked it!
If you have any issues in the future with it, please feel free to let me know!
Good news!!! This is now a Team BlueRidge project and is on Team BlueRidge's GitHub
since tar.gz files are linux that means I download the zip file on my mac right? sorry if the question is obvious
prflash3 said:
since tar.gz files are linux that means I download the zip file on my mac right? sorry if the question is obvious
Click to expand...
Click to collapse
Download whichever for whichever platform. It's the script inside that you use that matters.
Trying to run the script on OSX, but when I am prompted to enter my password I can't type anything. Please help.
Ditto ul49, being prompted for a password, please advise
Simply type your account password. It won't look like anything is being typed but it is. This is how the "sudo" command works. It is for security.
really glad i found this.
i run "sh "sh script name" and i get this error
ADB-Install-Linux.sh: 5: ADB-Install-Linux.sh: Syntax error: newline unexpected
not sure if it's installed or what
thanks for making this set of scripts and if u could advise me on that error id be grateful.
---------- Post added at 05:46 PM ---------- Previous post was at 05:44 PM ----------
crazy
apt-get install android-tools-fastboot
and
apt-get install android-tools-adb
worked
Just released the first update in two years. Sorry to leave this project unmaintained. The files are now hosted by Team BlueRidge as Google Code no longer supports downloads.
First, thank you very much for putting this together for fellow users. While I'm not the most savy of guys I thought I might just share my experience while installing this ADB + Fastboot package on my MacBook Pro (mid 2012) running OS X Mavericks 10.9.3 in the hopes that somebody might benefit from it as well.
So here it goes:
I tried running the installation script found in "Androidv5.zip" which up until now is the latest version (I think). The script failed to install:
"This will install ADB and Fastboot on your computer.
Root Permissions required. Please type your password.
Password:
Changed directory to /Users/User/Downloads/Androidv5
Moving ADB
cp: /usr/local/bin/adb: No such file or directory
ADB Moved to /usr/local/bin/adb
moving Fastboot
cp: /usr/local/bin/fastboot: No such file or directory
Fastboot moved to /usr/local/bin/fastboot
You may now run Android Debug Bridge and Fastboot commands
Have a nice day."
So I figured I'd open the script file and run each command manually but they would still not work. I then decided to open the target directory
from terminal and it couldn't find it either, so I openned the /usr/ directory to find where the /bin/ directory was... and I found it at | /usr/bin | instead of | /usr/local/bin |.
I ran the commands in the script again manually one by one with the target directory set to | /usr/bin | and then closed terminal and reopened. After that I tried running "adb devices" and the output was "permission denied".
I then applied a "chmod 775 /usr/bin/adb" "chmod 775 /usr/bin/fastboot", closed & reopened terminal and voilà it worked!
Again I'm not a savy guy... there might probably be a better way to do this or perhaps I didn't run the install script as it was supposed to but anyway I decided to let you guys know how it went just in case it proves useful to somebody else....
Then again thanks a lot for sharing this! I finally have ADB + Fastboot on my Mac without having to nag about downloading the Android SDK. :laugh: :good:

[LINUX]adbkp-gui ~ Control your phone with your PC!

adbkp-gui​
It is for linux, can be made for windows too, as it is open source :angel:​
Ever wondered, controlling your phone with your PC? Even possible? Yes!
but, "adb input x y" everytime???
Click to expand...
Click to collapse
No.
but, adb input x y doesn't work on ICS!
Click to expand...
Click to collapse
Yes, I know. That's when I got @Twin0ne's guide, TUTORIAL: Remote Control Touch Screen, but it was half-done So, I figured out the other half of the guide myself (which was easy to do, given the first half is pretty-self explanatory), and was able to get touch events on the phone, and soon, keypress events.
So, made a GUI with Qt, to make things easier
Changelog:
v2.2.5:
Reimplemented recalibrate() function to run automatically at startup
Easier to port, as platform-specific code is lessened
Needs single standalone executable, with adb in environment path
v2.0:
Diagonal touch added
re-worked touch functions
added re-calibrate function for multiple ROM support
v1.0:
Initial Release
Credits:
Twin0ne's guide (TUTORIAL: Remote Control Touch Screen)
https://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt
App preview:
How to use:
You need Qt 5.
Installation instructions for Qt:
Code:
sudo add-apt-repository ppa:ubuntu-sdk-team/ppa
sudo apt-get update
sudo apt-get install qt-sdk
Then, install adb using "sudo apt-get install android-tools-adb" or similar
*or*
Reference adb path in your ~/.bashrc file!
Then, chmod ./adbkp-gui (if necessary) and execute normally.
Source: https://github.com/vineethraj49/adbkp-gui
XDA:DevDB Information
adbkp-gui, a Tool/Utility for the HTC Pico (Explorer)
Contributors
thewisenerd
Version Information
Status: Stable
Current Stable Version: v2.2.5
Stable Release Date: 2013-10-22
Created 2013-11-16
Last Updated 2013-11-16
Downloads
Downloads:
v2.2.5: https://github.com/vineethraj49/adbkp-gui/releases/download/v2.2.5/adbkp-gui
v2.0: View attachment adbkp-gui_v2.0.zip
Where's version 1.0?
Well, though sources were on GitHub, it was never intended to be released. v2.0, I thought it was good enough for public release
TODO:
Directly obtain event codes from phone (with help from: http://ktnr74.blogspot.in/2013/06/emulating-touchscreen-interaction-with.html)
You suggest!
There's BBQScreen! A much better alternative! More info: http://screen.bbqdroid.org/
reserved...
Reserved... just in case
@vineethraj49
how to run in ubuntu 12 cant understand how to do it
tried serching but got some error then
sakshamx said:
@vineethraj49
how to run in ubuntu 12 cant understand how to do it
tried serching but got some error then
Click to expand...
Click to collapse
You'd need to install the Qt5 and Qt4 from this PPA: https://launchpad.net/~ubuntu-sdk-team/+archive/ppa
Then, you'd be able to run it!
If you are looking for a faster method of controlling your phone, (and don't mind shelling out a few bucks), here's something useful: http://screen.bbqdroid.org/
Click to expand...
Click to collapse
vineethraj49 said:
You'd need to install the Qt5 and Qt4 from this PPA: https://launchpad.net/~ubuntu-sdk-team/+archive/ppa
Then, you'd be able to run it!
Click to expand...
Click to collapse
the app is running now some part in sdk was missing:silly:
but its not showing the screen and cant use any buttons on it
sakshamx said:
the app is running now some part in sdk was missing:silly:
but its not showing the screen and cant use any buttons on it
Click to expand...
Click to collapse
You need to connect your phone, and press the "re-calibrate" button
vineethraj49 said:
You need to connect your phone, and press the "re-calibrate" button
Click to expand...
Click to collapse
re caliberate not working just showing a blank screen
what extra data to be download for adb to work ?
sdk is required to download externally (full package) and add code in bashrc for adb to work?
i have already donloaded the stuff from the that code
sakshamx said:
re caliberate not working just showing a blank screen
what extra data to be download for adb to work ?
sdk is required to download externally (full package) and add code in bashrc for adb to work?
i have already donloaded the stuff from the that code
Click to expand...
Click to collapse
hmm...
you need to connect your phone, and your phone should be recognized with "adb devices"...then, open gui, and press recalibrate first... and you need to be able to see qt in your menu...
p.s. made a silly mistake of not including logging... will try to add logging support to the app as soon as possible
seems the 32-bit adb in the bin folder was causing the problem... next release with logging, and you'd have to install adb yourself using "apt-get install android-tools-adb", or set it in your path... no etas
p.s. recalibration done at app-execution time

[GUIDE/MOD] DNSCrypt for AArch64 (ZIP) (2016/03/17)

NOT SYSTEMLESS!
This writes to system, so systemless master race stay away.
Someone wanna make a Magisk version?
Instructions:
0. Download zip below and place inside internal storage.
1. Boot to TWRP.
2. Mount>System
3. Flash zip
4. Boot to Android and open a terminal emulator
5. Run dnscrypt enable. You probably have to do this every reboot.
Changing resolver:
Edit /system/etc/init.d/99dnscrypt. There's a line RESOLVER_NAME, change it to a suitable one from here under Name. I suggest you ping every server geographically nearby and go with the lowest ping.
Changing DNS server:
On Nexus 5X at least, use a Terminal Emulator and run
Code:
setprop net.dns1 127.0.0.1:53
Self-compile guide:
Requirements:
Linux computer (x86_64)
Android NDK (r12b is the newest so far, get the 64-bit one)
libsodium
dnscrypt-proxy
Here's how I did it:
1. Extract the NDK (unzip android-ndk-rXXb.zip )
2. Run
Code:
export ANDROID_NDK_HOME=<NDK Location>
3. Extract libsodium and dnscrypt-proxy.
4. Enter the folder of libsodium/dist-build, then edit android-build.sh such that NDK_PLATFORM:-android-16 becomes NDK_PLATFORM:-android-24. Then modify android-armv8-a.sh and add
Code:
-mtune=cortex-a57.cortex-a53 -mcpu=cortex-a57.cortex-a53
to the end of CFLAGS.
5. Return to libsodium root folder (cd ..) and do ./autogen.sh then ./dist-build/android-armv8-a.sh. When the script finishes it will tell you where the output is.
6. (Optional) Run android-toolchain-armv8-a/aarch64-linux-android/bin/strip on the output .so (typically in libsodium-android-armv8-a/lib/libsodium.so)
7. Now we do
Code:
export SODIUM_ANDROID_PREFIX=<libsodium output>
8. Enter the folder of dnscrypt, do the same modifications to dnscrypt's dist-builds. Again, do ./autogen.sh and ./dist-build/android-armv8-a.sh.
9. Now you have a fresh compilation of AArch64 dnscrypt-proxy!
It's usually dnscrypt-proxy-android-armv8-a.zip
10. Finally, we need to edit the zip file and rename the /system/lib folder to lib64, and change references in updater-script and /system/addon.d/75-dnscrypt.sh.
11. (Optional) Add --ephemeral-keys to 99dnscrypt for extra security.
Credits:
qwerty12 for the basic instructions
Changelog:
02/19: Updated libsodium (1.0.8->master) and dnscrypt-proxy(01/27 master->master)
03/17: Pulled freshest code from masters, compiled with NDK r11b and platform android-23
09/26: Latest stable branch of libsodium and master of dnscrypt. Compilation target now android-24. Compiled with NDK r12b
Changes to both dnscrypt-proxy and libsodium:
dist-build/android-build.sh:
Code:
NDK_PLATFORM:-android-16 to NDK_PLATFORM:-android-24
dist-build/android-arm-v8-a.sh:
Code:
Appended:
-mtune=cortex-a57.cortex-a53 -mcpu=cortex-a57.cortex-a53
to end of CFLAGS
Why not just release the compiled binaries ? would safe others with tinkering compiling it
Flashable zip
DragonHunt3r said:
Why not just release the compiled binaries ? would safe others with tinkering compiling it
Click to expand...
Click to collapse
Uploaded. I just thought most people would be more comfortable compiling their own code rather than trust a stranger. I still don't know how to fix the updater script though, it's the default one for now.
aschere said:
Uploaded. I just thought most people would be more comfortable compiling their own code rather than trust a stranger. I still don't know how to fix the updater script though, it's the default one for now.
Click to expand...
Click to collapse
That's true, but at the other side we trust random flashable zips for roms, mods etc from XDA
Thanks for the upload will take a look
Edit: well it works but in DNSManager for example it shows greyed out "Enable DnsCrypt"
dnsleaktest.com shows dnscrypt works though
DragonHunt3r said:
That's true, but at the other side we trust random flashable zips for roms, mods etc from XDA
Thanks for the upload will take a look
Edit: well it works but in DNSManager for example it shows greyed out "Enable DnsCrypt"
dnsleaktest.com shows dnscrypt works though
Click to expand...
Click to collapse
Shows up OK in my device.
So can I just flash the zip and use dns manager? nothing else?
---------- Post added at 03:25 AM ---------- Previous post was at 03:17 AM ----------
Will this work with a non 64 bit snapdragon 805
gangrenius said:
So can I just flash the zip and use dns manager? nothing else?
---------- Post added at 03:25 AM ---------- Previous post was at 03:17 AM ----------
Will this work with a non 64 bit snapdragon 805
Click to expand...
Click to collapse
This works only on 64-bit devices. For 32-bit devices, a download is provided here.
Yes, this is a flashable zip. However, DNS needs to be changed manually such as through DNS Manager because iptables doesn't entirely work.
Any major changes with 4/6? Thanks for updating this BTW.
th3g1z said:
Any major changes with 4/6? Thanks for updating this BTW.
Click to expand...
Click to collapse
It's all commits from 03/17 to 04/06.
Installed the zip successfully, when in terminal emulator, its not working, pls help!:crying:
Using rooted Lenovo A7000
Here's the full text directly copied from terminal emulator:
[email protected]:/ $ dnscrypt enable
Enabling dnscrypt-proxy...
iptables v1.4.20: can't initialize iptables table `nat': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.
iptables v1.4.20: can't initialize iptables table `nat': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.
[INFO] - [cs-uswest] does not support DNS Security Extensions
[INFO] + Namecoin domains can be resolved
[INFO] + Provider supposedly doesn't keep logs
[NOTICE] Starting dnscrypt-proxy 1.6.1
[INFO] Generating a new session key pair
[INFO] Done
[INFO] Server certificate #808464433 received
[INFO] This certificate is valid
[INFO] Chosen certificate #808464433 is valid from [2015-11-05] to [2016-11-04]
[INFO] Server key fingerprint is 881A:AED0:0427:BAF0:47D6:BDFA:6161A38:F019:571C:9BD2:A083:4A5F:C938:7E5D:8434
iptables v1.4.20: can't initialize iptables table `nat': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.
Done
[email protected]:/ $
kuchienkz said:
Installed the zip successfully, when in terminal emulator, its not working, pls help!:crying:
Using rooted Lenovo A7000
Here's the full text directly copied from terminal emulator:
[email protected]:/ $ dnscrypt enable
Enabling dnscrypt-proxy...
iptables v1.4.20: can't initialize iptables table `nat': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.
iptables v1.4.20: can't initialize iptables table `nat': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.
iptables v1.4.20: can't initialize iptables table `nat': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.
Done
[email protected]:/ $
Click to expand...
Click to collapse
Did you read the error you got? You have to be root. Try running 'su' before 'dnscrypt enable'
aschere said:
Did you read the error you got? You have to be root. Try running 'su' before 'dnscrypt enable'
Click to expand...
Click to collapse
Lol, i would not post my problem here if that could solve my problem :v
Already tried that several times. Still gives the same error.
kuchienkz said:
Lol, i would not post my problem here if that could solve my problem :v
Already tried that several times. Still gives the same error.
Click to expand...
Click to collapse
Can you post what version of Android, what phone?
aschere said:
Can you post what version of Android, what phone?
Click to expand...
Click to collapse
Android Version: 5.0.2
Lenovo A7000 : Phone Spec
kuchienkz said:
Android Version: 5.0.2
Lenovo A7000 : Phone Spec
Click to expand...
Click to collapse
Hmmm... I can't really think of anything other than the root: are you sure you rooted it? When you type su, do you switch to the root user?
aschere said:
Hmmm... I can't really think of anything other than the root: are you sure you rooted it? When you type su, do you switch to the root user?
Click to expand...
Click to collapse
Ah nevermind, i just reinstalled my phone with stock ROM, then rooted it. Now it works. :good:
If you curious about last rom, it is MIUI 7
Thank you so much for your help :victory:
Btw now that i understand how to run it. But as u said that i have to run it on every boot. Is there a way to run it automatically? Actually, im quite new to Terminal Emulator
kuchienkz said:
Ah nevermind, i just reinstalled my phone with stock ROM, then rooted it. Now it works. :good:
If you curious about last rom, it is MIUI 7
Thank you so much for your help :victory:
Btw now that i understand how to run it. But as u said that i have to run it on every boot. Is there a way to run it automatically? Actually, im quite new to Terminal Emulator
Click to expand...
Click to collapse
Good to hear that!
For automatic execution, you can create a script in /system/su.d or /system/addon.d I guess.
Ah actually, it should be in /system/etc/init.d
aschere said:
Ah actually, it should be in /system/etc/init.d
Click to expand...
Click to collapse
And.... how to make that script?
Im seriously beginner here
I dont have any idea what kind of script it is and what language it uses.
Maybe you can give me link to a site where i could learn to make one
kuchienkz said:
And.... how to make that script?
Im seriously beginner here
I dont have any idea what kind of script it is and what language it uses.
Maybe you can give me link to a site where i could learn to make one
Click to expand...
Click to collapse
Actually, the script should already be in there. See this.

[APP][Root][4.4 & 6+ & 7.0+ & 8.0.0] Tera - A cloud file system for unlimited storage

Tera is a cloud file system with unlimited storage size by extending the storage blocks to the cloud.
We recently released Tera ROM for Nexus 5x Post Here. However, it requires that you wipe the phone in order to install it. Not to mention that it works only on Nexus 5X.
After some serious effort, we have successfully crafted a new version that works on most Android phones without having to wipe them! All you need is root access. It is easy to install and uninstall, without the need of backing up your data, or the fear of destroying your existing files.
Changelog
2017.09.27 First release.
2017.10.03
Make phone permission is not necessary.
Support click to install in windows bat file.
2017.10.13
Add debug log for support new devices.
Improve stability for install script.
Support Android 7.0
2017.10.18
Support Android 6.0.X
solve problem with `adb push` in Windows
2017.11.02
Change adb push to push one file at once, some device don't support multiple files.
Support 32bit device.
2017.11.08
Repacking 32-bit version with correct share library
2017.11.14
Fix command issue in specific ROM
Tera-root has been tested on these devices:
Nexus 5X Android 8.0.0
Nexus 5X Android 7.1.2
Nexus 5X Android 7.1
Nexus 5X Android 7.0.0
Nexus 5X Android 6.0.1
Nexus 5X Android 6.0.0
Nexus7 Android 4.4.4
Nexus7 Android 4.4
Nextbit Robin Android 7.1.1
Samsung SM-T211 Android 4.4.2
Feature
Root-tera differs from the original LG Nexus 5X version Post Here in the following ways:
Root-tera uses a separate location (see below) to store its data so it won’t affect your existing data. Depending on the Android version, the location may be:
/sdcard/MY-TERA
/MY-TERA
/storage/MY-TERA
This directory can be accessed by any app.
Original functions that still work the same way:
Tera extends your phone storage to the cloud and makes your local storage look as big as your cloud storage.
Tera can use Google drive or Openstack Swift as backend storage. Just choose the one you want from the Tera app, and follow the setup instructions.
Guide
Reminders:
Grant the permission requests when they are shown.
If something’s not working, check the permission setting of SuperSu and the Tera app.
Installation steps:
Make sure the device is ROOTed and has SuperSu by TWRP installed.
Connect to the device through adb.
Download the Root-tera package and unzip.
Package for 7.1+ & 8.0.0 64 bit Link Here
Package for 7.1+ & 8.0.0 32 bit Link Here
Package for 6.0.x & 7.0.0 64 bit Link Here
Package for 6.0.x & 7.0.0 32 bit Link Here
Package for 4.4.X 32 bit Link Here
In root-tera directory, execute ./setup.sh install (Linux/Mac) or setup.bat install (Windows).
Grant permissions in SuperSU and wait for installation to finish. (In some cases it might fail on the first attempt. Don’t worry, just uninstall and then try install again.)
Open Tera app and grant permsssions again.
If you’re using Google Drive as your backend, you’ll be taken to a browser window and asked to log in to your Google Drive account.
Login and enjoy. Any app can use /sdcard/MY-TERA to store anything you like.
If you can’t see MY-TERA directory through MTP, go to Settings - Apps, in the “...” drop down menu on the top-right corner, select “Show System”, scroll down to select “Media Storage”, tap “Storage", then tap “CLEAR DATA” to clear the SD card directory cache. Reboot the device and wait for the system to rebuild the SD card directory cache. It may take a few minutes.
Uninstallation steps:
All data in /sdcard/MY-TERA will be DELETED, in the device and in the cloud.
Connect to the device through adb.
In root-tera directory, execute ./setup.sh uninstall (Linux/Mac) or setup.bat uninstall (Windows).
That's all.
The data on the backend are still there and need to be removed manually. If you reinstall Root-tera, you will see a fresh start on your device.
XDA:DevDB Information
Tera-AllDevice, App for all devices (see above for details)
Contributors
fineaisa
Version Information
Status: Beta
Current Beta Version: 0.11.4
Beta Release Date: 2017-11-13
Created 2017-09-27
Last Updated 2017-11-13
Reserved
I will try this when i get back to home!
btw, you said SuperSU but i use Magisk will it get Root access (i mean support Magisk)??
Thanks for this anyway
@fineaisa
I am not able to install sir
Device: Redmi Note 3 (SD kenzo)
ROM: RR Final Nougat 7.1.2
i think my device is not supported by your great tool :crying:
xN00Bx said:
Reserved
I will try this when i get back to home!
btw, you said SuperSU but i use Magisk will it get Root access (i mean support Magisk)??
Thanks for this anyway
@fineaisa
I am not able to install sir
Device: Redmi Note 3 (SD kenzo)
ROM: RR Final Nougat 7.1.2
i think my device is not supported by your great tool :crying:
Click to expand...
Click to collapse
From you screenshot, that operation is not support with direct click it.
You have to open a cmd and go to root-tera dir and type `setup.bat install`
In Root-Tera dir's address and type cmd
C:\root-tera-0.10.1-7+>setup.bat install
I think we will make setup.bat more simple in next release
Thank for your feedback,
My PC Is not working.. Can't I do this from my android device?
vraciu' said:
My PC Is not working.. Can't I do this from my android device?
Click to expand...
Click to collapse
Can you take a screenshot for your situation
and what operations you do? what kind of OS?
fineaisa said:
Can you take a screenshot for your situation
and what operations you do? what kind of OS?
Click to expand...
Click to collapse
I was just asking If I can install this without a pc. Without running that bat file from pc
vraciu' said:
I was just asking If I can install this without a pc. Without running that bat file from pc
Click to expand...
Click to collapse
Sorry my fault.
You can't install without a pc/mac and android device bridge
fineaisa said:
Sorry my fault.
You can't install without a pc/mac and android device bridge
Click to expand...
Click to collapse
I've seen the sh file and I saw that the script is pushing some files using ADB.. Can't I move those files manually?
Welp, nothing. It just fails
vraciu' said:
I've seen the sh file and I saw that the script is pushing some files using ADB.. Can't I move those files manually?
Click to expand...
Click to collapse
Yes, you can! but be careful, if you trying on a phone with your data.
Our script is tested which not affect your data and make installation as easy as possible.
xxxCrimeDogxxx said:
Welp, nothing. It just fails
Click to expand...
Click to collapse
What kind of device and ROM ?
fineaisa said:
What kind of device and ROM ?
Click to expand...
Click to collapse
Samsung Galaxy A800i, AOSP
Plz input install or uninstall:install
install
uid=0(root) gid=0(root) groups=0(root) context=u:r:su:s0
failed to copy 'files/hcfs' to 'files/hcfsapid': secure_mkdirs failed: No such f
ile or directory
Tera Install Fail
Press any key to exit...
Sony Xperia XA
Android 7.0
xxxCrimeDogxxx said:
Samsung Galaxy A800i, AOSP
Click to expand...
Click to collapse
Sorry, I forget to ask android version...
But AOSP ROM we may build it to try in emulator.
btw, this release 0.10.2 not support Android 7.0 yet.
vraciu' said:
Plz input install or uninstall:install
install
uid=0(root) gid=0(root) groups=0(root) context=u:r:su:s0
failed to copy 'files/hcfs' to 'files/hcfsapid': secure_mkdirs failed: No such f
ile or directory
Tera Install Fail
Press any key to exit...
Sony Xperia XA
Android 7.0
Click to expand...
Click to collapse
Sorry this version not support Android 7.0
but we are woking on that
next release will support!!!
fineaisa said:
Sorry, I forget to ask android version...
But AOSP ROM we may build it to try in emulator.
btw, this release 0.10.2 not support Android 7.0 yet.
Click to expand...
Click to collapse
No problem
Also for my other phone when will you release for lollipop and marshmallow
uid=0(root) gid=0(root) groups=0(root) context=u:r:su:s0
failed to copy 'files/hcfs' to 'files/hcfsapid': secure_mkdirs failed: No such file or directory
Tera Install Fail
Press any key to exit...
I have a Nexus 5x with Android 7.1.2, I tried with windows and Linux, in both I have the same fail
fineaisa said:
Sorry this version not support Android 7.0
but we are woking on that
next release will support!!!
Click to expand...
Click to collapse
Oh, no problem. I didn't read the title so I didn't saw that is not supported
Couple of Suggestions
Failed on my HTC M8 running lineageOS 14.1, but I was able to play around with your shell scripts and here are my thoughts
- not sure if you needed to keep the directory structure or not, but I changed your setup.bat to push the files in the 'files' directory on sdcard. So the directory structure is the same.
- on my OS, /sdcard does not allow executing files, so I changed your install part of setup.bat to copy all the files to /data/local/tera, so my setup.bat now has:
:START_UP
adb shell su -c "rm -rf /data/local/tera"
adb shell su -c "(cd /sdcard ;tar cf - tera |(cd /data/local; tar xvf -))"
adb shell su -c "find /data/local/tera -exec chmod 777 {} \;"
adb shell su -c "/data/local/tera/tera %UserInput%"
I also edited the tera shell script to reflect this change. All works except now the hcfsconf reports: "/data/local/tera/tera[407]: /system/hcfs/hcfsconf: not executable: 64-bit ELF file ". neither of the versions you have posted work. If I try and just run it manually I get "sh: ./hcfsconf: not executable: 64-bit ELF file
"
Looking forward to the next version
-brad
Melfloc said:
uid=0(root) gid=0(root) groups=0(root) context=u:r:su:s0
failed to copy 'files/hcfs' to 'files/hcfsapid': secure_mkdirs failed: No such file or directory
Tera Install Fail
Press any key to exit...
I have a Nexus 5x with Android 7.1.2, I tried with windows and Linux, in both I have the same fail
Click to expand...
Click to collapse
wow, Is there different model for nexus 5x?
what is build number for your device?

Categories

Resources