最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【部分解决】把jadx和jadx-gui放到Mac的应用程序和LaunchPad中实现点击图标启动JadxGUI

Mac crifan 2152浏览 0评论
折腾:
【已解决】用jadx把安卓dex文件转换提取出jar包和java源代码
后,因为之前其他类似工具,比如JD-GUI,Luyten等,都是可以直接点击Launchpad
中的图标启动的:
此处希望也能把jadx弄成这种。
能想到的就是:
把jadx(和jadx-gui)放到Mac的应用程序中去
-》这样Launchpad中就自动出现图标,可供点击了。
去尝试把jadx和jadx-gui两个命令行工具,放到Mac中的Applications应用程序中
➜  bin ll
total 48
-rwxr-xr-x@ 1 crifan  staff   5.5K  2 12 09:26 jadx
-rwxr-xr-x@ 1 crifan  staff   6.0K  2 12 09:26 jadx-gui
-rwxr-xr-x@ 1 crifan  staff   3.1K  2 12 09:26 jadx-gui.bat
-rwxr-xr-x@ 1 crifan  staff   2.5K  2 12 09:26 jadx.bat
➜  bin pwd
/Users/crifan/dev/dev_tool/android/reverse_engineering/jadx/jadx-0.9.0/bin
➜  bin ll
total 48
-rwxr-xr-x@ 1 crifan  staff   5.5K  2 12 09:26 jadx
-rwxr-xr-x@ 1 crifan  staff   6.0K  2 12 09:26 jadx-gui
-rwxr-xr-x@ 1 crifan  staff   3.1K  2 12 09:26 jadx-gui.bat
-rwxr-xr-x@ 1 crifan  staff   2.5K  2 12 09:26 jadx.bat
➜  bin ln -s /Users/crifan/dev/dev_tool/android/reverse_engineering/jadx/jadx-0.9.0/bin/jadx /usr/local/bin/jadx
➜  bin ln -s /Users/crifan/dev/dev_tool/android/reverse_engineering/jadx/jadx-0.9.0/bin/jadx-gui /usr/local/bin/jadx-gui
➜  bin ll /usr/local/bin/jadx*
lrwxr-xr-x  1 crifan  admin    79B  4  3 13:41 /usr/local/bin/jadx -> /Users/crifan/dev/dev_tool/android/reverse_engineering/jadx/jadx-0.9.0/bin/jadx
lrwxr-xr-x  1 crifan  admin    83B  4  3 13:41 /usr/local/bin/jadx-gui -> /Users/crifan/dev/dev_tool/android/reverse_engineering/jadx/jadx-0.9.0/bin/jadx-gui
在直接把 应用程序 拖动到iTerm2
中后:
➜  /Applications pwd
/Applications
➜  /Applications ls /
Applications              Users                     data                      home                      private                   var
Library                   Volumes                   dev                       installer.failurerequests sbin
Network                   bin                       etc                       net                       tmp
System                    cores                     file                      opt                       usr
接着去拷贝:
➜  bin cp /usr/local/bin/jadx /Applications
➜  bin cp /usr/local/bin/jadx-gui /Applications
但是运行jadx-gui出错:
Last login: Wed Apr  3 13:43:13 on ttys010
/Applications/jadx-gui ; exit;
➜  ~ /Applications/jadx-gui ; exit;
错误: 找不到或无法加载主类 jadx.gui.JadxGUI

[进程已完成]
所以是找不到类库
去看看jadx-gui的内容:
-》很明显是:
先去用pwd获取当前目录,然后根据当前目录下的libs,去找依赖的各种库,包括jadx-gui-0.9.0.jar等等。
-》所以这种直接把脚本放到Applications中的做法是行不通的
-》想到了,可以参考之前的procyon-decompiler:
【无法解决】用Procyon导出某个jar包中指定的包名的代码
去制参考:
➜  bin git:(master) ✗ cat procyon-decompiler
#!/bin/bash
exec java  -jar /usr/local/Cellar/procyon-decompiler/0.5.30/libexec/procyon-decompiler-0.5.30.jar "$@"
作一个脚本,或许就可以了。
去试试:
➜  bin vi JadxGUI
➜  bin cat JadxGUI
#!/bin/bash
/Users/crifan/dev/dev_tool/android/reverse_engineering/jadx/jadx-0.9.0/bin/jadx-gui "$@"
➜  bin chmod +x JadxGUI
➜  bin ll
total 56
-rwxr-xr-x  1 crifan  staff   101B  4  3 13:55 JadxGUI
-rwxr-xr-x@ 1 crifan  staff   5.5K  2 12 09:26 jadx
-rwxr-xr-x@ 1 crifan  staff   6.0K  2 12 09:26 jadx-gui
-rwxr-xr-x@ 1 crifan  staff   3.1K  2 12 09:26 jadx-gui.bat
-rwxr-xr-x@ 1 crifan  staff   2.5K  2 12 09:26 jadx.bat
➜  bin cp /Users/crifan/dev/dev_tool/android/reverse_engineering/jadx/jadx-0.9.0/bin/JadxGUI /Applications/JadxGUI
结果是:
应用程序中是有图标了:
也可以点击启动了:
-》其中启动jadx-gui后,自动弹出打开文件的窗口,看来是因为脚本中加上了”$@”参数导致的。
也正是希望的,或者说 可以接受的效果。
-》但是LaunchPad中却还是没有出现图标。
问题转化为:
【未解决】Mac中如何把一个script脚本放到LaunchPad启动台中支持点击图标启动
然后是:
  • 解决了应用程序中出现app:
    • 【已解决】Mac中把一个shell script命令行脚本制作成一个app应用
  • 但是没有解决LaunchPad中出现app
    • 【未解决】Mac中如何把一个script脚本放到LaunchPad启动台中支持点击图标启动

转载请注明:在路上 » 【部分解决】把jadx和jadx-gui放到Mac的应用程序和LaunchPad中实现点击图标启动JadxGUI

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
82 queries in 0.198 seconds, using 22.08MB memory