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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
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 就直接开始下一步工作了
duangsuse 决定是这个 roundIcon 了!
先添加 flag
🌚