Android AIO Modding IDE

Sbenny.com is trusted by 1,312,973 happy users since 2014.
Register

s810car

In Love Lv4️⃣
Member for 7 years
(tl;dr go to the large bold header to see my plan if the prologue gets long winded lol)

I'm about to start my most ambitious and probably craziest programming adventure yet, I'm actually scared I may not even finish it but want to at least see if theres as much interest in it as i think there will be. My question is primary to the modders, but its also to newbs especially interested in beginning/learning to mod. I will probably address this to a few forums but this is my first one that I decided to get active like this so I appreciate the opportunity to even address this. Input, ideas , or just telling me im nuts is appreciated lol

My background is in website design/administration, I've had a love for hacking into code since my early teens (36 now), and didn't really get into higher level languages for awhile, stuck to php/html/ etc, every once in awhile i'd get into a project using ajax/cURL and maybe a linux script or 2 every now and again. I mean I'd do some text based mods on old pc/dos games but so does everyone at some point :) I had my first taste of modding playing around with some flash chat script for my old site (my first ever decompile yay!), but really my first code orgasm was a modification to my old php/mysql chat client which after deciding it needed to be more integrated with not just my forum, but all the scripting function I built into my site. Working with some java servlets and some open source stuff I built my own instant messenger similar to yahoo messenger only for my members along with full integration of my important scripts on my site, and being it was a site to place sporting bets, online poker staking, and a small marketplace that was no small feat :D

Why am I even explaining all that? Mostly to say I bite off more then I can chew constantly, and want true opinion on my project im about to start, because I don't want to stop with a half done project, I see too many of those nowadays with this. So now my proposal....

My Idea
So here's the goal: I have just started in the brainstorming phase of an All in One true Android app and (v2 idea) ROM/kernel kitchen. The goal is to be able to have access to EVERY possible tool currently needed to modify those resources in one single product. The features would be:

Open source: Most important aspect to me of all. I plan on using and combining many open source libraries to build this product, and want the modder communities to be able to add/modify as they see fit. Even more so with google closing as much open source to their lines as they can, keeping these tools available and people interested in learning to mod excited to use an easy to start with tool, with all the horsepower for the advanced modders as well
Complete and up to date toolset: Every single product I've seen available has at least one if not both these issues: They have either important functions missing (disassemblers without edit function?!? wtf) or they are abandonware, great tools with old libraries that are not working as well as they should, mostly due to constant change in phone architecture (great example coming to my mind is Virtuous Ten Studio). Most are closed source with this problem so they died out (or open source with NO accessibility beyond command line leading to my next bullet...)
IDE with User/newb friendly GUI: Using a similar layout to Eclipse IDE (current idea atm) so all windows will be visible and have a usable workspace, with toast help messages (again long term planning there, decent documentation is secondary to having the whole toolset available).
Planned tools: I will be seeking out open source libraries for:
APK extraction: thru ADB or pulling the apk from apkpure or downloading from play ala apkfetch
APK decompression: Obv there
APK disassembly: Dex2jar, deodex, and baksmali, so files to arm (open source IDA substitute), NET unity dlls to il (dnspy), SWF decompiler for the odd flash files, OBB where available
Decrypting tools: need more input for this obv, but things like xor calculating, il2cpp, luac, etc
Editors: COMPLETE editors for hex and plaintext with full syntax highlighting in all languages, regex search replace functionality with tools to both help look up an opcode you are editing to help newbs understand the function, and instant (well as much as possible) compilers so you can write in java or c# and get the opcode translation to copy paste. Also XML editing for manifest, and newb quick functions like "remove ads/root checking/etc.
Asset editing/collecting: Allow apk unzipping without disassembly for image or sound editing for a quick drop back in without changing signature. Also full browsing of assets including unity assets in split files ala Unity Studio
Repacking apk: recompile the libraries, smali, zipalign, and sign apk while simultaniously making an unsigned apk prepatched ala Lucky Patcher license check workaround, saving a releasers time
File analysis: This could also be in planned tools but theres a couple specifics about this. Its for a couple of functions, A: Complete file reader to be able to examine hex code for crypto, and PE header reader/editor. I know thats controversial for a couple reasons but in general the tools available in a PE forensic tool like Detect it Easy are completely necessary imo, and short of making their own script no one is going to be 'repairing' those headers unless they know what they are doing manually making any controversy a moot point
Plug-in capability: This one (besides having all tools in one program) has got me the most pumped to do this. The plan I have is taking an idea from my old vbulletin forum software: I plan on going into most of the libraries and adding hooks to use at various logical breakpoint locations. This will allow any modder to easily inject their own code via plugins they create (and if this went like I would wish it too, be able to publicly release as well). I'm thinking improved logic for disassembly, theming, custom syntax, anything really.

