yashsingh1/xdaforums huggingface dataset:
[Android Software/Hacking General [Developers Only]] DragonFire1024:
I can confirm the connection works. I use it on my S7 to remove bloat from friends phones. I haven't explored it too much beyond that.
[Android Software/Hacking General [Developers Only]] MC_Ohr:
I have already used it to flash boot.img on another device. From HTC one M9 to HTC U11 life and vice-versa.

Gesendet von meinem HTC U11 life mit Tapatalk
[Android Software/Hacking General [Developers Only]] zelleb:
I know there is an uninstaller for magisk, but is your unsu zip still compatible with the latest magisk updates? Just asking :x
[Android Software/Hacking General [Developers Only]] osm0sis:
It'll need an update for the /data/adb location Magisk now uses.
[Android Software/Hacking General [Developers Only]] rignfool:
Wait... There could be an unexplored level of awesome here...

If ADB is installed via magisk... And somehow wireless ADB enabled on a remote device... Could I run shell commands on an unrooted device?

Could this be an adhoc wifi connection as well?
[Android Software/Hacking General [Developers Only]] Surge1223:
You need to setprop adb.tcp.port on the unrooted device to have listen on tcp. If device isn't ro.debuggable you won't he able to

If you hack rsa check it's possible to connect to localhost though

BTW you'd have to do soemthing like this

You'd see this in adb log if you implement rsa hack

---------- Post added at 08:32 PM ---------- Previous post was at 08:30 PM ----------

https://xdaforums.com/pixel-2-xl/development/fastboot-arm-arm64-t3722120

---------- Post added at 08:34 PM ---------- Previous post was at 08:32 PM ----------

Kexec lol
[Android Software/Hacking General [Developers Only]] osm0sis:
Ah nice! Thanks for finding the time to build a newer fastboot [MENTION=4939386]Surge1223[/MENTION]! Did you end up posting the newer adb 1.0.39 binaries somewhere as well?
[Android Software/Hacking General [Developers Only]] DragonFire1024:
I've been trying to use Linux in Android to essentially connect to a unrooted device. Didn't think of trying with ADB though.
[Android Software/Hacking General [Developers Only]] Zackptg5:
[MENTION=4544860]osm0sis[/MENTION]

Can you explain how the line numbers work for your busybox diff? I've been using gnu diff line numbers along with append, change, etc. to make a sed patch but I can't figure out what the numbers outputted even refer to with busybox diff. Thanks!

Here's an example of what I mean:

Busybox diff:

