duangsuse::Echo
最后的最后,我们还需要做的就是防止反编译者重新打包,全方位绝人之路呀,能做的就是在代码中加入签名验证,并做双向依赖。关于此我写过一个类似阿里黑匣子的东西,能够在 native 检查签名和加解密内容,后续也有计划整理开源,这里暂且就不多说了。
事实证明
Native 验证逻辑证明: https://t.me/dsuse/3607 (Native 方法调用了
JVM 验证逻辑证明:https://t.me/dsuse/3639
对 Native 代码的依赖:https://t.me/dsuse/3090 (Java_com_drakeet_rebase_tool_JPEGs_getLocalUrl)
Native 中保存了一些加密的数据:https://t.me/dsuse/3090 (同上)
纯纯写作 的确使用了 Native(C++) 和 JVM 语言(Java/Kotlin) 编写了验证逻辑, 并且非托管代码和托管代码也互相依赖Native 验证逻辑证明: https://t.me/dsuse/3607 (Native 方法调用了
android.content.pm.PackageManager API)JVM 验证逻辑证明:https://t.me/dsuse/3639
对 Native 代码的依赖:https://t.me/dsuse/3090 (Java_com_drakeet_rebase_tool_JPEGs_getLocalUrl)
Native 中保存了一些加密的数据:https://t.me/dsuse/3090 (同上)
Telegram
duangsuse Echo
## trace thread <1> main (running suspended)
-- com.drakeet.purewriter.Ww.WwWvw()V:0
-- com.drakeet.purewriter.AboutActivity.onDestroy()V:0
-- this=Lcom/drakeet/purewriter/AboutActivity; <830059138752>
-- android.app.Activity.performDestroy()V:13…
-- com.drakeet.purewriter.Ww.WwWvw()V:0
-- com.drakeet.purewriter.AboutActivity.onDestroy()V:0
-- this=Lcom/drakeet/purewriter/AboutActivity; <830059138752>
-- android.app.Activity.performDestroy()V:13…
duangsuse::Echo
最后的最后,我们还需要做的就是防止反编译者重新打包,全方位绝人之路呀,能做的就是在代码中加入签名验证,并做双向依赖。关于此我写过一个类似阿里黑匣子的东西,能够在 native 检查签名和加解密内容,后续也有计划整理开源,这里暂且就不多说了。
不得不承认为了部分解决重打包的问题我还吃了不少苦头(
甚至手动修改 Android 二进制 AXML 文件, 手工修复无 resources 解码的 apktool 项目
不过这对我来说也是一种提升, 调试 AXMLEditor 的过程中我又看了不少代码, 这正是我缺少的东西
使用 AndBug 调试 JVM 应用的时候我也提升了自己的调试技能
甚至手动修改 Android 二进制 AXML 文件, 手工修复无 resources 解码的 apktool 项目
不过这对我来说也是一种提升, 调试 AXMLEditor 的过程中我又看了不少代码, 这正是我缺少的东西
使用 AndBug 调试 JVM 应用的时候我也提升了自己的调试技能
我们对这个 Base64 石更编码的字符串进行解码:(石更 广我的 MinBase64, 虽然代码质量几乎没有, 见笑了XD 毕竟一年前的东西)
(其实我使用 FooShell 对代码进行 eval)
同时,duangsuse 还学到了一个新分析方法:
(其实我使用 FooShell 对代码进行 eval)
new String(android.util.Base64.decode("5qOA5p+l5Yiw5L2g5q2j5Zyo5L2/55So56C06Kej54mI57qv57qv5YaZ5L2c77yaCue6r+e6r+WG\nmeS9nOmrmOe6p+eJiOS4gOasoeaAp+aUtui0uSAxMyDlhYPvvIzmsLjkuI3lho3mlLbotLnvvIzo\ngIzkuJTku7fmoLzmsLjov5zlj6rmtqjkuI3pmY3jgILmiYDosJPnmoTpq5jnuqfniYjlhoXlrrnm\nnInvvJroh6rlrprkuYnnqL/nurjog4zmma/lkowgTWFya2Rvd24g6aKE6KeI44CB5Y+m5a2Y5Li6\n44CC5LuF5q2k44CCCumZpOatpOS5i+Wklu+8jOe6r+e6r+WGmeS9nOS4jeWGjeiuvue9ruacieS7\nu+S9lemZkOWItu+8jOiAjOS4lOmrmOe6p+eJiOWGheWuueWQjue7reS5n+S4jeS8muWinuWKoO+8\njOS4jeaWreabtOaWsOeahOWKn+iDveS5n+mDveS8muaYr+WFjei0ueeahO+8jOS5i+aJgOS7pei/\nmeS5iOWBmuaYr+WboOS4uuaIkeS4jeWWnOasouWkhOWkhOmZkOWItueUqOaIt++8jOabtOW4jOac\nm+eUqOaIt+WboOS4uui/meS4qui9r+S7tuaVtOS9k+WBmuW+l+W+iOWlveiAjOi0reS5sOmrmOe6\np+eJiOWGheWuueS7peaUr+aMgee6r+e6r+WGmeS9nOeahOS4jeaWreabtOaWsOe7tOaKpOOAggoK\n54S26ICM5L2g5Y205Zyo56C05Z2P6L+Z5Liq5bqU55So77yM44CQ55uX54mI5bCG5LiN6IO95Y2z\n5pe26I635b6X5pu05paw77yM5b6I5Y+v6IO95a2Y5Zyo5paH56ug5Lii5aSx6aOO6Zmp44CR77yM\n6K+35oKo6LSt5Lmw5q2j54mI77yM6LCi6LCi77yB\n", 0))同时,duangsuse 还学到了一个新分析方法:
trap android.util.Base64.decode(Ljava/lang/String)[B刚才听歌的时候发现了一些不错的歌声合成引擎
http://www.sharpkey.net/
http://www.ai-muta.com/
做得不错, 开源与否我大概不清楚(90% 不开源, 且只支持 Windows)
如果好用的话, 这些还没出道的虚拟歌手创建亚种非常适合给 GeekApk 娘配音 😄
http://www.sharpkey.net/
http://www.ai-muta.com/
做得不错, 开源与否我大概不清楚(90% 不开源, 且只支持 Windows)
如果好用的话, 这些还没出道的虚拟歌手创建亚种非常适合给 GeekApk 娘配音 😄