I know that was an exhausting read, I appreciate it if you made it this far, but now you see why I'm saying I may be looking to make more headaches for myself then necessary. So if this got your attention at all, I would love any feedback including what I may have missed in my plans, if you have any interest in a product like this or not, if I sound crazy :D or if you have an interest in working with me further along the production timeline (I will have a github repository once I have some work done so forking and working alongside will be possible further down)

Thanks again for reading!
 

Sbenny

A crazy scientist
Staff member
Admin
SB Mod Squad ⭐
✔ Approved Releaser
Active User
It would be a really awesome thing to have a single tool capable of doing everything, but I think this could be better if made into a pc software rather than a Android app, since hacking, editing, scripting and so on.. it's all done via computer since it's faster and more powerful for these kind of jobs. The idea is great, and I truly believe that the result will impress everyone.
 

s810car

In Love Lv4️⃣
Member for 7 years
It would be a really awesome thing to have a single tool capable of doing everything, but I think this could be better if made into a pc software rather than a Android app, since hacking, editing, scripting and so on.. it's all done via computer since it's faster and more powerful for these kind of jobs. The idea is great, and I truly believe that the result will impress everyone.
My bad I wasn't clear enough on my description lol

This is going to start out as strictly a windows app, and as a Java app for cross platform. I figure the 'nix users are usually more advanced and have their preferred tools already, the windows modding community and beginners first learning (which are almost always Windows users) are the users I predict need this the most, and as such it's geared towards that style.

Small update on this: I'm currently working on the main GUI and actual code ditor, I figure target the hardest/undeveloped part first, since most the open source libraries I need will be java (or C/C++ via JNI) the meat of the app is already available I just have to drop it in. Currently syntax highlighting and auto indent with functions already in, working on the search and replace engine and after that drop the libraries in and determine some good hook locations for homemade plugins, etc. I figure probably a couple months before an alpha release (more if any change in personal life as this is all done in my downtime), but I'm happy with my progress so far.

Thanks for the interest and any questions anyone has feel free to drop a line here (y)
 

Sbenny

A crazy scientist
Staff member
Admin
SB Mod Squad ⭐
✔ Approved Releaser
Active User
So bad I'm the only one who noticed this :| As soon as you have some previews, don't hesitate to share some screenshots with us! :)
 

s810car

In Love Lv4️⃣
Member for 7 years
lol all good, I have heard mixed interest in a few areas where i threw this idea around, I have a feeling once I have a git repository and make some noise at xda developers it'll get more interest.

Right now heres my status: Not going too fast obv, its a HUGE undertaking. Got a preliminary window display setup, not 100% sold on it, shown on example1 (ignore the tree on the left, right now that points at a random directory, its final use will be a apk traverser along with a reflector for smali/dll(c#) files either tabbed there or in the right pane) logger will be on bottom. Again this is just my first vision on it, the workbench setup may become drastically different depending on where i go with this or suggestions i get from diff sources.

My goal as I said is going open source completely on this, and with that utilizing any real good library built for decompiling/debugging, and coding with just a repackage and configure to work with my program. The one I'm almost done with (quite frankly the most important anyways, can't edit code without an editor :D ) is the syntax highlighting editor. This is based off the open source RSyntaxTextArea library written by Bobby Light (obviously I will be giving proper credit to the authors of the libraries I use). It has now been implemented to detect based on file extension and highlight the following formats:
actionscript, assembler_x86, bbcode, c, c++, c# clojure, css, d, delphi,dtd,fortran,groovy,hosts file,.htaccess,
html,ini,javascript,json,json w/comments(jshintrc),java, jsp,LaTeX,LESS,lisp,lua, makefile(mk, etc),mxml,nsis,perl,
php,properties file,python,ruby,sas,scala,sql,tcl,typescript,unix shell (sh),visual_basic,windows bat files, xml, and yaml

:D obviously most aren't needed for apk modding, but this will also work as a ad-hoc text editing tool so can replace notepad+ and the like. Once this is don I will be working on the baksmali, dex2jar, and jd-gui drop ins to view basic android files, a so decompiler and c# reflector will be following, and finally a build apk script before I can launch an alpha for early tests.

Thanks for the support :) heres 3 examples of the highlighting for diff files, and the first one has the entire window to give an idea
 

