linux内置命令反编译 linux反汇编命令

linux 反编译下的apk报毒怎么处理

2、反编译过程

成都创新互联长期为数千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为永济企业提供专业的成都网站制作、成都网站设计,永济网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。

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中反编译java源代码

之前看同事使用JD-GUI来反编译java

.class文件,觉得很爽,不过一直以来也没有再次接触到这个问题,所以也没有对这个工具进行深入的了解。

今天无聊看了些技术文档,忽然想起这个工具来,上网一找。呼呼果真也有Linux的版本。

不过我网上资料显示主页上下载的gz包是32位的程序,我在64位的Fedora

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下反编译dll文件

linux反编译dll?

dll文件只用在win下吧。linux用.so文件。

更何况DLL的很多文件库使用的win的函数或头文件。

反编译都不会很好处理,无论是win还是linux。


当前文章:linux内置命令反编译 linux反汇编命令
新闻来源:http://hbruida.cn/article/dopjiss.html