美文网首页
Ubuntu20.04反编译工具安装和使用

Ubuntu20.04反编译工具安装和使用

作者: DarcyZhou | 来源:发表于2023-05-17 10:52 被阅读0次

"本文转载自:APK反编译工具在ubuntu的安装及使用"

1.获取编译工具

  (1)反编译需要用到的三种工具和其作用如下说明:

  • apktool:获取APK资源文件(图片和布局文件);

  • dex2jar:将APK反编译成源代码 ;

  • jd-gui:查看APK中源代码文件。

  (2)反编译工具

2.配置环境

  下载解压后将目录放在/home/user/目录下,jd-gui需要进行安装,命令:

dpkg -i jd-gui_1.4.0-0_all.deb

  最后在在.bashrc中进行环境配置:执行 vim ~/.bashrc

# for apktool
export ANDROID_APKTOOL_PATH=/home/user/apktool-install-linux
export PATH=$ANDROID_APKTOOL_PATH:$PATH
# for dex2jar
dex2jar(){ sh /home/user/apktool-install-linux/dex2jar/dex2jar.sh "$1";}
# for jd-jui
jd-gui(){ java -jar /opt/jd-gui/jd-gui.jar "$1";}

  修改后执行:source ~/.bashrc

3.使用方法

  在终端执行如下命令:

apktool d xxx.apk    -->得到apk资源文件
mv xxx.apk xxx.zip   -->APK后缀名改为.zip
unzip -r xxx.zip    -->解压得到classes.dex
dex2jar classes.dex     -->得到classes_dex2jar.jar
jd-gui classes_dex2jar.jar  -->得到apk源代码

4.问题

(1)执行:dex2jar classes.dex,出现dex2jar版本不对的问题

安装其他版本的dex2jar,如下路径获取资源:

https://github.com/pxb1988/dex2jar/releases

(2)执行:jd-gui classes_dex2jar.jar,出现如下错误:

Exception in thread "main" java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper
        at java.awt.Toolkit.loadAssistiveTechnologies(Toolkit.java:807)
        at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:886)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)
        at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:1845)
        at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:3735)
        at org.codehaus.groovy.runtime.callsite.ClassMetaClassGetPropertySite.getProperty(ClassMetaClassGetPropertySite.java:48)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:291)
        at org.jd.gui.service.configuration.ConfigurationXmlPersisterProvider.load(ConfigurationXmlPersisterProvider.groovy:51)
        at org.jd.gui.service.configuration.ConfigurationPersister$load.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
        at org.jd.gui.App.main(App.groovy:27)

解决方法:

cd /usr/lib/jvm/java-8-openjdk-amd64/jre/lib
sudo chmod 777 accessibility.properties
vim accessibility.properties
-------------------
注释掉:
# assistive_technologies=org.GNOME.Accessibility.AtkWrapper

相关文章

网友评论

      本文标题:Ubuntu20.04反编译工具安装和使用

      本文链接:https://www.haomeiwen.com/subject/clrisdtx.html