异或运算有以下三个性质。

img

方式一

1
2
./gradlew :模块名:dependencies  --scan 
./gradlew :模块名:dependencies > xx.log

方式二

输入:

1
./gradlew build --scan

出现

img

输入yes

生成网址:

img

点击网站查看

方式三

使用 Gradle Project

img

1
apksigner verify  -v  文件路径

人工简单查看

  1. 解压 apk/META-INF/,找到 .SF文件,(一般是 CERT.SF 文件 ),如果不存在说明不存在 v1 签名。

  2. 解压apk/META-INF/XXXX.SF(如CERT.SF,不是MANIFEST.SF),查看开始部分,如果不包含X-Android-APK-Signed字样则为v1, 如:

1
2
3
4
Signature-Version: 1.0
SHA1-Digest-Manifest-Main-Attributes: NdvTTYSDLv+xfCdISs2OUVv3OXY=
Created-By: 1.6.0_37 (Sun Microsystems Inc.)
SHA1-Digest-Manifest: sN1jczINBspGueVoYodPfvNRYKA=
  1. 包含X-Android-APK-Signed字样,则冒号后面跟的版本就是签名版本,如下面是v1和v2版本
1
2
3
4
Signature-Version: 1.0
Created-By: 1.0 (Android)
SHA1-Digest-Manifest: EsSraWdS5nUZen7L+SDZDNTr230=
X-Android-APK-Signed: 2
  1. 包含X-Android-APK-Signed字样,则冒号后面跟的版本就是签名版本,如下面是v2和v3版本
1
2
3
4
Signature-Version: 1.0
Created-By: 1.0 (Android)
SHA1-Digest-Manifest: EsSraWdS5nUZen7L+SDZDNTr230=
X-Android-APK-Signed: 2, 3
阅读全文 »

  • jadx
1
jadx-gui
  • jdgui
1
jdgui
  • proguard
1
proguardgui.sh
  • addr2line
1
2
3
set(CMAKE_BUILD_TYPE Debug)
addr2line -e libxxx.so 0x#####(地址)
addr2line_20 -e libxxx.so 0x#####(地址)
  • ndk-stack

    Usage: ndk-stack -sym PATH [-dump PATH]
    Symbolizes the stack trace from an Android native crash.

    -sym PATH sets the root directory for symbols
    -dump PATH sets the file containing the crash dump (default stdin)

    See https://developer.android.com/ndk/guides/ndk-stack.html.

1
2
3


adb logcat | ndk-stack -sym ${so文件所在文件夹} > ~/Desktop/crash.log

  • ⌥ +鼠标移动 (选择所有行)
  • ⌥ +⇧+ 鼠标移动(选择指定行)
  • ⌘ +⌥ +Q 切换预览视图or编辑模式 (利于阅读源码注释文档)
  • ⌥ + ⌘ + T surround with 快捷键
0%