duangsuse::Echo
demangler 实际上是为了解决 proguard 对类移动/更名的操作带来的麻烦 现在的 Java/Kotlin 应用会使用各种类库, 这些类库大部分都是开源的, 且受到版本控制 可以随意获取任意时段的代码 -repackageclasses -repackageclasses 这条规则配置特别强大,它可以把你的代码以及所使用到的各种第三方库代码统统移动到同一个包下,可能有人知道这条配置,但仅仅知道它还不能发挥它最大的作用,默认情况下,你只要在 rules 文件中写上 -repackageclasses…
总结来说就是从类池子里寻找一些类并更新/移动他们的工具
但是怀疑可能递归检查类映射时有一个问题(也有可能是因为我不了解 Java 造成的)
有没有可能两个类定义互相引用呢? (编译时后 运行时前)
比如:
或者
但是怀疑可能递归检查类映射时有一个问题(也有可能是因为我不了解 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;
}
}#reveng #recommend https://bitbucket.org/JesusFreke/smali/
其中含有 smali IDEA 调试插件
😄 smali dalao
其中含有 smali IDEA 调试插件
smalidea😄 smali dalao
duangsuse::Echo
最后的最后,我们还需要做的就是防止反编译者重新打包,全方位绝人之路呀,能做的就是在代码中加入签名验证,并做双向依赖。关于此我写过一个类似阿里黑匣子的东西,能够在 native 检查签名和加解密内容,后续也有计划整理开源,这里暂且就不多说了。
刚刚解决了一个 apktool 重打包错误的(
完美运行,就是高级资源混淆而已
连签名验证都没有 😅 (没错还在乱玩
完美运行,就是高级资源混淆而已
连签名验证都没有 😅 (没错还在乱玩
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`
非常正常
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
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