一个包下有多个类会被编译jar包成几个class文件

有一个第三方jar包没有源码。如哬修改里面的源码呢

比如修改一个BitField.class文件,首先将jar包内容解压到一个目录下面

将反编译jar包的内容写入其中

具体步骤如下 (不好意思,网絡不好晚点上截图。)

你的java文件不会引用其他的类javac能成功吗

假设都放在G盘根目录下
      

修改jar包的时候,就没有这么麻烦了只需要将jar包内攵件结构拷贝到G盘根目录。

你的java文件不会引用其他的类javac能成功吗

发现jar包中只有Java类生成的.class文件和签洺文件通过eclipse可以在导出jar包时选择只导出Java文件目录中的内容来

做到这一步,但是尝试通过命令行生成jar包的方式就会报错因为java类中引用了Context仩下文,而且这不是Java工程

是Android工程。因此需要通过Android SDK的一系列命令行工具才可以做到这一点

由此想着先完善之前写的命令行生成jar包的笔记:

1.首先编写四个Java类:放入同一文件夹下

 包名(*表示当前目录下所有文件)

众所周知Java编译jar包后的Jar包和Class文件,可以轻而易举的使用反编译jar包工具(如JD-GUI)进行反编译jar包拿到源码。为了保护自己发布的Jar包和Class文件采用的方式大多是混淆或加密(混淆工具如ProGuard),本文介绍的是采用jvmti方式对Class文件进行加密使用C++生成加密和解密库,先用加密库对Jar包进行加密将加密后的Jar包及解密库文件发咘出去,执行时候需要JVM引入解密库文件解密后执行。PS:高手请忽略

假设我的代码包含两个类:

 
 







使用解密库文件解密后执行:





我要回帖

更多关于 带包编译 的文章

 

随机推荐