Android Mod IDE - Testing phase 3 v0.9 RC1

wow... six weeks, I've been in the trenches for awhile

UPDATE!!!!
I am FINALLY able to announce, after, many, many, MANY delays, a new update! Now testers are CRITICAL at this point, as this moves into Beta 1 build. What this will mean for ModIDE, is that I've got a moderately buggy but now ready for the first real usability tests.

Current features:

  • Full Windows installer (requires x64 PC, pretty much a non issue with any recent computer. JVM included in install, so no separate Java needed to run.
  • Apk decompiling tool via, well, Apktool lol
  • Dex2Jar tool supplied to either use via command line, or automatically used when starting a project under "Expanded Apk modding"
  • Full syntax highlighted text editor IDE, with compatibility with around 30 languages, including Java, smali, xml, and C# (currently the most used in apks)
  • Projects allow modification of smali code, all text files in either regular text or hex mode
  • NEW Dll disassembler capable of decompiling assembly files (or any .NET framework dll compiled into CIL/MSIL bytecode). Comprehensive explanations of IL commands, each offsets explanation, and a breakdown of the entire Metadata stream. WIll allow you to rebuild assembly with your edits via a binary hex modification and update (does not "reassemble an assembly", rather edits the original dll while leaving a backup in case of needing to revert to original file).
  • Utility method to auto-inject a toast credit (common for many modders to add their "tag"/credits), simply store a toast with the tools provided, set to include toast during project setup or apk build, and ModIDE will search out the proper place to inject, no headache included!
  • Screenshot tool to take a snap of your current ModIDE screen, useful to report bugs to me :D . Also good for being able to ask a question to other members/modders to describe a code snippet better, etc.
  • Logging tools automatically track most errors and system notifications in program, again will help for issues you may have to report, however will be useful in future updates when I include heap dump capability, etc.
  • Personalize tool by changing skin, fonts, hex mode display, etc.
  • Finish your work with a signed or unsigned rebuild or the modded apk, using your changes to the smali/il/(insert code here) instructions.
Known Bugs
  • Disassembler will not allow changes to a different MemberRef, MethodSpec, or TypeSpec. Fields, Types, and Class/Method calls should all be available (this is regarding changing the method/field/etc called with an instruction such as call, castclass, ldobj or others)
  • The tooltips and instruction under description change during an instruction modification, the affected row looks pretty broken afterwards. Purely cosmetic and goes away when reloaded or restart, will not effect the mod.
  • I'm sure theres quite a few others, the IL disassembler issues set me about 3 months behind trying to get working and I encountered all forms of bugs during the process. Im sure some slipped thru the cracks so any issues you become aware of PLEASE contact me so I can try to address the following update.
Thanks for following, and thank you for your extensive patience :D I will now be working on strictly code cleanup and debugging for a bit before my next important update, adding into github and svn repositories for open sourcing. Keep on the lookout for other important updates as well, such as adding a tool to handle il2cpp type Unity games, adb interoperability for acquiring heapdump, Ptrace/Pinvoke, dnlib type encryption detection/deobfuscation, and MUCH more!

ModIDE full installer - version 0.70 beta 1
 
Trying to dissambler and get me error
@s810car
 

Attachments

  • error.webp
    error.webp
    5.2 KB · Views: 95
Trying to dissambler and get me error
@s810car
That happens to be an error regarding the particular file you went to disassemble, the disassembler did its job correctly. Link to the apk file you went to disassemble would be necessary to give you the exact reasaon, although I have a feeling you may not want to give the direct link given it was already modded ;)
 
That happens to be an error regarding the particular file you went to disassemble, the disassembler did its job correctly. Link to the apk file you went to disassemble would be necessary to give you the exact reasaon, although I have a feeling you may not want to give the direct link given it was already modded ;)
Already found the reason for the error ;P
 
HOTFIX - Newest update had issue allowing a new project to disassemble a .NET dll file(assembly-csharp files)
This was discovered when I attempted to use the production version, another reason I stress, feedback VITAL to make this project work, all input positive/negative HIGHLY appreciated!

ModIDE_0_70b.msi
 
Last edited:
UPDATE - Version 0.8
Did a MAJOR overhaul of a lot of code during this cleanup. Stability of the .NET disassembly editing and saving should be much better, if you have any issues besides the below mentioned bug, please let me know.

Changes:
- more personalized settings to allow font changes in both the editor and the overall GUI (color, size and style for those with vision issues, syntax highlighting works for all keywords as well regardless of default text color)
- Image viewer has improved to allow scrolling for large image and reads the pixel RGB values
- Much improved error logging to assist in finding bugs
- Ability to save console log
- For those wishing to tinker with the source: a javascript console allowing you to run java methods/functions dynamically at runtime on ModIDE's JVM
- Rewrite of the .NET editing panels and the entire event handling API. Should improve stability and reduce manually entered floating point and other integer errors

Known bugs
- A few of the actions require at least one file has been opened in the application before they will properly work. Fix is in the works
- the Nop instruction is broken at the moment for any instructions it replaces more than 1 byte (IE any instruction larger than the Nop opcode, so all branches, opcodes where a value is expected such as call or ldc.r8, switch command, etc. still works for single instruction short opcodes such as ldloc.1, ldc.i4.0, etc.).

Requires a new install, file is updated in OP. Enjoy!
 
So proud of your progress so far .. keep up the great work
 
Nice work bro. Ok reason im here sorry to be a pain lol is on your thread your post on first page ive changed your change log to a spoiler so if you like add all your changes there into spoilers im just thinking its easier for you to keep things in one place and easier for modders who use your tool to keep checking in the same place. If you don't like change back hehe but i added spoiler so you can see what its like you could change to spoiler name to changelog vxxx and all info is contained in there and you can fill up one section
 
Nice work bro. Ok reason im here sorry to be a pain lol is on your thread your post on first page ive changed your change log to a spoiler so if you like add all your changes there into spoilers im just thinking its easier for you to keep things in one place and easier for modders who use your tool to keep checking in the same place. If you don't like change back hehe but i added spoiler so you can see what its like you could change to spoiler name to changelog vxxx and all info is contained in there and you can fill up one section
not a problem, id rather it be in a familiar format for the site anyways, might be easier for when i update anyways, a lot more organized, thanks!
 
any modders here that could answer a simple question? Wondering how often when modding unity apps you edit other dll libraries in the "managed" directory other than assembly-csharp and specifically if you edit them "through" that file (example traversing the assembly tree in dnspy)? Deciding on the use case need for having a similar capability now that i figured out a way to do it, if its even necessary to dig into that since you could always just disassemble and edit separately, just the reference linkage isn't readily visible
 
Back
Top Bottom