1|OnePlus5T:/ $ diff -wia /sbin/.core/mirror/vendor/etc/audio_effects.conf /sbin/.core/img/audmodlib/vendor/etc/audio_effects.conf
--- /sbin/.core/mirror/vendor/etc/audio_effects.conf
+++ /sbin/.core/img/audmodlib/vendor/etc/audio_effects.conf
@@ -6,6 +6,9 @@
# }
# }
libraries {
+ v4a_fx {
+ path /system/lib/soundfx/libv4a_fx_ics.so
+ }
bundle {
path /system/lib/soundfx/libbundlewrapper.so
}
@@ -45,9 +48,9 @@
loudness_enhancer {
path /system/lib/soundfx/libldnhncr.so
}
- volume_listener {
- path /system/lib/soundfx/libvolumelistener.so
- }
+# volume_listener {
+# path /system/lib/soundfx/libvolumelistener.so
+# }
audiosphere {
path /system/lib/soundfx/libasphere.so
}
@@ -76,6 +79,10 @@
# }

effects {
+ v4a_standard_fx {
+ library v4a_fx
+ uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+ }

# additions for the proxy implementation
# Proxy implementation

GNU diff:

$ diff -wia audio_effects_original.conf audio_effects.conf
8a9,11
> v4a_fx {
> path /system/lib/soundfx/libv4a_fx_ics.so
> }
48,50c51,53
< volume_listener {
< path /system/lib/soundfx/libvolumelistener.so
< }
---
> # volume_listener {
> # path /system/lib/soundfx/libvolumelistener.so
> # }
78a82,85
> v4a_standard_fx {
> library v4a_fx
> uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
> }

EDIT: Of course after I've been stumped for a day and then make this post, I incidentally find the answer. It appears that busybox diff output is equivalent to the output of gnu diff with the unified diff flag '-u'. Any insight as to why busybox diff is like that and how to have it give the non-unified output?
[Android Software/Hacking General [Developers Only]] guest4711:
This is an output which could be genersted by standard BSD diff -u (unified diff). It can be used as input for standard BSD patch. The numbers are linenumbers and specify the range where adds/deletes/changes will be made. The lines beginning with space are used for verifying the proper context.
[Android Software/Hacking General [Developers Only]] osm0sis:
No idea, you'd have to ask on the official busybox mailing list. It's closer to a patch file, for one, so maybe they thought that was more useful. Doesn't appear to be a way to change the output that I can see.
[Android Software/Hacking General [Developers Only]] osm0sis:
Reposting this PM and response here before anyone else asks:

Hey, I did notice, yes, but because people (and many of my projects) rely on it, I only update when busybox.net deems it stable. If you go there now you'll see x.y.0 (e.g. 1.28.0) busybox releases are actually always labeled "unstable" and then become "stable" with x.y.1; that's just how their dev cycle works.

I'll do the bringup and new builds once that happens, but I'll have installer fixes for Magisk v15+ coming soon in the meantime. :good:
[Android Software/Hacking General [Developers Only]] osm0sis:
Super relevant to this thread, since I packaged all of my zips for my upcoming Odds release using it and it simplified the hell out of my workflow. :):highfive:

[MENTION=2777334]TKruzze[/MENTION] of PA GApps and TK GApps fame (basically the daddy of modern GApps) has come back to release a fantastic "Zip Builder" Windows tool that all Android mod makers should find helpful!

https://xdaforums.com/android/software-hacking/tool-zip-builder-v4-2-1-build-sign-t3739556

It makes creating and signing a zip from a Magisk module or AnyKernel2 (or any otherwise complete zip contents) git repo a two-click experience, and allows unpacking and easy repacking of any downloaded flashable zip by automatically using the correct different signing processes for both shell-based and edify-based zips. Super cool.

Don't thank me, go thank his thread! :silly:
[Android Software/Hacking General [Developers Only]] PiggyFlooper:
Tried running unpackbootimg-

/data/local/AIK-mobile/bin/unpackbootimg -i /data/local/AIK-mobile/bin/boot.img -o /data/local/AIK-mobile/bin/ram.img

Got segmentation fault on Samsung Galaxy J7 7.0 Nougat

Tried running unpackimg.sh and got error

Am I supposed to have the boot.img supplied with your zip file in place? I thought it'd be okay to delete it like it was an example of yours
[Android Software/Hacking General [Developers Only]] osm0sis:
Replied in the AIK thread.
[Android Software/Hacking General [Developers Only]] osm0sis:
I was kind of annoyed I couldn't change the default alarm tone in OxygenOS on my OP5T, so..

set_alarm() {
local alarmid alarmuri rebootmsg curuser curalarm;
if [ "$1" ]; then
alarmid=$(echo "u:r:shell:s0" > /proc/self/attr/current; content query --uri "content://media/external/audio/media" | grep $1 | grep -oE " _id=([0-9]+)," | grep -oE "[0-9]+");
if [ "$alarmid" ]; then
alarmuri="content://media/external/audio/media/$alarmid";
else
alarmid=$(echo "u:r:shell:s0" > /proc/self/attr/current; content query --uri "content://media/internal/audio/media" | grep $1 | grep -oE " _id=([0-9]+)," | grep -oE "[0-9]+");
test "$alarmid" && alarmuri="content://media/internal/audio/media/$alarmid";
fi;
if [ "$alarmuri" ]; then
$(echo "u:r:shell:s0" > /proc/self/attr/current; settings put system alarm_alert $alarmuri >/dev/null);
if [ "$?" != 0 ]; then
rebootmsg=" Reboot for effect.";
curuser=$(dumpsys activity | grep CurrentUser | cut -d= -f2);
curalarm=$(grep 'name="alarm_alert"' /data/system/users/$curuser/settings_system.xml | grep -oE 'value=.*$' | cut -d\" -f2);
sed -i "s;alarm_alert\" value=\"${curalarm};alarm_alert\" value=\"${alarmuri};" /data/system/users/$curuser/settings_system.xml;
fi;
echo "Alarm changed to \"$1\"; \"$alarmuri\".$rebootmsg";
else
echo "Alarm \"$1\" not found!";
return 1;
fi;
else
curalarm=$(settings get system alarm_alert);
echo "Alarm currently \"$(echo "u:r:shell:s0" > /proc/self/attr/current; content query --uri "$curalarm" | grep -oE " _display_name=.*" | cut -d, -f1 | cut -d= -f2)\"; \"$curalarm\".";
fi;
return 0;
}

The settings command mysteriously only works via ADB shell on the OP5T, not from a Terminal Emulator app, so there's a fallback to hack the settings xml directly.

Use (from root prompt): set_alarm <filename>

E.g. set_alarm interesting.ogg

Or even

set_alarm interesting

I know OOS isn't the only OEM stock ROM out there making this weird choice for users, but you'd think OnePlus would be more on the ball as an enthusiast brand.. :confused:

Edit

: Updated for the content command only working in ADB shell (at least on Pie), resolved by context switching in subshells. Working on my OP6T via Terminal Emulator at a su prompt now. Probably fixes the settings command issue from before too. :cool::good:

Edit 2

: Fixed found external content id being used with internal uri. :eek:
[Android Software/Hacking General [Developers Only]] TheSt33v:
I tried installing the updated fastboot by removing your ADB+fastboot magisk module (which works perfectly), swapping out the old fastboot with the new version and reinstalling it, but I only get "illegal instruction" whenever I try to use it. Any idea why that didn't work? I used the ARM version and I'm using an ARM device.
[Android Software/Hacking General [Developers Only]] osm0sis:
Yup. That's the holdup on my Odds zip updates. We've got a new adb that works on all devices I've tried, but that new fastboot appears to work only on newer devices. [MENTION=4939386]Surge1223[/MENTION] is aware and working on a recompile to fix that.
[Android Software/Hacking General [Developers Only]] osm0sis:
It's a new year! With that, Magisk of course moved some things around. There's still support in Magisk v15.x for the legacy locations, but of course it's better to support these things directly in case that support ever gets dropped, so I guess it's time to update all the things. ;)

The legendary [MENTION=4939386]Surge1223[/MENTION] has supplied us with the very latest adb binary which I'm also extremely pleased to share! I'll make another quick release with the latest fastboot binary once he has a bit of time to work out the previously mentioned ("Illegal Instruction" on older devices) kinks with the compile, but I didn't want to sit on the rest any longer. :):highfive:

I work on these projects in my limited time off, so if you like the progress I'm making, or enjoy anything else I've done on xda, please do hit the donate link from my profile. Thanks for your support!

UPDATE-adb.Installer.v1.0.39-signed.zip:

- update adb binary to v1.0.39 static arm compile by Surge1223

- add support for new magisk.img location with Magisk v15+

UPDATE-Flashlt.Installer.v3.1-signed.zip:

- add support for new magisk.img location with Magisk v15+

- remove unneeded extra su calls from helper script

UPDATE-nano.Terminal.Editor.v2.9.3-signed.zip:

- update to latest nano official source

- add support for new magisk.img location with Magisk v15+

UPDATE-SUmount-signed.zip:

- add support for new magisk.img location with Magisk v15+

- support simultaneously mounting multiple su.img, magisk.img or magisk_merge.img files from different locations (as e.g. /data_magisk_merge, /data_adb_magisk_merge)

UPDATE-Adreno.Systemless.Installer-signed.zip;

UPDATE-Busybox.Installer.v1.27.2-ALL-signed.zip;

UPDATE-CMSetup.Fix.For.GApps.Installer-signed.zip;

UPDATE-Nexus.Media.Installer-signed.zip;

UPDATE-unSU-signed.zip:

- add support for new magisk.img location with Magisk v15+

AIK v3.1 (Android Image Kitchen, AIK-mobile and AIK-Linux) was also recently released, and AnyKernel2 saw some more major improvements to module handling with easier support for multi-partition mods, allowing me to make my N5X/6P BLOD Workaround Injector AK2 zip for my recently afflicted Nexus 5X (released in the BLOD fix threads and now added to the OP here), and of course my GN Synapse Injector AK2 zip was updated with the AK2 cherry-picks as well because why not? :good:
[Android Software/Hacking General [Developers Only]] RagingHarry:
Bought you a few beers ;)
[Android Software/Hacking General [Developers Only]] osm0sis:
Thank you so much for the generous donation! :D
[Android Software/Hacking General [Developers Only]] bobbarker2:
Hey osm0sis, thanks for all your hard work and contributions many projects are built with your tools as their foundation and wouldn't be possible without your work. So a big thank you from the community.

