public JadxDecompiler() { this(new JadxArgs()); }
@Deprecated public static String literalToString(long lit, ArgType type) { return literalToString(lit, type, new StringUtils(new JadxArgs())); }
public static void main(String[] args) throws IOException, DecodeException { if (args.length < 2) { usage(); System.exit(1); } File output = new File(args[0]); List<InputFile> inputFiles = new ArrayList<>(args.length - 1); for (int i = 1; i < args.length; i++) { File f = new File(args[i]); if (f.isDirectory()) { addFilesFromDirectory(f, inputFiles); } else { InputFile.addFilesFrom(f, inputFiles); } } for (InputFile inputFile : inputFiles) { LOG.info("Loaded: {}", inputFile.getFile()); } RootNode root = new RootNode(new JadxArgs()); root.load(inputFiles); ClsSet set = new ClsSet(); set.load(root); set.save(output); LOG.info("Output: {}", output); LOG.info("done"); }
@Before public void init() { JRoot root = mock(JRoot.class); when(root.isFlatPackages()).thenReturn(false); JadxWrapper wrapper = mock(JadxWrapper.class); sources = new JSources(root, wrapper); decompiler = new JadxDecompiler(new JadxArgs()); }
private JadxArgs makeArgs() { JadxArgs args = new JadxArgs(); args.getInputFiles().add(FileUtils.createTempFile("some.apk")); return args; } }
protected JadxArgs prepare(String inputFile) { JadxArgs args = new JadxArgs(); args.getInputFiles().add(new File(getSamplesDir(), inputFile)); args.setOutDir(new File("../jadx-external-tests-tmp")); return args; }
@Test public void testOrder() { List<IDexTreeVisitor> passes = Jadx.getPassesList(new JadxArgs()); List<String> errors = check(passes); for (String str : errors) { LOG.error(str); } assertThat(errors, empty()); }
public IntegrationTest() { args = new JadxArgs(); args.setOutDir(new File(outDir)); args.setShowInconsistentCode(true); args.setThreadsCount(1); args.setSkipResources(true); }
@Test @Ignore public void testExampleUsage() { JadxArgs args = new JadxArgs(); args.getInputFiles().add(new File("test.apk")); args.setOutDir(new File("jadx-test-output")); JadxDecompiler jadx = new JadxDecompiler(args); jadx.load(); jadx.save(); }
public JadxArgs toJadxArgs() { JadxArgs args = new JadxArgs(); args.setInputFiles(files.stream().map(FileUtils::toFile).collect(Collectors.toList())); args.setOutDir(FileUtils.toFile(outDir)); args.setOutDirSrc(FileUtils.toFile(outDirSrc)); args.setOutDirRes(FileUtils.toFile(outDirRes)); args.setThreadsCount(threadsCount); args.setSkipSources(skipSources); args.setSkipResources(skipResources); args.setFallbackMode(fallbackMode); args.setShowInconsistentCode(showInconsistentCode); args.setCfgOutput(cfgOutput); args.setRawCFGOutput(rawCfgOutput); args.setReplaceConsts(replaceConsts); args.setDeobfuscationOn(deobfuscationOn); args.setDeobfuscationForceSave(deobfuscationForceSave); args.setDeobfuscationMinLength(deobfuscationMinLength); args.setDeobfuscationMaxLength(deobfuscationMaxLength); args.setUseSourceNameAsClassAlias(deobfuscationUseSourceNameAsAlias); args.setEscapeUnicode(escapeUnicode); args.setExportAsGradleProject(exportAsGradleProject); args.setUseImports(useImports); return args; }