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
This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
demangler 实际上是为了解决 proguard 对类移动/更名的操作带来的麻烦 现在的 Java/Kotlin 应用会使用各种类库, 这些类库大部分都是开源的, 且受到版本控制 可以随意获取任意时段的代码 -repackageclasses -repackageclasses 这条规则配置特别强大,它可以把你的代码以及所使用到的各种第三方库代码统统移动到同一个包下,可能有人知道这条配置,但仅仅知道它还不能发挥它最大的作用,默认情况下,你只要在 rules 文件中写上 -repackageclasses…
总结来说就是从类池子里寻找一些类并更新/移动他们的工具

但是怀疑可能递归检查类映射时有一个问题(也有可能是因为我不了解 Java 造成的)
有没有可能两个类定义互相引用呢? (编译时后 运行时前)

比如:

class A {
B var;
A(B v) { var = v; }
}

class B {
A var;
B(A v) { var = v; }
}


或者

class A {
A() {}
public static void simple(B val) {
return val;
}
}

class B {
B() {}
public static void simple(A val) {
return val;
}
}
This media is not supported in your browser
VIEW IN TELEGRAM
XD 知道了, 看来得再想办法才行
duangsuse::Echo
XD 知道了, 看来得再想办法才行
这个例子貌似会导致 A 和 B 都无法实例化出对象 🙈
但是如果可以循环引用就会导致递归类相等性判断出现问题(和死锁一样?
(但是, 也得想想办法解决这个问题)
或许可以直接判断为不相等但提示吧? XD
毕竟是少数
#reveng #recommend https://bitbucket.org/JesusFreke/smali/
其中含有 smali IDEA 调试插件 smalidea
😄 smali dalao
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from iVanilla 自然科学 & 神秘学实验研究部 (iVanilla)
论怎样教小白搜索
Forwarded from dnaugsuz
`W: /home/dse/reveng/tantan-2.9.8.1_174/./AndroidManifest.xml:372: Tag <provider> attribute name has invalid character '�'.
W: /home/dse/reveng/tantan-2.9.8.1_174/./AndroidManifest.xml:397: Tag <provider> attribute name has invalid character '�'.
Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException: could not`

非常正常
Forwarded from dnaugsuz
dse@susepc:~/reveng/tantan-2.9.8.1_174$ apktool b .
I: Using Apktool 2.3.1-dirty
I: Checking whether sources has changed...
I: Checking whether sources has changed...
I: Checking whether resources has changed...
I: Building resources...
I: Copying libs... (/lib)
I: Building apk file...
I: Copying unknown files/dir...
Forwarded from dnaugsuz
/home/dse/reveng/tantan-2.9.8.1_174/./AndroidManifest.xml:372: Tag <provider> attribute name has invalid character '�'.

line 372 now
<provider android:authorities="com.p1.mobile.putong.account.provider" android:exported="false" android:name=".api.push.keep.AccountDaemon$invalid" android:syncable="true"/>

W: /home/dse/reveng/tantan-2.9.8.1_174/./AndroidManifest.xml:397: Tag <provider> attribute name has invalid character '�'.

line 397 now

<provider android:authorities="files.com.p1.mobile.putong" android:exported="false" android:grantUriPermissions="true" android:name="l.invalid">
Forwarded from dnaugsuz
我相应的修改一下引用
Forwarded from dnaugsuz
Forwarded from dnaugsuz
      E: provider (line=954)
A: android:name(0x01010003)=".api.push.keep.AccountDaemon$ˋ" (Raw: ".api.push.keep.AccountDaemon$ˋ")
A: android:exported(0x01010010)=(type 0x12)0x0
A: android:authorities(0x01010018)=@0x7f09066b
A: android:syncable(0x01010019)=(type 0x12)0xffffffff

防止重打包! 坏!

      E: provider (line=1065)
A: android:name(0x01010003)="l.ニ" (Raw: "l.ニ")
A: android:exported(0x01010010)=(type 0x12)0x0
A: android:authorities(0x01010018)="files.com.p1.mobile.putong" (Raw: "files.com.p1.mobile.putong")
A: android:grantUriPermissions(0x0101001b)=(type 0x12)0xffffffff

清真标签
Forwarded from dnaugsuz
dse@susepc:~/reveng/tantan-2.9.8.1_174/lib/armeabi-v7a$ grep ˋ *
匹配到二进制文件 libBaiduMapSDK_base_v4_5_2.so
匹配到二进制文件 libimagepipeline.so
匹配到二进制文件 libsqlite3x.so
匹配到二进制文件 libvideokit.so
dse@susepc:~/reveng/tantan-2.9.8.1_174/lib/armeabi-v7a$ grep l.ニ *
dse@susepc:~/reveng/tantan-2.9.8.1_174/lib/armeabi-v7a$ grep .api.push.keep.AccountDaemon$ˋ *

我感觉 native 不用管了
Forwarded from dnaugsuz
dse@susepc:~/reveng/tantan-2.9.8.1_174/smali$ grep -r l.ニ .
./l/ニ$ˋ.smali:.class interface abstract Ll/ニ$ˋ;
-- snip --


cd ../smali_classes2/

dse@susepc:~/reveng/tantan-2.9.8.1_174/smali_classes2$ grep -r l.ニ .
dse@susepc:~/reveng/tantan-2.9.8.1_174/smali_classes2$ grep -r .api.push.keep.AccountDaemon$ˋ .
./com/p1/mobile/putong/api/push/keep/AccountDaemon$ˋ.smali:.class public Lcom/p1/mobile/putong/api/push/keep/AccountDaemon$ˋ;
./com/p1/mobile/putong/api/push/keep/AccountDaemon.smali: Lcom/p1/mobile/putong/api/push/keep/AccountDaemon$ˋ;,


OK