Understand and agree with your policy of bringing BusyBox up to date when it's marked as stable, however when you browse the source code for v1.28 it's marked as stable in the git. I see the website has it marked is unstable but the 1.28 branch has the stable tag on its code.

Perhaps I'm just reading into it too much. I see their release cycle as you described but I'm confused by the 5 week old code marked as stable.
[Android Software/Hacking General [Developers Only]] osm0sis:
People ask this every time..

They fork into a "stable" branch at each x.y.0 release which then receives fixes to become the stable x.y.1+ releases. This is so other changes from master branch aren't breaking anything new. Therefore both make sense and the website's label of unstable is the final word, as a fresh branch at x.y.0 means stuff is very possibly broken until they vet it further and commit some fixes.

See how it was for 1.27.x as that might explain better: https://git.busybox.net/busybox/log/?h=1_27_stable
[Android Software/Hacking General [Developers Only]] bobbarker2:
Yeah I got the release cycle of changing xy.0 to xy.1 and it's shown as stable on their website, wasn't questioning your choice or asking for clarification on how they maintain their project.

I guess it just threw me to see a "stable" code branch building an "unstable" binary.

The initial 1.27.0 doesn't have the green stable tag and the 1.28.0 does. Do they retroactively change tags on old commits or remove them when a new main is pushed?

