What for SuperUser command does exists?
Is there a List?
How can i get the file from
/data/data/com.android.providers.settings/databases/settings.db ?
i used:
adb pull /data/data/com.android.providers.settings/databases/settings.db C:
but it says:
failed to copy '/data/data/com.android.providers.settings/databases/settings.db' to 'C:': Permission denied
any solution?
try typing
Code:
su
or if not try
Code:
adb remount
I dont know much about this stuff yet, but that could help
ilendemli said:
How can i get the file from
/data/data/com.android.providers.settings/databases/settings.db ?
i used:
adb pull /data/data/com.android.providers.settings/databases/settings.db C:
but it says:
failed to copy '/data/data/com.android.providers.settings/databases/settings.db' to 'C:': Permission denied
any solution?
Click to expand...
Click to collapse
are you rooted?
try:
Code:
adb shell "su -c 'cp /data/data/com.android.providers.settings/databases/settings.db /sdcard/'"
this will use su to copy it to the sdcard, then you should be able to pull it from there. Phone may pop up a "Superuser request". Be prepared to allow it.
when i type:
adb shell "su -c '/data/data/com.android.providers.settings/databases/settings.db /sdcard/'"
It says:
/data/data/com.android.providers.settings/databases/settings.db: permission denied
My Device is rooted, and i gave su permission
You forgot the "cp" between "su -c" and "/data/data/..."
C:\Users\ilendemli>adb shell "su -c '/data/data/com.android.providers.settings/databases/settings.db /sdcard/'"
/data/data/com.android.providers.settings/databases/settings.db: permission denied
C:\Users\Muhammet ilendemli>adb shell "su -c 'cp /data/data/com.android.provider
s.settings/databases/settings.db /sdcard/'"
cp: not found
My CMD Window, whats wrong?
Hum, that's strange.
Try this : (<Enter> means pressing the Enter key on your keyboard)
adb shell <Enter>
su <Enter> (here you may have to look at your phone to give him the autorisation it needs)
cp /data/data/com.android.providers.settings/databases/settings.db /sdcard/ <Enter>
If it says "cp: not found", try this line :
busybox cp /data/data/com.android.providers.settings/databases/settings.db /sdcard/ <Enter>
busybox: not found
Try to replace busybox by bb in the command I gave you.
If it doesn't work, well, I'll doubt you did your root well ^^ Cause it should have install BB
Can you explain us what you did to root your phone ?
I used SuperOneClick Root, to root my Phone. it installed the su files and superuser.apk nothing else
EdIT:
I installed busybox manually and rebootet my phone, now when i type:
>adb shell "busybox -c cp '/data/data/com.android.providers.settings/databases/settings.db /sdcard/'"
it says:
-c: applet not found
EDIT2:
>adb shell
$ busybox cp /data/data/com.android.providers.settings/databases/settings.db /sdcard/
busybox cp /data/data/com.android.providers.settings/databases/settings.db /sdcard/
cp: can't open '/data/data/com.android.providers.settings/databases/settings.db': Permission denied
$
That's normal, you missed the "su" command in your Edit 2.
So, 2 ways to do it.
Edit 1 version :
adb shell "su -c busybox cp '/data/data/com.android.providers.settings/databases/settings.db /sdcard/'"
Edit 2 version :
adb shell
su
busybox cp /data/data/com.android.providers.settings/databases/settings.db /sdcard/
And I thought SuperOneClick did install BB... Well, I thought wrong ^^
Edit 1 version: Didnt worked..
Edit 2 version: WORKED!? i have the database,
now, how can i give these command in java?
anything with exec("..
From adb, you can't execute Java methods (because you're not in a JVM).
And I don't think you can access the DB like that in fact.
You have to make an app that read/write/do what you want on the DB (and it seems you're doing so, refering to the other topic you made )
it's not allowed, to edit databases directly, so my app will copy the database somewhere else, edit it, and copy it back, then it should work.
€: and i don't want to edit databses from the adb, i cant do it, the program cant do it, but java can do it:
Code:
myDB.execSQL("DELETE FROM system WHERE name = 'name1';");
myDB.execSQL("DELETE FROM system WHERE name = 'name2';");
myDB.execSQL("INSERT INTO system (name, value) VALUES ('name1', '"+arr[0]+"');");
myDB.execSQL("INSERT INTO system (name, value) VALUES ('name2', '"+arr[1]+"');");
Yes it should.
Make sure you don't mess with the DB though. It's an easy thing to break
Edit : From adb, apparently you can do something like
sqlite3 settings.db
Then you'll have a DB prompt where you can write SQL commands like SELECT, INSERT, etc.
can busybox delete and replace files?
BB lets you use any Unix command.
So you can use (in your example) the mv command, which will move a file from a directory to another one.
Runtime.getRuntime().exec("busybox mv /sdcard/ /data/data/com.android.providers.settings/databases/settings.db");
this should work
E: Hmm, doesn't work..
E2: should look like this: Runtime.getRuntime().exec("busybox mv /sdcard/settings.db /data/data/com.android.providers.settings/databases/");
will try it.
Yes. But remember you have to be root to do that
Hi,
Just a little help for me please, I try to launch some adb command with SU
In my little head, I have think translate your code with the SU call before
Code:
adb shell uname -r
become
Code:
adb shell su uname -r
With the first command, all is good I have my answer, with the su first I have
Code:
Permission Denied
I have a DESIRE (bravo) rooted and S-OFF, what did I do wrong ?
The Linux su expects a user name as parameter, not a command. As far as I can see, the Android su simply ignores this parameter. If you want su to execute a command, use the -c option, like in
Code:
su -c uname -r
This causes su to execute "uname -r" as root, after that it returns immediately, so you're back at the user level you've been before. This might not be what you expect, but that's how it works.
Your permission error: Try a single su command, without any arguments or options. If it also returns a permission error, you're not rooted. It should ask you at the mobile's display for permission if you're rooted and you are doing that for the first time.
Thx U dude, U R the one
I'm trying to setup orbot (rooted) but didn't work...
It give me an error: Couldn't start tor process, retrying...
In aLogcat show:
D( 226) setHidden false (KeyguardViewMediator) D( 6828) 10064 org.torproject.android executing 0 /system/bin/sh using shell /system/bin/sh : sh (su) D( 6831) 10064 org.torproject.android executing 0 /system/bin/sh using shell /system/bin/sh : sh (su) D( 6834) 10064 org.torproject.android executing 0 /system/bin/sh using shell /system/bin/sh : sh (su) F( 6838) stack corruption detected: aborted (/data/data/org.torproject.android/app_bin/tor)
and nothing else... that stack corruption detected error show every time that try to run tor.
Ive tried olders version and still... and i saw a guy posting the same error on a moto xoom.
nevermind...
that was a problem with busybox (i had it installed) but somehow wasnt working correctly.
so... busybox update and permission fix will solve it.
Hello, I hope someone has seen this before. I am not sure how I managed to break S7, as it was working, initially. I am running PE1 firmware, and factory reset before following the root guide, in the verizon guide forums. But now I have the problem where supersu will not auto start on bootup. I have to connect the usb cable to my pc, and use adb and manually start it. Root and Supersu are loaded. The only thing I have to run is:
C:\adb\adb.exe shell /system/etc/launch_daemonsu.sh
Then disconnect the usb cable, and all is well. Everything seems to be correct. What am I missing? I really do not want to start completely over. I have run the verizon debloat v2 and v8. I had to manually start supersu to flashfire the v8 script. Also in the same guide. All the root checker apps will see that you have root, but they say you are missing a super user app.
C:\adb\adb.exe shell /system/etc/launch_daemonsu.sh
mkdir: '/su': File exists
cp: /cache/stock_boot_*: No such file or directory
cp: bad '/cache/stock_boot_*': No such file or directory
/data/su.img: recovering journal
ext2fs_close2 : fs->write_bitmaps is null
ext2fs_close2 : normal operation, return 0
skipping journal recoverybecause INCOMPAT_RECOVER was clear.
check whether gdt & bitmap free count is vaild
/data/su.img: clean, 25/2048 files, 1399/8192 blocks
ext2fs_close2 : fs->write_bitmaps is null
ext2fs_close2 : normal operation, return 0
mount: No such file or directory
mount: No such file or directory
supolicy v2.74 (ndk:arm64-v8a) - Copyright (C) 2014-2016 - Chainfire
Patching policy ...
(Android M policy compatibility mode)
- Success
<Then disconnect the usb cable, supersu will work fine now.>
C:\adb>adb shell cat /system/etc/init.sec.boot.sh
#!/system/bin/sh
echo "init.sec.boot.sh: start" > /dev/kmsg
# start deferred initcalls
cat /proc/deferred_initcalls
## strace for system_server
#str=""
#while [ "$str" = "" ]; do
# str=`ps | grep system_server`
# sleep 0.1
#done
#
#pid=${str:10:4}
#echo "init.sec.boot.sh: strace -tt -T -o /data/log/strace.txt -p ${pid}" > /dev/kmsg
#strace -tt -T -o /data/log/strace.txt -p ${pid}
/system/etc/launch_daemonsu.sh
/data/s7startup/startupscript.sh
C:\adb>adb shell ls -la /system/etc/launch_daemonsu.sh
-rwx------ root root 4686 2016-07-03 13:32 launch_daemonsu.sh
Thanks again.
Did you push the supersu app to you device?
Is that to say uve got supersu installed but it won't start? If that's so I would check the box for start supersu during bootup. Unless im just completely missing your issue and im sorry if I am.
I had some trouble trying to make Viper4Android v2.4.0.1 work on my Honor 5C running Android 6.0. This could be helpful…
Viper4Android didn't work after installation and reboot, the driver status showing as "abnormal". It seems related to a change in default SELinux policy.
I read that changing globally the SELlinux policy to "permissive" can solve the problem but it may be an extreme solution (SELinux is a security feature to restrict what an application can do, I don't know the potential edge effects).
I found another solution on the web, which consists in patching the SELinux policies at boot, just enough for Viper4Android to work.
If you did not make a systemless installation of SuperSU, open an adb shell and use these commands (courtesy of androiding.how):
Code:
su
mount -o rw,remount /system
cd /system/su.d
echo '#! /system/bin/sh' > 50viper.sh
echo '/system/xbin/supolicy --live "allow mediaserver mediaserver_tmpfs:file { read write execute };"' >> 50viper.sh
chmod 755 50viper.sh
cd /
mount -o ro,remount /system
And reboot.
If you did make a systemless installation of SuperSU, open an adb shell and use this instead:
Code:
su
mount -o rw,remount /su
cd /su/su.d
echo '#! /system/bin/sh' > 50viper.sh
echo '/su/bin/supolicy --live "allow mediaserver mediaserver_tmpfs:file { read write execute };"' >> 50viper.sh
chmod 755 50viper.sh
cd /
mount -o ro,remount /su
exit
And reboot.
Didn't work for me, tried the 2nd method as the first one gave an error at the 3rd step, completed everything, rebooted, still no luck
imrock said:
Didn't work for me, tried the 2nd method as the first one gave an error at the 3rd step, completed everything, rebooted, still no luck
Click to expand...
Click to collapse
I just noticed that in my 2nd block the characters ’ and ” were used instead of ' and ". I'm not a POSIX shell expert but since these are not the same characters it can make a difference.
I've updated the 2nd method, you can give it a try — you can use it "as it is", it will overwrite the previously created file.
This trick didn't work for me.
I ended up installing SELinuxModeChanger and now Viper is rockin' :good: