1)APKtool 2)dex2jar 3)jd-gui 4) Basic requirements for signature tool-related technologies 1) Have a certain ability to read JAVA code 2) A little bit of Android basics, the more the better 3) Will use some Android debugging related tools in eclipse 4) Understand the grammatical specifications of smali and the custom scope of fields 5) Have some adaptability and thought conversion ability, 6) Although the modification of the code is to modify its smali file (using smali syntax) , although its language is very complex, we can adapt it, but we need to understand the grammatical specifications of smali and the custom scope of fields. Understanding the above methods can make it very easy to crack Android APK. After cracking, the page layout, code logic, structural algorithm, etc. in the application can be seen at a glance. Therefore, in order to prevent others, especially competitors, from learning about this, it is particularly important to prevent cracking and decompilation. I tried code obfuscation, but code obfuscation only changes the class name, which makes it more difficult for crackers to read, and cannot really prevent the decompilation project. Below is the APK code structure that has been code-obfuscated. You can see that only the class names have been transformed into names such as a, b, c, etc. But decompilation is still possible. Later, I tried to use 360 ??Reinforcement Protection to strengthen and protect the APK, and found that the original code program was hidden and could no longer be decompiled. Therefore, as a mobile application developer, a proper understanding of some cracking and decompilation work will help protect the security of your own applications. If you don't take precautions before it happens, once piracy occurs, your APP will likely be abandoned by the market.