Introduction

Hey i’m kilo(or KiLoZz). I am a novice software modder that has been self learning for over 6 years now. Most of my mods are for the Android community as i’ve never really had a good pc i could practice modding on. As for some personal background information I’m 18 years old, Hispanic, and live in California (surprisingly amirite). I like to think of myself as intelligent because i piece things together really fast and i’m also very observant, adaptive, and creative.

I’ve compiled a FAQ about myself to make things shorter and easier to understand what i’m like:

Q: What apps/games have you modded?

A: Shadowgun Deadzone, DeadTrigger(2), Unkilled, Subway Surfers, Critical Ops 2(i’m pretty experienced at msil/c# you can say :P), Nebulous, Kik, QuickEdit, and the Apktool app for android.

Q: What apps are you modding right now?

A: Nebulous. Really interesting app to mod.

Q: What computer languages do you know?

A: Quite a few. C, C#, smali, java, python, msil, bash(in a script its a goddamn language).

Q: What do you do on your free time?

A: I study, text my friend, play some games, mess with my terminal emulator, check out my favorite sites, last but not the least, i watch anime on a regualr schedule.

Q: Do you do any drugs?

A: No. I’m better safe than sorry.

Q: What are your plans for your future?

A: I really just wanna do my own thing… I think it’ll be better if i focus my intelligence on something i feel comfortable with for maximum productivity.

Q: What are your plans for this blog?

A: As the website title says, this blog is just a place for my thoughts and ideas i get over time. Typing my ideas down helps me process them better and that helps me find any flaws in them. I do not expect my blog to become something big but in the case it does it won’t really change anything. I keep things at my own pace.

Well that’s about it for today. Thanks for visiting my blog.

Use a full Java RT on your Android device

​No intros here, let’s get straight to the point.

Requirements:

– Device running Android

– Apktool for android

– Termux

– Root(yes, it’s required.)

– tsu(install it via apt on Termux.)

– Needed files are below
Download and install apktool for android, when you’re done, simply

$ tsu -p

# mount -o remount,rw /system

# cp /sdcard/Download/java /system/bin

# chmod 777 /system/bin/java

# mount -o remount,ro /system

# java -?

If you didn’t get a usage message, you fucked up or your phone’s architecture isn’t supported.
For proof-of-concept i will demonstrate this by running the desktop version of apktool and invoke the jvm:

NOTE: This will fail if you are not running in superuser mode!!
Many thanks to https://github.com/dongfangxunlei for building openjdk on Android.

Links:

http://www.mediafire.com/file/45ej3tmsg46vmhz/Apktool-armv7_5.2.0.apk (apktool for android)

http://www.mediafire.com/file/02mldii5acbg920/java

https://play.google.com/store/apps/details?id=com.termux

Helpful APK Modding Tips

​This is just a collection of everyday things i do to make modding apks easier for me.

Need to find something in the thousands of smali files in a directory?

grep -nHr "Query" <directory>
Example(dumps strings): grep -nHr "const-string" /cache/app/projects/app_src/smali > ~/Research/app_strings.dump

PROTIP: Create a custom alias in your shell’s startup script to ease things up:

function appgrep() {

    grep -nHr "${@}" /cache/app/projects/app_src/smali

}

Then just call it:

appgrep "const-string"

Need to change something that is used many times throughout the app?

find <dir> -type f -exec sed -i -e "s/old/new/g" {} +

Example(change package name): find $PWD -type f -exec sed -i -e "s/package\.name/new\.name/g" {} +

Hate having to search through public.xml to find out what that ID belongs to?

Try this out: https://github.com/jakev/Android-FixResources/blob/master/fix_resources.py

Do you get a stacktrace in logcat like so?

01-26 08:45:40.331 E/AndroidRuntime(9999): Process: kilo.ex, PID: 9999
01-26 08:44:50.753 E/AndroidRuntime(9999): at kilo.ex.Class.myMethod(SourceFile:3922)

And can’t seem to wrap your head around it? Simple. Using a text editor with a built in search function, navigate to the class in which the exception was thrown and search for “.line X(3922 in my case)”. You will find your exception there.

Tips:

4-bit integers become 16-bit after 0x7 (const/4 -> const/16)

Name labels to something memorizable(:switch_off, :print_msg, etc)

Reading the strings within a smali file will give you alot of context

KEEP 2 SOURCES OF THE SAME PROJECT AT ALL TIMES. Use one for researching and the other for modifying.

That is all for today. I’ll see if more tips come across my mind later on today.