duangsuse::Echo
719 subscribers
4.27K photos
130 videos
583 files
6.49K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
以下全是 ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, stripped

lib2345_daohang.so:
lib360avmeng-jni-2.1.0.3016.so:
libimagepipeline-mk-2345.so: interpreter /system/bin/linker, BuildID[sha1]=e2a08d5a7576f110381143a12d6da44f2d008bf2
libmarketsec-mk-2345.so: interpreter /system/bin/linker
libsec-mk-2345.so: interpreter /system/bin/linker
libshuametools.so:
libzsencryption-mk-2345.so: interpreter /system/bin/linker
duangsuse::Echo
files.zip
我这里只随便看看 2345 导航的东西:

Billegaldescriptor
debug log
start jniCheckAPP
getPackageName
()Ljava/lang/String;
can't get jstr of getPackageName
can't get packagename from jstring
this app is illegal
getPackageManager
()Landroid/content/pm/PackageManager;
can't get obj of getPackageManager
getPackageInfo
(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
can't get obj of package_info
signatures
[Landroid/content/pm/Signature;
can't get jobjectArray of signatures
can't get obj of signature
hashCode
can't get hash_code of signature
this app hash_code of signature is %d
com/daohang2345/DaohangApplication
RegisterNatives failed
JNI_ONload result '%d'
com.daohang2345
jniCheckAPP
(Landroid/content/Context;)I
GCC: (GNU) 4.6 20120106 (prerelease)
gold 1.10
GHex 这个功能用于分析可以说是非常方便了(
irb(main):061:0> flip '0xaabbccdd'
=> "0xddccbbaa"

可以这么做(
填了一下试验
可以看出, 这块区域的数据们是连在一起的(
我要尝试给 debuggable 标签正名,所以必有一点是必须做的:
在这个部分插入翻转后的 DEBUGGABLE_ATTR (0x0101000f)
就是 0x0f000101
我再看看其中有什么关联(

根据我亲手数的结果, minSdkVersion flag 是数组中第 20 个

我猜测是与 name 有联系
接下来尝试验证
这是 resmap id 表
debuggable 的 name 是 129
0x70020101 (targetSdkVersion flag) 是数组中第 26
所以接下来我会调试 axmleditor 来获得 targetSdkVersion 的更多信息
数组的第 `26` 个是 targetSdkVersion.
但是, debuggable 居然是 string pool 中的第 129 个, 这意味着如果我要暴力添加到 129 个的话.... 累死, 否则就要动手写代码, 我可不希望花费额外的时间.
duangsuse::Echo
但是, debuggable 居然是 string pool 中的第 129 个, 这意味着如果我要暴力添加到 129 个的话.... 累死, 否则就要动手写代码, 我可不希望花费额外的时间.
duangsuse 想到了一个办法:
直接在数组后面增加一项 debug flag
然后直接把原引用 debuggable 的字符串改到相应的字符串
不过担心这样可能不能成功

于是又一个办法:
尝试交换 debuggable 与某方便添加的 string, 然后更新其引用

因为不同 API level 的 Android 对 axml 处理都基本一样, 如果第一个方法成功, duangsuse 就直接开始下一步工作了