That's really what I was bringing up and didn't make it clear in first post. Not asking you to do anything, more of a pondering post I guess.
[Android Software/Hacking General [Developers Only]] osm0sis:
Check out the 1.27 stable branch I linked again and compare; the green one is the branch not the tag, so the green label visible on their git page moves with the head of that branch, and thus it's there but it's always at the top.
[Android Software/Hacking General [Developers Only]] Surge1223:
I probs have three libs I need to link left, which is not a lot compared to the entirety, it needed about 20 for armeabi, vs like 7 for arm64-v8a

Good think is this time I did made with the ndk, so I can post up source for folks to use, granted a little ndk hacking is needed

Tl dr

I'm close to fixing arm vers

---------- Post added at 04:17 PM ---------- Previous post was at 03:41 PM ----------

Check hangouts when you can, or if you want, join society and get tg lmao
[Android Software/Hacking General [Developers Only]] fhem:
I think they banned tg in halifax!!! :D:D:cool:
[Android Software/Hacking General [Developers Only]] DragonFire1024:
Regarding ADB and fastboot, is there a flashable zip for arm64?
[Android Software/Hacking General [Developers Only]] osm0sis:
arm builds work fine on arm64, and also on x86/x86_64 with the libhoudini compatibility layer.
[Android Software/Hacking General [Developers Only]] DragonFire1024:
I'm looking for a way to get armv7 devices to work with arm64 in an emulator.
[Android Software/Hacking General [Developers Only]] osm0sis:
adb is adb, if the device or emulator is running adbd then the adb binary (either on desktop or on-device using my package) should be able to connect to it.
[Android Software/Hacking General [Developers Only]] Surge1223:
In regard to this, this is one of those times where the distinction between the comes into play. You see that armeabi has been depreciated so much as the ndk lead dev telling folks on stack overflow to get over it from their ability list.

