作者:韩梦飞沙
Author:han_meng_fei_sha
邮箱:313134555@qq.com
E-mail: 313134555 @qq.com
===
==
=============
====
.class反编译
jd-gui
java 编译成 .class
javac HI.java”(javac后面加空格),敲回车,这时如图所示,java文件上方会多出一个class文件(如果没有class文件说明编译不成功)。
this.mActivityToTraceText.addModifyListener(new GLTraceOptionsDialog.5(this));
this.mActivityToTraceText.addModifyListener(new GLTraceOptionsDialog(this));
GLTraceOptionsDialog
===========
No Connected Devices
直接修改 会报错。
=====
jclasslib bytecode viewer
JClassLib
点击软件的 File -- Open Class File 打开你刚解压出来的class文件
4)点击methods--getAllDataBase--Code
methods是表示方法不用说吧
getAllDataBase是刚在jd-gui里面找到的方法名
Code包含了getAllDataBase方法里所有的信息
找到"不能打开数据库连接,请检查!"
----
首先创建一个工程,把刚刚下载jclasslib文件夹下bin目录下jclasslib.jar引入
android studio java工程
android studio run debug configuration
点击菜单栏的“Run”->“Edit Configurations...”。然后会打开Run/Debug Configuration窗口。
没有任何与配置相关的挠文件
no scratch file associated with configuration
导入中文包后编译时出现报错:
报错是没有scratch file(临时文件),然后需要配置scratch file。
先把edit configure窗口关闭,打开工具(tools),选择新建scratch文件:
选java语言
接下来在重新编译,在弹出的edit configuration窗口中的path to scratch file:输入scratch文件路径:(一般可以直接看到,没有就在 X盘\...\.IdeaIC2016\config\scratches\scratch_1)
图片参考图片一,我的设成默认scratch file没法复现过程。
然后是编译成功:
===
Android Gradle 构建目标:org.gradle.工具。
Gradle连接异常:无法创建工具API实现的一个实例 使用指定的 Gradle安装“C:\ \用户管理员\ .gradle \包装\ dist \ Gradle - 3.3 \ 55 gk2rcmfc6p2dg9u9ohc3hw9 \ Gradle - 3.3”。
错误:Android Gradle Build Target: org.gradle.tooling.GradleConnectionException: Could not create an instance of Tooling API implementation using the specified Gradle installation 'C:\Users\Administrator\.gradle\wrapper\dists\gradle-3.3-all\55gk2rcmfc6p2dg9u9ohc3hw9\gradle-3.3'.
只要
然后对这个plugin禁用后,对关联项全钩子去掉,然后重启。
import java.io.*;
import org.gjt.jclasslib.io.ClassFileWriter;
import org.gjt.jclasslib.structures.CPInfo;
import org.gjt.jclasslib.structures.ClassFile;
import org.gjt.jclasslib.structures.constants.ConstantUtf8Info; /**
* Created by Administrator on 2017/8/10.
*/
public class Test {
public static void main(String arg[]) throws Exception{
System.out.println("韩梦飞沙");
String filePath = "D:\\DevicePanel.class";
FileInputStream fis = new FileInputStream(filePath); DataInput di = new DataInputStream(fis);
ClassFile cf = new ClassFile();
cf.read(di);
CPInfo[] infos = cf.getConstantPool(); int count = infos.length;
for (int i = 0; i < count; i++) {
if (infos[i] != null) {
System.out.print(i);
System.out.print(" = ");
System.out.print(infos[i].getVerbose());
System.out.print(" = ");
System.out.println(infos[i].getTagVerbose());
if(i == 236){
ConstantUtf8Info uInfo = (ConstantUtf8Info)infos[i];
uInfo.setBytes("没有连接的设备 no connected device!999".getBytes());
infos[i]=uInfo;
}
}
}
cf.setConstantPool(infos);
fis.close();
File f = new File(filePath);
ClassFileWriter.writeToFile(f, cf);
}
}
=====