neocanable
neocanable on Hacker News
love it, really handwritten!
Thyme is a comprehensive reverse engineering platform for apps, consisting of two components: garlic and rosemary. Garlic is a decompiler for Dalvik/JAR, while rosemary is a native analysis tool capable of analyzing ARM64, A32, and T32 architectures. Thus, Thyme serves as a complete reverse engineering and analysis platform for Android and iOS.
Posted by
neocanable on Tuesday October 06, 2026 @03:06AM
from the show-hn dept.
Thank you for your attention!
Posted by
neocanable on Tuesday March 17, 2026 @02:38AM
from the show-hn dept.
https://neocanable.github.io/2026/01/17/rosemary-development-status.html
The final piece of the Android decompilation/static analysis puzzle is native reverse engineering. After completing the decompilation of the Java/dex parts, I decided to challenge myself with the decompilation and static analysis of the native parts, and I gave this native part a different name: rosemary.It's under development, I've just finished creating the control flow and data flow.
Thanks for your advice!!!
It is really hard for programmers
Posted by
neocanable on Sunday July 27, 2025 @07:27AM
from the ask-hn dept.
I launched a open source project of decompile Android/Java(https://github.com/neocanable/garlic) two years ago, It is very small and super fast, and it can be easily integrated with other projects, such as modifying the bytecode of jvm/dalvik.What confuses me now is that I want to make money from this project, but I can only think of providing customized services. Can anyone give me some...
got it, thank you, I hidden it.
The decompiler support android apk and dex now
the project support dex and apk now.
yes, support android apk and dex now
Posted by
neocanable on Friday June 13, 2025 @10:56AM
from the show-hn dept.
After open source two weeks, garlic decompiler now support android apk and dex.github: https://github.com/neocanable/garlicwelcome feedback.
This is the best question for me. Writing these codes in C language is the best way to learn the file structure of jvm/dalvik/pe. This process makes me like C language more. For me, I think it is simple and pure, which is enough.
In the process of writing this, I learned a lot about JVM. JVM has done well enough, even surpassing C/C++ in some cases.
This project is my first project written in C language. Before this, my C language level was only at printf("hello world"). I am very happy because this project made me dare to use secondary pointers.
In multi-threaded mode, each thread will create a separate memory pool. If in single-threaded mode, a global memory pool is used. You can refer to
https://github.com/neocanable/garlic/blob/72357ddbcffdb75641.... The x_alloc and x_alloc_in in it indicate where the memory is allocated. When each task ends, the memory allocated in the memory pool is released, and the cycle repeats.
Sorry for giving you a bad experience. Please provide the jar file or class file. I hope I can fix it as soon as possible.
90% by hand, 10% AI. I do this for fun and to learn about jvm.
It is processes inner classes recursively. First read all entry from jar, and analyze the relationships between classes. Then do some decompile job.
I am writing the part of decompiling dex and apk. The current speed is about 10 times faster than that of Java, and it takes up less resources than Java. And the compiled binary is smaller, only about 300k. Thank you for your attention.
Posted by
neocanable on Tuesday June 03, 2025 @08:14AM
from the show-hn dept.