Hi,
I need to get the default gateway of a device on my application. I am coding in native application in android. Here is my current code to get the default gateway.
Code:
static int get_default_gateway(char *def_gateway, int buf_size)
{
FILE* pipe;
char buffer[128];
char result[2049];
char cmd[] = "netstat -r | grep ^default | awk '{print $2}'";
pipe = popen(cmd, "r");
if (!pipe) return 1;
memset(result, 0, sizeof(result));
while(!feof(pipe)) {
memset(buffer, 0, sizeof(buffer));
if(fgets(buffer, 128, pipe) != NULL)
{
strcat(result, buffer);
}
}
pclose(pipe);
memset(def_gateway, 0, buf_size);
strncpy (def_gateway, result, buf_size );
return 0;
}
It works on my LG p500 but on some devices it doesn't return anything.
My question is this. Does popen() works on android? I read somewhere that it is not included in bionic.
And is there any other method to get the default gateway? I need it to be written in C and not java.
Thank you
I think I found the problem. Maybe grep and awk is not working on their phone. Its working on my phone since I created links to awk and grep to busybox.
Can someone confirm this if awk and grep is not working on a stock rom without creating links to busybox?
Thanks
On a stock ROM there is no busybox too. There is toolbox instead and it does not support much commands. When I first ran a shell on Android, was unpleasantly surprised when I didn't find some things like 'find' and 'grep' on a "Linux-based OS".
Here is complete list of the links to the toolbox on the Android 2.2 emulator: cat chmod chown cmp date dd df dmesg getevent getprop hd id ifconfig iftop insmod ioctl ionice kill ln log ls lsmod mkdir mount mv nandread netstat newfs_msdos notify printenv ps reboot renice rm rmdir rmmod route schedtop sendevent setconsole setprop sleep smd start stop sync top umount vmstat watchprops wipe. On my HTC Wildfire (with a stock Android 2.2.1) there is almost the same. The only difference is: reboot on HTC is a separate binary and there is additional link to toolbox here - strange chownto command.
praetorian droid said:
On a stock ROM there is no busybox too. There is toolbox instead and it does not support much commands. When I first ran a shell on Android, was unpleasantly surprised when I didn't find some things like 'find' and 'grep' on a "Linux-based OS".
Here is complete list of the links to the toolbox on the Android 2.2 emulator: cat chmod chown cmp date dd df dmesg getevent getprop hd id ifconfig iftop insmod ioctl ionice kill ln log ls lsmod mkdir mount mv nandread netstat newfs_msdos notify printenv ps reboot renice rm rmdir rmmod route schedtop sendevent setconsole setprop sleep smd start stop sync top umount vmstat watchprops wipe. On my HTC Wildfire (with a stock Android 2.2.1) there is almost the same. The only difference is: reboot on HTC is a separate binary and there is additional link to toolbox here - strange chownto command.
Click to expand...
Click to collapse
Thanks for posting the complete list of commands
Listed commands are only those that implemented by 'toolbox'. There are also some more: for example sh, gzip, ping and others. You can see them all by doing
Code:
ls /sbin /system/bin /system/xbin
Questions or Problems Should Not Be Posted in the Development Forum
Please Post in the Correct Forums
Moving to Q&A
Related
Ok I'm on the OTA 2.3.4 from a fresh unlocked 4.1.83 no problems what soever and I'm looking to make a few mods when I saw the link posted for the 2.3.4 HDMI Mirror over at
http://forum.xda-developers.com/showthread.php?t=1169457
I went ahead and ran
adb shell
su
mount -o remount,rw /dev/block/mmcblk0p12 /system
sed -ie s/ro.hdmi.mirror.enable=false/ro.hdmi.mirror.enable=true/g /system/build.prop
mount -o remount,ro /dev/block/mmcblk0p12 /system
cd /etc/init.d
cp startXServer.sh startXServer.bak
(head -n 40 startXServer.bak; echo "if [ ! -e /var/run/noWebtop ]; then"; tail -n 12 startXServer.bak; echo "fi") > startXServer.sh
restart your phone
I read through the command and seemed pretty safe and was excited because the post listed the HDMI Mirror as being in "landscape" mode. Hell yeah right! Well it wasn't, it was the same portrait so I was looking to revert back. Go change the build.prop back for the ro.hdmi.mirror to equal false. No big deal that's easy enough with root explorer. Read through the commands and saw that the startXServer.sh was cp to startXServer.bak. Easy enough just delete the startXServer.sh and rename startXServer.bak to .sh.
Well there is the problem. When i ran the commands the first time didn't work so i went into the build.prop and did a manual change. Then re-ran the bottom half. It seems doing that I over wrote the .bak agan and now both files are exactly the same and have no way of reverting. I have the system, boot, and webtop backed up with an .img but that didn't fix my entertainment center when I plug in an HDMI to the TV. The original commands did a back-up so I didn't double back-up the file.lol
I was wondering if a dev that has a little more command line knowledge, maybe the orginal contents of startXServer.sh, or the actual file could help me out with the revert back and a working entertainment center. The current contents are
if [ ! -e /var/run/noWebtop ]
fi
I'm pretty sure that's the problem, unless someone else sees something I'm missing.
**Edit**
This was solved under the Q&A Section from a earlier post yesterday afternoon. Mods please close if necessary. In case any one needs it see below. I just rewrote the startXServer.sh to contain the following.
#!/bin/sh
#
# startX.sh
#
# This script starts the X server
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=startX
DESC="OSH X Server"
. /lib/lsb/init-functions
#umask 002
log_begin_msg "Starting $DESC: $NAME"
rm -f /tmp/serverauth.*
rm -f /tmp/.X0-lock
rm -fr /tmp/.X11-unix
rm -fr /tmp/.ICE-unix
if [ ! -e /home/adas/.tag_master_reset_ls ]; then
/usr/local/sbin/update-language.pl "en_US.UTF-8"
echo 1 > /home/adas/.tag_master_reset_ls
fi
. /etc/environment
export PATH
export LANG
export DISPLAY
export LD_LIBRARY_PATH
export USER=adas
export HOME=/home/$USER
# new way of starting
if [ $1 = "webtop" ]
then
sudo -u adas -i /usr/bin/startx -- -nolisten tcp -layout HDMI vt2 &
else
sudo -u adas -i /usr/bin/startx /usr/local/bin/xnull -- -nolisten tcp -layout HDMI vt2 &
fi
I learned about this here... http://fieldeffect.info/w/NativeCompileSDK
You can install an i386/x86_64 chroot within your existing Debian chroot using qemu-user-static to run the Android SDK on your Android phone/tablet/phablet.
1.
Get yourself a debian chroot, I recommend at least 2gb. I use DebianKit from market.
2.
You will need a X11 desktop environment and a VNC client on your device. I use androidVNC from market.
Here is my working example...
Start your Debian chroot/environment and do...
apt-get install openbox openbox-themes obmenu obconf menu menu-xdg xdg-utils xfonts-base xfonts-terminus* nautilus terminator lxappearance gmrun leafpad man-db hicolor-icon-theme tightvncserver tint2
That gives you a window manager, fonts, filebrowser, terminal emulator, text editor, theme manager, taskbar, and a VNC server.
Now lets get some GTK engines and libraries....
apt-get install gtk2-engines-auroa gtk2-engines-murrine gtk2-engines-oxygen gtk2-engines-pixbuf libgtk2.0-bin gtk3-engines-oxygen gtk3-engines-unico libgtk-3-bin
Now 7zip to handle zips and archives comfortably(put non-free in your apt sources.list)...
apt-get install p7zip p7zip-full p7zip-rar zip unzip
##The Android SDK manager, qemu, and multistrap##
apt-get install ant file openjdk-6-jre openjdk-6-jdk qemu-user-static libswt-gtk-3-java libswt-cairo-gtk-3-jni
3.
Now we can build a small x86_64 rootfs using multistrap
multistrap can use a config, have mine...
http://db.tt/hS5j3wg
Copy multistrap.conf straight into your working(pwd) directory....
cp /sdcard/Download/multistrap.conf .
Do this to avoid multistrap complaining later...
cat multistrap.conf >mstrap
mkdir /data/mnt
Determine size of rootfs for loop image..
du -hs /data/mnt/
Now make an image for x86_64 chroot
dd if=/dev/zero of=/sdcard/64bit.img bs=$(( 0x100000 )) count=YOUR IMAGE SIZE
That byte size makes your image slightly larger than the count value in Mb, for example count=78 will write 82Mb image.
mkfs.ext2 /sdcard/64bit.img
tune2fs -c0 /sdcard/64bit.img
mkdir /data/tmp
busybox mount -o loop /sdcard/64bit.img /data/tmp/
cp -r /data/mnt/* /data/tmp/
umount /data/tmp
rm -r /data/tmp/
rm -r /data/mnt/
mkdir /data/mnt
busybox mount -o loop /sdcard/64bit.img /data/mnt/
5.
Now the environment is set up and mounted, at this point install the SDK
Aim your browser to http://developer.android.com/sdk/index.html
Select "Linux" from "SDK Tools Only", thats the last thing at the bottom of the list.
cp /sdcard/Download/android-sdk_r21.0.1-linux.tgz .
7z x android-sdk_r21.0.1-linux.tgz russosv
7z x android-sdk_r21.0.1-linux.tar
Now we need a couple goodies from http://fieldeffect.info/w/NativeCompileAPK ##--Thanks to russosv from FeildEffect
These are edited from original....
#!/bin/bash
QEMU=/usr/bin/qemu-x86_64-static
64CHROOT=/data/mnt/
case "$1" in
mklinks)
if [ ! -e "./64BIT" ]; then
mkdir ./64BIT
fi
for i in $(file ./* | grep "ELF 32" | awk '{print $1}' | sed s/://g | sed s/[./]//g); do
echo "Moving $i..."
mv $i ./64BIT
ln -s ~/bin/run-64-link $i
done-
;;
*)
$QEMU $64CHROOT/lib64/ld-linux-x86_64.so.2 --library-path $64CHROOT/lib:$64CHROOT/usr/lib:$64CHROOT/usr/share/perl/5.12.4/unicore/lib:$64CHROOT/var/lib:$64CHROOT/lib/x86_64-linux-gnu:$64CHROOT/usr/lib/x86_64-linux-gnu [email protected]
;;
esac
Copy that to run-64, then...
chmod 755 run64
cp run-64 /usr/bin/
One more...
echo $(dirname $0)/64BIT/$(basename $0) [email protected]
/usr/bin/run-i386 $(dirname $0)/64BIT/$(basename $0) [email protected]
Make that run-64-link
chmod 755 run-64-link
cp run-64-link /usr/bin/
5b.
Now launch VNC server
tightvncpasswd
tightvncserver
killall Xtightvnc
cat >.vnc/xstartup<<EOF
tint2 &
terminator &
openbox-session
EOF
tightvncserver
export DISPLAY=:1
6.
Now launch the VNC client I mentioned earlier, should connect with 127.0.0.1:5901 and your password you set.
Go back to terminal or use the one launched on X11 to do...
sh android-sdk-linux/tools/android
Install at least one api.
If all went well you can now go around "debugging" yours and your friends Android devices over wifi now.
For an example, and to see it work do....
svc wifi disable(or enable) ##this turns off/on wifi
setprop service.adb.tcp.port 5555(or -1) ##this turns on/off adb over network
stop adbd
start adbd
adb connect 127.0.0.1(yours) or any other adbd addy listening on your network,
Have fun
Never did a "how to" before, go easy and I'll make corrections and answer things. Thanks for reading. Leave feedback.
Potential necro post but I believe the information is still currently valid and not readily available on searches. I've looked variations of this up for years with no luck until I hit the right search terms.
bump, and thanks.
can't believe there's no comments.
I know it's a slower than real-64-bit-pc method but not all of us have access to new hardware... or pc's. Maybe a novelty, still cool and useful if you've got the time to let the slower hardware compile.
you have preserved the scripts, original link is dead.
here is the Internet Wayback Machine cache of the original circa 2012 for reference.
http://web.archive.org/web/20120502044700/http://fieldeffect.info/w/NativeCompileAPK
appreciate you sharing.
I want to make app symlinks to sd-ext on booting.
I made a short init.d script, And It correctly worked on JB based rom.
But after I downgraded to GB, It doesn't work anymore.
I founded that pure bone shell doesn't support arrays.
The script uses string array to declare apk list I want to symlink.
So is there a way to use string array or make similar effect?
Here is my script.
Code:
#!/system/bin/sh
if [ -z "$SD_EXT_DIRECTORY" ]; then SD_EXT_DIRECTORY=/sd-ext; fi
SYSBLOCK=`mount | grep system | cut -f 1 -d ' '`
sysapp2sd=("BackupRestoreConfirmation.apk" "BasicDreams.apk" "Bluetooth.apk" "CertInstaller.apk" "Calculator.apk" "CMFileManager.apk" "CMScreenshot.apk" "DSPManager.apk" "DrmProvider.apk" "Email.apk" "Email2.apk" "Exchange.apk" "Exchange2.apk" "Gmail.apk" "GoogleBackupTransport.apk" "InputDevices.apk" "Music.apk" "OneTimeInitializer.apk" "PhotoTable.apk" "PicoTts.apk" "SamsungTTS.apk" "SharedStorageBackup.apk" "SoundRecorder.apk" "Talk.apk" "ThemeChooser.apk" "ThemeManager.apk" "Torch.apk" "VpnDialogs.apk" "WAPPushManager.apk")
app2sd_exception=("com.UCMobile" "com.adobe.flashplayer" "com.android.lmt" "com.fiberthemax.OpQ2keyboard" "com.fiberthemax.OpQ2keyboard.dict.ko" "com.google.android.gms" "com.google.android.googlequicksearchbox" "com.jungsup.thecall" "com.mobint.hololauncher" "com.mobint.hololauncherplus" "com.mobitobi.android.gentlealarm" "com.myhome.mytheme" "com.rs.autorun" "com.teslacoilsw.launcher" "com.vladlee.callconfirm.free" "eu.chainfire.supersu" "kz.mek.DialerOne" "me.dennis.weather.naver" "net.dinglisch.android.taskerm" "net.everythingandroid.smspopup" )
# make sure $SD_EXT_DIRECTORY is actually mounted
if ! awk -vDIR="$SD_EXT_DIRECTORY" '$2 == DIR { exit 1; }' /proc/mounts ; then
mount -rw -o remount SYSBLOCK /system
mkdir -p /sd-ext/symlink/system/app
# /system/app/ -> /sd-ext/symlink/system/app/
FILES=`find /system/app -maxdepth 1 -type f`
for file in $FILES; do
filename=`basename $file`
for pattern in ${sysapp2sd[@]}; do
if [[ $filename == $pattern ]]; then
cp /system/app/$filename /sd-ext/symlink/system/app/
rm -f /system/app/$filename
ln -s /sd-ext/symlink/system/app/$filename /system/app/$filename
fi
done
done
# /data/app/ -> /sd-ext/symlink/data/app/
FILES=`find /data/app -maxdepth 1 -type f`
for file in $FILES; do
filename=`basename $file`
match=false
for pattern in ${app2sd_exception[@]}; do
if [[ $filename == $pattern* ]]; then
match=true
fi
done
if ! $match; then
cp /data/app/$filename /sd-ext/symlink/data/app/
rm -f /data/app/$filename
ln -s /sd-ext/symlink/data/app/$filename /data/app/$filename
fi
done
mount -r -o remount SYSBLOCK /system
fi
You can use echo or cat command to wrap list and grab it with awk.
and add another for loop over for loop for getting the counted numbers to be used on awk...
Hacking android, got "system" user, but not root, how to escalate privilege?
Hello, i am new to XDA. I am trying to jail-break my android device:
Android 5.1.1, Linux 3.10.49
This device is a rare brand and have no any unlock & flash mechanism.
Currently i have successfully got "system" user (UID 1000) by using a preinstalled DEBUGGABLE system app.
This user can only change /data directory etc, it can not change any file owned by root.
So any help to escalate "system" user to root user will be very appreciate.
the result of command "id":
Code:
uid=1000(system)
gid=1000(system)
groups=1000(system)
1007(log)
1010(wifi)
1015(sdcard_rw)
1021(gps)
1023(media_rw)
1028(sdcard_r)
3001(net_bt_admin)
3002(net_bt)
3003(inet)
3004(net_raw)
3005(net_admin)
3006(net_bw_stats)
3009(qcom_diag)
9997(everybody)
41000(u0_a31000)
context=u:r:system_app:s0
This account can change /data/system/packages.xml etc, but can not change /system/*, nor chown/mount.....
It's CapBound is 0, too strict. And also can not disable SELinux.
Can anyone help me?
----------------------- PS: share how i get system user privilege, maybe helpful to others -----------------------
In a word, just use jdb to attache to the app then print new java.lang.Runtime().exec("sh /sdcard/my.sh").
First, i found a package appeared in Android Device Monitor's debuggable app list, e.x. com.example.app.
Then i use
Code:
pm dump com.example.app
got confirmed it use system UID, then
Code:
run-as com.example.app
but failed due to "Package not found", i don't know why.
Then i try to use JDWP way.
Get the debuggable process ID:
Code:
$ adb jdwp
9424
$ adb forward tcp:8600 jdwp:9424
$ jdb -attach localhost:8600
> threads
group system:
(java.lang.Thread)0x2a86 Signal Catcher ...
(java.lang.Thread)0x2a87 FinalizerWatchdogDaemon ...
...
group main:
(java.lang.Thread)0x2a8d main ...
(java.lang.Thread)0x2a8e Binder_1 ...
...
> thread 0x2a8d
main[1] stepi
>
stepi completed: "thread=main", android.os.MessageQueue.next()、row=145 bci=22
main[1] > print new java.lang.Runtime().exec("sh /sdcard/qj.sh")
There are some files need be upload(adb push .... ) before run the last command.
/sdcard/qj.sh:
Code:
date > /sdcard/log
cp -f /sdcard/busybox /data/ 2>> /sdcard/log || exit 1
chmod 4777 /data/busybox 2>> /sdcard/log || exit 1
(while true; do /data/busybox nc -l -p 7777 -e sh; done) >> /sdcard/log 2>&1 &
echo server OK >> /sdcard/log
/sdcard/busybox:
this file can be found at busybox.net/downloads/binaries/latest, choose ARM7v.
The above jdb command "print new java.lang.Runtime().exec("sh /sdcard/qj.sh")" will create a shell server listening at 7777 port, bridge input/output to sh.
So, to connect to the shell server,
Code:
adb forward tcp:7777 tcp:7777
nc localhost 7777
then in this connection, input shell command.
Sorry: i forgot a very important step: to run the "print new ...." statement, i have to turn on screen, even touch the app so can be trapped into jdb.
---------That's all------------
Hi. After 2 years (something about that) with my phone i don't know how resolve this issue. I can't believe something like that happens me just now (?!).
After idk how many flashing, reflashing, testing all i think roms for my device i was force to flash stock recovery :/.
Odin you ask? I try working with windows 10 after visit my friends (yes they all have 10!) without success. I wrote this post and asking for help and solution because before i flashed this retard stock recovery i was still installed my rom. I use AEX 7.1.2.
So first question and most important how can i mount system partition (coz this is the problem right? with no signed zip for example?). I can't obviously flash zip file but my phone was rooted at least 1000x times using supersu, magisk so mayby this is my open door for start?
Mayby i share what i have in bin and xbin folder for this moment. If need more information just ask please.
*** acpid
add-property-tag
add-shell
addgroup
adduser
adjtimex
anrd
ar
arch
arp
arping
ash
awk
base64
basename
bash
bbconfig
beep
blkdiscard
blkid
blockdev
bootchartd
brctl
bunzip2
busybox
bzcat
bzip2
cal
cat
chat
chattr
chcon
check-lost+found
chgrp
chmod
chown
chpasswd
chpst
chroot
chrt
chvt
cksum
clear
cmp
comm
conspy
cp
cpio
cpustats
crond
crontab
cryptpw
cttyhack
cut
date
dc
dd
deallocvt
delgroup
deluser
depmod
devmem
dexlist
dexopt-wrapper
df
dhcprelay
diff
dirname
dmesg
dnschk
dnsd
dnsdomainname
dos2unix
dpkg
dpkg-deb
du
dumpcache
dumpkmap
dumpleases
echo
ed
egrep
eject
env
envdir
envuidgid
ether-wake
expand
expr
factor
fakeidentd
fallocate
false
fatattr
fbset
fbsplash
fdflush
fdformat
fdisk
fgconsole
fgrep
find
findfs
fio
flash_eraseall
flash_lock
flash_unlock
flashcp
flock
fold
free
freeramdisk
fsck
fsck.minix
fsfreeze
fstrim
fsync
ftpd
ftpget
ftpput
fuser
getenforce
getopt
getsebool
getty
grep
groups
gunzip
gzip
halt
hd
hdparm
head
hexdump
hexedit
hostid
hostname
httpd
httpurl
hush
hwclock
i2cdetect
i2cdump
i2cget
i2cset
id
ifconfig
ifdown
ifenslave
ifplugd
ifup
inetd
init
inotifyd
insmod
install
ionice
iostat
ip
ipaddr
ipcalc
ipcrm
ipcs
iplink
ipneigh
iproute
iprule
iptunnel
kbd_mode
kill
killall
killall5
klogd
ksminfo
last
latencytop
less
librank
link
linux32
linux64
linuxrc
ln
load_policy
loadfont
loadkmap
logger
login
logname
logread
losetup
lpd
lpq
lpr
ls
lsattr
lsmod
lsof
lspci
lsscsi
lsusb
lunzip
lzcat
lzip
lzma
lzop
lzopcat
makedevs
makemime
man
matchpathcon
md5sum
mdev
mesg
micro_bench
micro_bench_static
microcom
mkdir
mkdosfs
mke2fs
mkfifo
mkfs.ext2
mkfs.minix
mkfs.reiser
mkfs.vfat
mknod
mkpasswd
mkswap
mktemp
mmc_utils
modinfo
modprobe
more
mount
mountpoint
mpstat
mt
mv
nameif
nanddump
nandwrite
nbd-client
nc
netstat
nice
nl
nmeter
nohup
nproc
nsenter
nslookup
ntpd
nuke
od
odex
openvt
partprobe
passwd
paste
patch
perfprofd
pgrep
pidof
ping
ping6
pipe_progress
pivot_root
pkill
pmap
popmaildir
poweroff
powertop
printenv
printf
procmem
procrank
ps
pscan
pstree
puncture_fs
pwd
pwdx
raidautorun
rawbu
rdate
rdev
readahead
readlink
readprofile
realpath
reboot
reformime
remove-shell
renice
reset
resize
restorecon
resume
rev
rfkill
rm
rmdir
rmmod
route
rpm
rpm2cpio
rtcwake
run-init
run-parts
runcon
runlevel
runsv
runsvdir
rx
sane_schedstat
script
scriptreplay
sed
selinuxenabled
sendmail
seq
sestatus
setarch
setconsole
setenforce
setfattr
setfiles
setfont
setkeycodes
setlogcons
setpriv
setsebool
setserial
setsid
setuidgid
sh
sha1sum
sha256sum
sha3sum
sha512sum
showkey
showmap
showslab
shred
shuf
simpleperf
slattach
sleep
smemcap
softlimit
sort
split
sqlite3
ssl_client
ssl_helper
start-stop-daemon
stat
strace
strings
stty
sulogin
sum
sv
svc
svlogd
swapoff
swapon
switch_root
sync
sysctl
syslogd
tac
tail
tar
taskset
taskstats
tcpdump
tcpsvd
tee
telnet
telnetd
test
tftp
tftpd
time
timeout
top
touch
tr
traceroute
traceroute6
true
truncate
tty
ttysize
tunctl
tune2fs
ubiattach
ubidetach
ubimkvol
ubirename
ubirmvol
ubirsvol
ubiupdatevol
udhcpc
udhcpc6
udhcpd
udpsvd
uevent
umount
uname
uncompress
unexpand
uniq
unix2dos
unlink
unlzma
unlzop
unshare
unxz
unzip
uptime
users
usleep
uudecode
uuencode
vconfig
vi
vlock
volname
w
wall
watch
watchdog
wc
wget
which
who
whoami
whois
xargs
xxd
xz
xzcat
yes
zcat
zcip
zip ***
*** acpi
am
app_process
app_process32
applypatch
appops
appwidget
arp
arping
atrace
audiod
audioserver
base64
basename
bcc
bdt
blkid
blockdev
bmgr
bootanimation
bootstat
brctl
btnvtool
btsnoop
bu
bugreport
bugreportz
bzcat
cal
cat
chattr
chcon
chgrp
chmod
chown
chroot
chrt
cksum
clatd
clear
cmd
cmp
comm
content
cp
cpio
cut
dalvikvm
dalvikvm32
date
dd
debuggerd
dex2oat
dexdump
df
dhcptool
diff
dirname
dmesg
dnsmasq
dos2unix
dpm
drmserver
du
dumpstate
dumpsys
e2fsck
ebtables
echo
egrep
env
expand
expr
fallocate
false
fdisk
fgrep
file
find
flock
fm_qsoc_patches
fmconfig
free
freeramdisk
fsck_msdos
fsck.exfat
fsck.f2fs
fsck.ntfs
fsfreeze
fstype
ftpget
ftpput
gatekeeperd
gatt_test
gdbserver
getenforce
getevent
getfattr
getprop
grep
groups
gzip
hci_qcomm_init
head
help
hid
host
hostapd
hostapd_cli
hostname
hwclock
id
idmap
ifconfig
iftop
ime
inotifyd
input
insmod
install
install-recovery.sh
installd
ioctl
ionice
iorenice
iotop
ip
ip6tables
ip6tables-restore
ip6tables-save
iptables
iptables-restore
iptables-save
irsc_util
iw
keystore
keystore_cli
keystore_cli_v2
kill
killall
l2test_ertm
ld.mc
linker
lmkd
ln
load_policy
loc_launcher
log
logcat
logd
logname
logpersist.cat
logpersist.start
logpersist.stop
logwrapper
losetup
ls
lsattr
lsmod
lsof
lspci
lsusb
make_ext4fs
makedevs
mcap_tool
md5sum
mdnsd
media
mediacodec
mediadrmserver
mediaextractor
mediaserver
memory_replay32
memtest
mkdir
mke2fs
mkfifo
mkfs.exfat
mkfs.f2fs
mkfs.ntfs
mknod
mkswap
mktemp
mm-qcamera-daemon
modinfo
monkey
more
mount
mount.exfat
mount.ntfs
mountpoint
mtpd
mv
nandread
nbd-client
nc
ndc
netcat
netd
netmgrd
netstat
newfs_msdos
nice
nl
nohup
nproc
oatdump
od
onandroid
partprobe
paste
patch
patchoat
perfd
pgrep
pidof
ping
ping6
pivot_root
pkill
pm
pmap
pngtest
pppd
printenv
printf
prlimit
profman
ps
pwd
pwdx
qmuxd
qseecomd
r
racoon
radiooptions
radish
readahead
readlink
realpath
reboot
renice
requestsync
reset
resize
resize2fs
restart
restorecon
rev
rfc
rfkill
rild
rm
rmdir
rmmod
rmt_storage
route
run-as
runcon
schedtest
screencap
screenrecord
sdcard
secdiscard
sed
sendevent
sensorservice
seq
service
servicemanager
setenforce
setfattr
setprop
setsid
settings
sgdisk
sh
sha1sum
sha224sum
sha256sum
sha384sum
sha512sum
sleep
sm
sort
split
ss
ssr_diag
ssr_setup
start
stat
stop
strings
subsystem_ramdump
surfaceflinger
svc
swapoff
swapon
sync
sysctl
sysinit
tac
tail
tar
taskset
tc
tee
telecom
telnet
test
thermal-engine
time
time_daemon
timeout
tinycap
tinymix
tinypcminfo
tinyplay
toolbox
top
touch
toybox
tr
tracepath
tracepath6
traceroute
traceroute6
true
truncate
tty
tunctl
tune2fs
tzdatacheck
uiautomator
ulimit
umount
uname
uncrypt
uniq
unix2dos
uptime
usleep
vconfig
vdc
vmstat
vold
watch
wc
wcnss_service
which
whoami
wlandutservice
wm
wpa_cli
wpa_supplicant
xargs
xxd
xzcat
yes ***
Wysłane z mojego SM-G530FZ przy użyciu Tapatalka