The current workaround involves using gabi and clang and knowing why order of linking static libs is important.
[Android Software/Hacking General [Developers Only]] ale5000:
Hi,

I'm using a compiled version of keycheck from inside recovery flashable zips but on some devices it give "Illegal instruction".

Could you please compile an universal version?

Sources: https://github.com/sonyxperiadev/device-sony-common-init/tree/master/keycheck
[Android Software/Hacking General [Developers Only]] Surge1223:
Taking requests becomes a dangerous route, but I can do you one better and help explain to you how to compile so it doesn't give you those illegal instructions?
[Android Software/Hacking General [Developers Only]] ale5000:
Yes, it would be nice thanks.
[Android Software/Hacking General [Developers Only]] osm0sis:
Alright, busybox 1.28.1 stable source has been released, now you can start to freak out. :p

Check those fixes to some basic utils. This is why I don't do the x.y.0 releases! Anyway, the bring-up will commence on my next few days off. ;):good:
[Android Software/Hacking General [Developers Only]] samuraychik:
Attention! Colleagues who the author of this Kernel kernel_MIUI9_CPU@2.15G_GPU@624M_by_JMXL_2017121515 5305 (or participated in work on it) please respond!
[Android Software/Hacking General [Developers Only]] godofsalt:
Just want to say, " Thank You!"

I know time is rather short these days.

Tanx
[Android Software/Hacking General [Developers Only]] FriendlyNeighborhoodShane:
Hey, Hi [MENTION=4544860]osm0sis[/MENTION]

Just noticed

The last 'done' in your flashafterupdate addon.d script is followed by an & instead of a ;

Awesome work as always. see ya
[Android Software/Hacking General [Developers Only]] Locura18:
First of all.Thanks for all your work and development.

Now the dumb ignorant question. Will your BusyBox installer install this new version? I have tried but it didn't? I have searched the forums and couldn't figure it out either.

Thanks in advance
[Android Software/Hacking General [Developers Only]] osm0sis:
done& is intentional and allows the loop to proceed asynchronously in a subshell to wait out the ROM's boot.img flash.

If you're using Magisk then you've already got the new version for about 3 days now. :p

https://github.com/osm0sis/android-busybox-ndk

https://github.com/Magisk-Modules-Repo/Busybox-Installer

I just haven't had time to upload it here and make the post because I ran out of time before I had to go back to work for another string of night shifts. Doing some stuff around the house here, then I'm on it. Tomorrow at the latest. :good:
[Android Software/Hacking General [Developers Only]] Locura18:
Thanks. I'm still with SuperSu. Haven't migrated over to Magisk yet.
[Android Software/Hacking General [Developers Only]] adikri:
Hello everyone,

I've been doing experiment with gapps integrator script.. Its doing so well. But with magisk it can't Mount app and priv-app and other folders.. It already support init.d and su.d support... I'm wondering if it support magisk too? I'm not good with scripting, so I just transfered it to post.fs.data with 777 permission, everything is good now, but its temporary solution, may you add lines to support magisk mounting /data/adb/magiskimg into it like it support su.d and init.d
[Android Software/Hacking General [Developers Only]] osm0sis:
post-fs-data.d is the Magisk equivalent of su.d. The last time I tried gappsintegrator with Magisk there were issues with it making "changes" to Magisk's altered version of /system which then of course get reverted with a reboot because it's not the real /system.

It's way down on my list to try and get it working with Magisk, but it is on there. :good:

