如何在Linux中反编译java源代码之前看同事使用JD-GUI来反编译java
.class文件,觉得很爽,不过一直以来也没有再次接触到这个问题 , 所以也没有对这个工具进行深入的了解 。
今天无聊看了些技术文档,忽然想起这个工具来,上网一找 。呼呼果真也有Linux的版本 。
不过我网上资料显示主页上下载的gz包是32位的程序,我在64位的Fedora
【linux反编译命令文件 linux 反编译】12下可能有些问题,程序在运行时会调用不到关键的32位库而失败 。幸运的是只要安装几个包即可:
yum install
libcanberra-gtk2.i686 PackageKit-gtk-module.i686
gtk2-engines.i686
下载后:
tar -xzvf
jd-gui-0.3.2.linux.i686.tar.gz
sudo mv jd-gui
/usr/local/bin
至此jd-gui便可以在linux下运行,对于class或者jar文件都可以使用这个工具打开查看反编译源码
转载,仅供参考 。
linux 反编译下的apk报毒怎么处理2、反编译过程
1)反编译出资源文件
使用apktool工具 , 进入apktool所在的目录下,使用如下的命令:
./apktool d ./xxx.apk(apk所在的路径)
d表示decode,在当前目录下就会生成一个名为xxx的目录,里面就是反编译出来的各种资源文件,其中res表示资源文件,smali表示源代码,不过是字节码,不能直接查看 。
以本人的实验为例子,如下图所示:
此时会在当前目录下生成一个目录app-debug 。
2)源代码的反编译
a)因为apk文件其实是使用zip进行打包压缩生成的文件 , 所以先把xxx.apk文件改名为xxx.zip文件,并对其进行解压 。
b)进入解压后的目录,其中有一个classes.dex文件 , 这个文件就是java文件编译再通过dx工具打包而成的,源代码就包含在这个文件中 。
c)把前一步生成的文件classes.dex复制到dex2jar工具的根目录中,并使用如下命令对其进行反编译:
./dex2jar.sh d classes.dex
就会在当前目录下生成一个classes_dex2jar.jar文件
d)点击打开jdgui工具,这是一个图形化的工具,然后打开上上述的classes_dex2jar.jar文件就可以看到apk对应的源代码 。
对于本人的实验如下:
linux apktool怎么使用APKTool是GOOGLE提供的APK编译工具linux反编译命令文件,能够反编译及回编译apklinux反编译命令文件,同时安装反编译系统apk所需要的framework-res框架 , 清理上次反编译文件夹等功能 。需要java支持 。
常见命令:
decode
该命令用于进行反编译apk文件,一般用法为
apktool d file.apk dir
file.apk代表linux反编译命令文件了要反编译的apk文件的路径 , 最好写绝对路径 , 比如C:\MusicPlayer.apk
dir代表了反编译后的文件的存储位置,比如C:\MusicPlayer
如果linux反编译命令文件你给定的dir已经存在,那么输入完该命令后会提示你,并且无法执行,需要你重新修改命令加入-f指令
apktool d –f file.apk dir
这样就会强行覆盖已经存在的文件
build
该命令用于编译修改好的文件,一般用法为
apktool b dir
这里的dir就是刚才你反编译时输入的dir(如C:\MusicPlayer),输入这行命令后,如果一切正常,你会发现C:\MusicPlayer内多了2个文件夹build和dist , 其中分别存储着编译过程中逐个编译的文件以及最终打包的apk文件 。
install
install-framework命令用于为APKTool安装特定的framework-res.apk文件,以方便进行反编译一些与ROM相互依赖的APK文件 。
如何在Linux下反编译dll文件linux反编译dll?
dll文件只用在win下吧 。linux用.so文件 。
更何况DLL的很多文件库使用的win的函数或头文件 。
反编译都不会很好处理,无论是win还是linux 。
linux反编译命令文件的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于linux 反编译、linux反编译命令文件的信息别忘了在本站进行查找喔 。
推荐阅读
- cpu下载缓存有什么用,下载cpu占用
- cpu风扇由什么供电,cpu风扇是什么接口
- 模拟大自然开车视频游戏,模拟大自然游戏手机版
- 无人助眠直播会封号吗吗,ik无人声助眠
- python广播函数 numpy广播运算
- java整合redis,java整合websocket
- chatGPT爱上用户,爱上ins
- oracle表分区导出,oracle分批导出数据
- mysql到期了怎么破解 mysql过期