Open vangogh0101 opened 1 year ago
牛逼
关于脱壳的问题, 相信很多非安全岗位的小伙伴都不太熟悉。请问是否可以说的更详细一些,或者直接给出脱壳后的dex呢? @vangogh0101 @davinci1010
569d110753d56aec16b81f8394c5b2d8 /data/data/com.xunmeng.pinduoduo/files/.components/com.xunmeng.pinduoduo.AliveBaseAbility/vmp_src/mw1.bin
569d110753d56aec16b81f8394c5b2d8 /data/data/com.xunmeng.pinduoduo/files/bot/alive_base_ability_plugin/6.49.7/mw1.bin
353412bf94ff41261ccbe809c9eff98f /data/data/com.xunmeng.pinduoduo/files/bot/base_secdt_comp_plugin/6.45.0/nw0.bin
what does bot/alive_security_biz_plugin/mw1.bin(AliveStrategyBizComp)
file hash ?
大神能不能手把手小白们,图文教一下怎么manwe、nvwa保护脱壳成dex文件?
@vangogh0101 我这非安全相关的。有点懵逼。大佬能给个脱壳之后的dex嘛??302748574@qq.com
大神能不能手把手小白们,图文教一下怎么manwe、nvwa保护脱壳成dex文件?
你当这是写helloworld呢
虽然我也不会
大哥,能分享一下脱壳后的dex吗
大佬能否分享一下bot/alive_security_biz_plugin/mw1.bin(AliveStrategyBizComp)样本?
来了来了,大神创建了个脱壳机仓库。https://github.com/davinci1012/pinduoduo_backdoor_unpacker
大哥,能分享一下脱壳后的dex吗
@vangogh0101 我这非安全相关的。有点懵逼。大佬能给个脱壳之后的dex嘛??302748574@qq.com
https://github.com/davinci1012/pinduoduo_backdoor_unpacker
manwe 和 nvwa 的脱壳程序代码都有。 manwe 用 java,nvwa用的python
python运行环境,会有各种问题,自行动手解决 说不上掌握多深,过程权当学习
看到有大佬问VMP怎么脱,分析下来PDD的恶意代码是有两套VMP进行保护(manwe、nvwa),有的是manwe保护,有的是nvwa保护,都是单个保护,不会保护两次。VMP文件以.bin结尾,PDD安装之后,会释放到files/.components里,文件在vmp_src中,然后再拷到files/bot/目录下面。有的是自带直接释放,有的是从远端拉取。manwe的解释器在com.xunmeng.manwe.*里面,nvwa在libnvwavm-lib.so里。
manwe逆向下来,是JVM on Java设计的一套VMP,constant pool设计与原始JVM有一些不同,同时多个class被压缩在一个bin文件中,opcode基本一一对应。nvwa为JVM转native的一套VMP,Dalvik opcode对应到自设计的一套native vmp上。VMP代码通过PluginBridge类,与主App中的interface进行交互。
脱壳的话,manvwa、nvwa都是把opcode一一重写回去就好了,注意跳转指令之类的offset需要调整,constant pool里面一些Ref需要调整。utf16string编码是颠倒的,对调回去就可以恢复出字符串。class都转化成了string引用
除了原po分析的AliveBaseAbility,各位大佬也可以关注下bot/alive_security_biz_plugin/mw1.bin(AliveStrategyBizComp),里面的东西更劲爆。