Attachments

AndnixSH

Savage Lv6️⃣
SB Mod Squad ⭐
Member for 8 years
I also got an idea about Android Modding but my idea was quick file extraction from APK file and quick replace file in APK and sign. Example: If APK is Unity3D, extract Managed folder and replace Assembly-Csharp.dll if modding is done. It can be done using 7zip commands
 

s810car

In Love Lv4️⃣
Member for 7 years
just an update on this, the editing tool is all but complete as far as it works for editing, has syntax highlighting and code folding, possibly auto complete functions with macros (is in library but haven't tested and not really interested as that's higher language code, editing most apps requires editing machine code so it's useful mostly for people using as an editor, not for modding) and allows save, load and a basic folder tree to traverse from the parent of the opened file thru all child folders (important for going thru apk after unzip).
right now doing some code cleanup and basic property settings so it uses default directories, etc. afterwards I'll be preparing to setup the git and start dropping in libraries for its primary functions.

anyone interested in being involved in testing the alpha build should post here, along with at what point you are interested in (example i will have a fully functional text editor for code within a month give or take, but if you want to wait until it's useful for actual modding with its own dex2jar, baksmali, ilspy etc. implementations it'll be a few months possibly) and I'll get you a usable jar to run on, and even more if interested in getting involved code wise post and when i have the git repos up I'll let you know and give proper credit for any assistance either way, from simple credits in docjar all the way to shared donations that could possibly be received when launched on XDA and similar sites. disclaimer :there is obviously no guarantee of profiting from this project and my goal was never money anyways, it's to offer an open source app to the modding communities i enjoy being a part of, that can be maintained indefinitely. i will not be promoting this as an attempt to get money nor use adverts, etc so don't even try to get involved if that's your goal.

thanks for the support!
 

s810car

In Love Lv4️⃣
Member for 7 years
for those following my progress on this, just hit a major setback :( my computer just failed, and i mean major as in looks like I'm going to be in the market for a new one, sigh
fortunately im one of those crazy backup everything i can anywhere i can so even though it'll be a few weeks before my computer is up, even if i can't recover the hard drive i have a full copy of my source in my phone lol ah well I'll update again when i can start back onto it, thanks all!
 

s810car

In Love Lv4️⃣
Member for 7 years
just a small update, FINALLY got my new computer so this project will be started up again shortly, going to take a couple days to transfer all my files to my new setup and refamiliarize myself with my code and where i left off and start working on it again this weekend, hopefully get a timeline for my balpha release soon. Thanks for the support!
 

Zioyman

Hardcore Lv9️⃣
Richest VIPs
Member for 7 years
Glad you are able to continue :) keep up the good work
 

s810car

In Love Lv4️⃣
Member for 7 years
FINALLY getting close enough to at least put a screenshot out
This is getting close to alpha release, now the features available at that point will be slim, but this is an ongoing project. at this point it will include ability to extract/repackage apks, disassemble into smali byte code, text and hex editing, support for over 20+ file formats for syntax highlighting (in case you wish to use as a notepad+ replacement or dig through other source code outside of apks), one of the best syntax highlighting for smali (it better be given how long that part took lol), a console display which currently doesnt log much, as this gets closer to beta release itll have a lot more function,etc, ill have a full feature log once the alpha build is released.
Unfortunately, for this early release im not going to have time to add the C# reflection yet, so this wont work for unity mods (that is first on the update list so it will be soon). I'm mainly pushing an early release to get some on the field bug testing, im expecting a bit at first so want as many eyes as possible, hoping to have a mostly bug-free all inclusive modding IDE within the years end :)
Screen details the graphic design along with an open smali file to see the highlighting difference compared to most others
 

Attachments

s810car

In Love Lv4️⃣
Member for 7 years
One Last update before the first release (alpha version 0.3 is first stable build that I will be able to release). Again, this is a VERY early build and will start with the basics for editing apks such as your standard apktool/dex2jar/baksmali capability, as I get feedback from that to help fine tune the program I will be adding the tools I really want to see available to consider an all in one tool such as a c# decompiler, ilspy-like refactoring in both c# and smali/java, arm disassembly options with pseudocode (ala hex-rays), file header inspection tools (ex. COFF headers), and start working on getting the harder tools to work together with it such as il2cpp and gbd or equivalent debugger/dump tools.

SO, what do I have so far? a decent text editing tool for code with full syntax highlight, GUI style similar to eclipse/virtuos ten studio/ other type IDEs, and capability to view/edit/save files in hex mode as well. Once those are finalized I will put the basic tools in and barring any complications there, be ready in about 2 weeks ;)

