├── .github └── workflows │ └── gradle-publish.yml ├── .gitignore ├── LICENSE ├── README-CN.md ├── README.md ├── annotation ├── build.gradle └── src │ └── main │ └── java │ └── cc │ └── nuym │ └── jnic │ └── annotations │ ├── Heavy.java │ ├── Native.java │ └── NotNative.java ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── loader ├── build.gradle └── src │ └── main │ └── java │ ├── DataTool.java │ └── JNICLoader.java ├── settings.gradle └── src └── main ├── java └── cc │ └── nuym │ └── jnic │ ├── Main.java │ ├── MethodProcessor.java │ ├── NativeObfuscator.java │ ├── NativeSignature.java │ ├── asm │ ├── ClassMetadataReader.java │ └── SafeClassWriter.java │ ├── cache │ ├── CachedClassInfo.java │ ├── CachedFieldInfo.java │ ├── CachedMethodInfo.java │ ├── ClassNodeCache.java │ ├── FieldNodeCache.java │ ├── MethodNodeCache.java │ └── NodeCache.java │ ├── env │ └── SetupManager.java │ ├── helpers │ └── ProcessHelper.java │ ├── instructions │ ├── FieldHandler.java │ ├── FrameHandler.java │ ├── GenericInstructionHandler.java │ ├── IincHandler.java │ ├── InsnHandler.java │ ├── InstructionHandlerContainer.java │ ├── InstructionTypeHandler.java │ ├── IntHandler.java │ ├── InvokeDynamicHandler.java │ ├── JumpHandler.java │ ├── LabelHandler.java │ ├── LdcHandler.java │ ├── LineNumberHandler.java │ ├── LookupSwitchHandler.java │ ├── MethodHandler.java │ ├── MultiANewArrayHandler.java │ ├── TableSwitchHandler.java │ ├── TypeHandler.java │ └── VarHandler.java │ ├── special │ ├── ClInitSpecialMethodProcessor.java │ ├── DefaultSpecialMethodProcessor.java │ └── SpecialMethodProcessor.java │ ├── utils │ ├── ASMUtils.java │ ├── AntPathMatcher.java │ ├── Base64Util.java │ ├── BootstrapMethodsPool.java │ ├── CatchesBlock.java │ ├── ClassMethodFilter.java │ ├── ConsoleColors.java │ ├── CryptoUtils.java │ ├── DataTool.java │ ├── DecryptorClass.java │ ├── EncodeUtils.java │ ├── FileUtils.java │ ├── HexUtil.java │ ├── IOUtils.java │ ├── InsnBuilder.java │ ├── InterfaceStaticClassProvider.java │ ├── LabelPool.java │ ├── MethodContext.java │ ├── Platform.java │ ├── Snippets.java │ ├── StringUtils.java │ ├── TamperUtils.java │ ├── Util.java │ └── Zipper.java │ └── xml │ ├── Config.java │ └── Match.java └── resources └── jni.h /.github/workflows/gradle-publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/.github/workflows/gradle-publish.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/LICENSE -------------------------------------------------------------------------------- /README-CN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/README-CN.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/README.md -------------------------------------------------------------------------------- /annotation/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/annotation/build.gradle -------------------------------------------------------------------------------- /annotation/src/main/java/cc/nuym/jnic/annotations/Heavy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/annotation/src/main/java/cc/nuym/jnic/annotations/Heavy.java -------------------------------------------------------------------------------- /annotation/src/main/java/cc/nuym/jnic/annotations/Native.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/annotation/src/main/java/cc/nuym/jnic/annotations/Native.java -------------------------------------------------------------------------------- /annotation/src/main/java/cc/nuym/jnic/annotations/NotNative.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/annotation/src/main/java/cc/nuym/jnic/annotations/NotNative.java -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/gradlew.bat -------------------------------------------------------------------------------- /loader/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/loader/build.gradle -------------------------------------------------------------------------------- /loader/src/main/java/DataTool.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/loader/src/main/java/DataTool.java -------------------------------------------------------------------------------- /loader/src/main/java/JNICLoader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/loader/src/main/java/JNICLoader.java -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/settings.gradle -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/Main.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/MethodProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/MethodProcessor.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/NativeObfuscator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/NativeObfuscator.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/NativeSignature.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/NativeSignature.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/asm/ClassMetadataReader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/asm/ClassMetadataReader.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/asm/SafeClassWriter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/asm/SafeClassWriter.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/cache/CachedClassInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/cache/CachedClassInfo.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/cache/CachedFieldInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/cache/CachedFieldInfo.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/cache/CachedMethodInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/cache/CachedMethodInfo.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/cache/ClassNodeCache.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/cache/ClassNodeCache.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/cache/FieldNodeCache.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/cache/FieldNodeCache.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/cache/MethodNodeCache.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/cache/MethodNodeCache.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/cache/NodeCache.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/cache/NodeCache.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/env/SetupManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/env/SetupManager.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/helpers/ProcessHelper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/helpers/ProcessHelper.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/instructions/FieldHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/instructions/FieldHandler.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/instructions/FrameHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/instructions/FrameHandler.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/instructions/GenericInstructionHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/instructions/GenericInstructionHandler.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/instructions/IincHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/instructions/IincHandler.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/instructions/InsnHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/instructions/InsnHandler.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/instructions/InstructionHandlerContainer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/instructions/InstructionHandlerContainer.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/instructions/InstructionTypeHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/instructions/InstructionTypeHandler.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/instructions/IntHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/instructions/IntHandler.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/instructions/InvokeDynamicHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/instructions/InvokeDynamicHandler.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/instructions/JumpHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/instructions/JumpHandler.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/instructions/LabelHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/instructions/LabelHandler.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/instructions/LdcHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/instructions/LdcHandler.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/instructions/LineNumberHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/instructions/LineNumberHandler.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/instructions/LookupSwitchHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/instructions/LookupSwitchHandler.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/instructions/MethodHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/instructions/MethodHandler.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/instructions/MultiANewArrayHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/instructions/MultiANewArrayHandler.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/instructions/TableSwitchHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/instructions/TableSwitchHandler.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/instructions/TypeHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/instructions/TypeHandler.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/instructions/VarHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/instructions/VarHandler.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/special/ClInitSpecialMethodProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/special/ClInitSpecialMethodProcessor.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/special/DefaultSpecialMethodProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/special/DefaultSpecialMethodProcessor.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/special/SpecialMethodProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/special/SpecialMethodProcessor.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/ASMUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/ASMUtils.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/AntPathMatcher.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/AntPathMatcher.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/Base64Util.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/Base64Util.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/BootstrapMethodsPool.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/BootstrapMethodsPool.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/CatchesBlock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/CatchesBlock.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/ClassMethodFilter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/ClassMethodFilter.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/ConsoleColors.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/ConsoleColors.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/CryptoUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/CryptoUtils.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/DataTool.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/DataTool.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/DecryptorClass.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/DecryptorClass.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/EncodeUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/EncodeUtils.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/FileUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/FileUtils.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/HexUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/HexUtil.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/IOUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/IOUtils.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/InsnBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/InsnBuilder.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/InterfaceStaticClassProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/InterfaceStaticClassProvider.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/LabelPool.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/LabelPool.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/MethodContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/MethodContext.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/Platform.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/Platform.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/Snippets.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/Snippets.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/StringUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/StringUtils.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/TamperUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/TamperUtils.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/Util.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/Util.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/utils/Zipper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/utils/Zipper.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/xml/Config.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/xml/Config.java -------------------------------------------------------------------------------- /src/main/java/cc/nuym/jnic/xml/Match.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/java/cc/nuym/jnic/xml/Match.java -------------------------------------------------------------------------------- /src/main/resources/jni.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuym/j2c/HEAD/src/main/resources/jni.h --------------------------------------------------------------------------------