package com.tcms.order.test; import java.io.File; import java.io.IOException; import java.util.List; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; public class RemoveContentUtil { private static String regex = "\\/\\*[\\p{ASCII}]*?\\*\\/\\s?"; //反编译后的java文件目录 private static String directory = "D:\\software\\cores"; private static String newDirectory = ""; /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { start(); } public static void start() throws IOException{ File folder = new File(directory); directory = folder.getCanonicalPath(); File parentFolder = folder.getParentFile(); newDirectory = parentFolder.getCanonicalPath() + "\\" + folder.getName() + System.currentTimeMillis() + "\\"; File[] files = folder.listFiles(); loopFile(files); } public static void loopFile(File[] files) throws IOException{ if(files == null){ return; } for(File f : files){ if(f.isFile()){ if(f.getName().endsWith(".java")){ removeContent(directory, newDirectory, f, true); }else{ removeContent(directory, newDirectory, f, false); } }else{ loopFile(f.listFiles()); } } } public static void removeContent(String oldDir, String newDir, File file, boolean remove) throws IOException{ List<String> lines = FileUtils.readLines(file); String relocationString = relocationLineNumber(lines); String newContent = remove ? relocationString.replaceAll(regex, "") : relocationString; File newFile = new File(file.getCanonicalPath().replace(oldDir, newDir)); FileUtils.writeStringToFile(newFile, newContent); } public static String relocationLineNumber(List<String> lines){ int currentLine = 0; StringBuilder content = new StringBuilder(); for(String line : lines){ currentLine++; int num = readLineNumber(line); if(num != -1){ while(currentLine < num){ currentLine++; content.append(IOUtils.LINE_SEPARATOR); } } content.append(line).append(IOUtils.LINE_SEPARATOR); } //IOUtils.LINE_SEPARATOR; return content.toString(); } private static int readLineNumber(String line){ int start = line.indexOf("/*"); int end = line.indexOf("*/"); if(start > -1 && end > start){ //check is annotation String left = line.substring(end + 2).trim(); if(left.startsWith("@")){ return -1; } String linNum = line.substring(start + 2, end).trim(); try{ return Integer.parseInt(linNum); }catch(NumberFormatException e){ return -1; } } return -1; } }
相关推荐
需要通过jd-gui反编译的代码保存为zip文件。该工具可以把通过制定文件夹把文件夹里的反编译zip文件转换到制定的输出的文件夹里。在debug的时候就可以关联到转换后的反编译源码。 包含两部分: 1. checkLineNumber....
清除jd-gui反编译后注释的工具 图形界面操作方便,在java环境下双击jd-gui-cleaner.jar运行后,先点input,选择源文件文件夹,再点output,选择输出文件文件夹,最后点start运行,运行后会将所有源文件夹中的文件...
jd-gui-cleaner 清除jd-gui反编译后注释的工具图形界面,操作方便在java环境下双击运行运行后,先点input,选择源文件文件夹,再点output,选择输出文件文件夹,最后点start运行。运行后会将所有源文件夹中的文件...
清除jd-gui反编译后注释的工具 图形界面,操作方便 在java环境下双击运行 运行后,先点input,选择源文件文件夹,再点output,选择输出文件文件夹,最后点start运行。 运行后会将所有源文件夹中的文件处理后保存到...
清除jd-gui反编译后注释的工具 图形界面,操作方便 在java环境下双击运行 运行后,先点input,选择源文件文件夹,再点output,选择输出文件文件夹,最后点start运行。 运行后会将所有源文件夹中的文件处理后保存到...
这是一个好用的java class反编译工具,可以把java 字节码文件反编译成为java源文件。是一个图形界面工具
Java .Class源文件反编译解析工具,
对apk文件进行反编译,得到源代码文件.并且可以使用gui工具进行查看源代码!
Java反编译软件jd-gui,点击class字节码文件即可反编译成.java源文件
jd-gui-cleaner 清除jd-gui反编译后注释的工具图形界面,操作方便在java环境下双击运行运行后,先点input,选择源文件文件夹,再点output,选择输出文件文件夹,最后点start运行。运行后会将所有源文件夹中的文件...
java反编译工具 工具:jd-gui-windows 版本:1.4 作用:将java编译后的class文件反编译为java源文件
反编译过程中,会在程序目录生成执行文件,反编译结束后会自动删除。 在测试过程中,发现海岛大亨解包出来的某些lua文件在反编译过程中会比较慢(cmd下执行unluac同样的情况) 导致程序看起来似乎假死,但是实际还...
java反编译工具(jd-gui)是一款非常出色的电脑端java反编译工具。java反编译工具(jd-gui)拥有十分出色的反编译效率,能够有效提升整体工作的效率,节省更多时间,操作起来也相对简单,轻松进行反编译。 java反编译...
把.apk文件改名为.zip,然后解压缩,得到其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件 2.把classes.dex拷贝到dex2jar.bat所在目录。 ...
反编译过程中,会在程序目录生成执行文件,反编译结束后会自动删除。 在测试过程中,发现海岛大亨解包出来的某些lua文件在反编译过程中会比较慢(cmd下执行unluac同样的情况) 导致程序看起来似乎假死,但是实际还...
1、打开一个或者多个*.class文件,XJad反编译后,重命名为*.java文件, 保存至当前文件夹,并在编辑器中打开查看; 2、打开一个文件夹,XJad将该文件夹下所有*.class文件进行反编译,并保存至该文件夹下, 依据包...
当我们编写完成一个java类后,运行结果会得到一个class文件,这种二进制文件如果用普通记事本打开,就会出现各种乱码现象,令人十分头疼,当我们要查看.class文件的源代码时,可以通过反编译工具jd-gui实现。...
1、打开一个或者多个*.class文件,XJad反编译后,重命名为*.java文件,保存至当前文件夹,并在编辑器中打开查看; 2、打开一个文件夹,XJad将该文件夹下所有*.class文件进行反编译,并保存至该文件夹下,依据包路径...
jd-gui是一个用于Java编程语言源代码“.class”文件反编译软件。 1、打开一个或者多个*.class文件,XJad反编译后,重命名为*.java文件,保存至当前文件夹,并在编辑器中打开查看; 2、打开一个文件夹,XJad将该...
jd-gui提供图形化界面打开java编译的.class后缀文件,将它反编译成java源文件信息,如下图所示