Screenshots attached! :dance:
 

Attachments

KentCave

~• Philosopher Poet •~
From the Hell
Member for 5 years
@s810car <3
Know that someone..me, spent whole Xmas absorbing through EVERY line of gems you had shared.
The newer Project update thread and this Old original Spark.

I learnt A LOT from just familiarizing myself with the tech-terms. The Revelation burst bubbles of orgasmic inspirations throughout my soul. These information are available all over, yet I gained my Understanding from Your concise compilation of the essential gist of things. A Hub indeed. Whole credit goes to You.
<3

All these while..I had been using manual method of renaming files and sieving through jumbled codes to attempt something..anything. Excrutiatingly slow process with trial and error galore. But..that's old skool and it will stick in the end, after all.
I finally understood what were those extensions really obscured us from and where essential values are actually stored.

To open up an alternative venue for mobile-only modder-wannabes, like me..I am perfectly agreeable to a Bounty. A reimbursement for your time in Crafting your wonderful ideas into a Tool I could actually use and would make monstrous err..Exquisite creations out of it. A Pledge.

100k SB Points Reward (transferable by the Grace of @Sbenny from my Bank to you) to the person kind enough to make a functional tool for Android Phones following above ideas..compatible with old-limited mobile with lowly 500 MB RAM of 5.51 Android OS.

The Features I am mostly interested in :
* Asset editing/collecting: Allow apk unzipping without disassembly for image or sound editing for a quick drop back in without changing signature. Also full browsing of assets including unity assets in split files ala Unity Studio.
- - -
As per your description..and know that it would speed up much of that process. I love doing this and currently had to re-sign even if just 1 image replaced. I would love to finally able to raid the stash of Kairosoft in the split!

* APK decompression: Obv there.
- - -
Not a priority but am eager to experiment with. Had been manually compressing image and sound files to reduce size. Will it cause a longer loading time IF we compress other files as well? Then I rather not save space..sacrificing speed.

* APK disassembly: Dex2jar, deodex, and baksmali, so files to arm (open source IDA substitute), NET unity dlls to il (dnspy), SWF decompiler for the odd flash files, OBB where available.
- - -
Those dex, smali, so, dll..readable/editable for mobile-compatible text/hex-editor?
QuickEdit currently serves me well enough for some of those needs.

"I know that was an exhausting read"
Yeah..never knew what I initially got myself into..on a Xmas Eve.
But I made Coffee. Dark & Thick at 3 AM just to continue on this maelstorm of a soul staring into an abyss.
A zombie..a motivated one sneering with eagerness..is typing these words. Filled with ideas and dreaming of wonders.
To your credit & karma. The memetic virus.
<3
Perhaps @AndnixSH and others might be interested in this?
IMG_20181224_150537.jpg

Post automatically merged:

I forgot to mention..
The Toast-insert/editing function IS essential as per requirement of Sbenny..of course.
<3
@CozPatch & @D3T0X perhaps?!?
MERRY X-MAS !
IMG_20181224_211925.jpg
 
Last edited:
Top