An idea that just occurred to me is pointing it to /sbin/.core/mirror since I believe that ends up being the real, untouched system, so if someone's interested in taking a crack at it before I get the chance, please do.
[Android Software/Hacking General [Developers Only]] adikri:
I've tried this too.. It'll move script to /system/etc [as original system] and even when rebooted it'll be there.. But again when it comes to Mount, it won't do that and integration failed
[Android Software/Hacking General [Developers Only]] osm0sis:
Without further ado! ;)

I work on these projects in my limited time off, so if you like the progress I'm making, or enjoy anything else I've done on xda, please do hit the donate link from my profile. Thanks for your support!

UPDATE-Busybox.Installer.v1.28.1-ALL-signed.zip:

- improve cleanup and fix subsequent installations with Magisk Manager

- update to latest busybox stable official source

See the related commits here: https://github.com/osm0sis/android-busybox-ndk

UPDATE-Flashlt.Installer.v3.2-signed.zip:

- improve cleanup and fix subsequent installations with Magisk Manager

- update busybox binary (1.28.1) with the latest patches and fixes from my repo

UPDATE-adb.Installer.v1.0.39-signed.zip;

UPDATE-Adreno.Systemless.Installer-signed.zip;

UPDATE-nano.Terminal.Editor.v2.9.3-signed.zip;

UPDATE-Nexus.Media.Installer-signed.zip:

- improve cleanup and fix subsequent installations with Magisk Manager
[Android Software/Hacking General [Developers Only]] ale5000:
Could you explain me please?
[Android Software/Hacking General [Developers Only]] jcmm11:
post-fs-data.d or service.d? I do know that post-fs-data.d

1) runs before service.d (as soon as /data is available, before pretty much everything starts up)

2) is blocking where service.d isn't.

It's also recommended to run in service.d if at all possible. eg - unless you really have to run early, don't. You want to spend as short a time as possible in a blocking state.

So as I write this I'm thinking that post-fs-data.d is probably a closer match for su.d (which also ran early and was blocking. I'm not sure exactly how early it ran), but we should probably encourage service.d usage whenever possible.
[Android Software/Hacking General [Developers Only]] osm0sis:
Yup, so as you reasoned, it is the su.d equivalent due to the blocking and earlier timing, and so in practice it depends.. If you need something where the timing matters and/or you want it as early in the boot as possible then post-fs-data.d is still the only option.

It's also easy to get around the blocking, and I made sure it works on both Magisk and SuperSU: https://github.com/osm0sis/gappsintegrator/commit/d1ea6d5f03c62f589671e9c95ca411b9afc7a3f3

Just wrap the script in { }& :good:
[Android Software/Hacking General [Developers Only]] mbc07:
Hello [MENTION=4544860]osm0sis[/MENTION], I've been using your busybox Magisk Module for quite some time, without any trouble. Today I updated my phone to Android Oreo and now as soon as I install your busybox module my phone get stuck in a bootloop (it reboots even before the boot animation starts -- uninstalling the module through TWRP fixes the bootloop). Previously, on Nougat firmware, it worked flawlessly. Is that a known issue?
[Android Software/Hacking General [Developers Only]] osm0sis:
Nope. Working fine on all my Oreo devices. A list of the contents of your /system/xbin directory without the module installed, and a recovery log of the installation would be helpful. Any information about your device would also be a good start. ;)
[Android Software/Hacking General [Developers Only]] mbc07:
That's it. I went into /system with a root-enabled file explorer so I could take a look and... there's no xbin folder in the stock Oreo firmware from my phone (Xperia X). So, I created an empty xbin folder, installed the busybox module from Magisk Manager again and this time, no bootloops, issue fixed! Thanks :)
[Android Software/Hacking General [Developers Only]] osm0sis:
Sounds like it's not being installed as a Magisk module then, but is getting installed to /system? Magisk should create xbin if it doesn't exist if it's installed as a module, so that's weird. Again, a recovery log of the broken installation would be helpful.