在 Radare2 的强力动态分析(暴论)和 JNI 结构体的强力 C functionptr offset 计算辅助之下,酷安的 liba.so 验证逻辑即将全盘爆炸(悲)从此官方再不能逼死同人 😢
coolapk_a_kdev_2.zip
156.3 KB
今天的逆向进度
duangsuse::Echo
duangsuse 正愁这里的控制流太复杂不好分析又不能上动态直接看算法结果,忽然发现这其实是个被混淆的 Base64 string 🤔 验证不用愁了
为什么完全还原算法逻辑更难?因为这么做需要你有很强的编译原理,最好还有 C 编程的功底...
而那些有点能力的『破解者』们,只需要知道它做什么,比如在这里,解码一个被混淆的 Base64
然后他们就可以直接动态分析,在
而那些有点能力的『破解者』们,只需要知道它做什么,比如在这里,解码一个被混淆的 Base64
然后他们就可以直接动态分析,在
call sym.BD 上打上断点,返回之后 eax (修正,是 ebp-0x190)就是被解密 Base64 的字符串指针了,根本不需要知道,甚至都不用分析 Base64 解码调用的第一个参数是分配在栈上还是动态分配无时不刻不在提醒着我 r2 分析出的哪个栈帧偏移量可能是 C 源码里的哪个局部变量,结果是逆向工程还原出整个逻辑都会轻松很多
所以不要小瞧这一点 debug information...
所以不要小瞧这一点 debug information...
duangsuse::Echo
酷安大佬们很聪明,我以为(对『破解者』来说)那么难看的 *char 操作都是酷大佬写的,可其实是 GCC 4.9 写的(跑
[DuangSUSE@duangsuse]~/Projects/HackingCoolApk/liba/RE/dwarview% base64 -d有点意思了 🤔
e7177eb11a13ea5672c543da1690e302dG9rZW46Ly9jb20uY29vbGFway5tYXJrZXQvYzY3ZWY1OTQzNzg0ZDA5NzUwZGNmYmIzMTAyMGYwYWI_7d3bcfe1ca700fdccf5a8595f98f70d8
{�{���խwy�z�g9�wZׯt{}6token://com.coolapk.market/c67ef5943784d09750dcfbb31020f0abbase64: 输入无效
duangsuse::Echo
[DuangSUSE@duangsuse]~/Projects/HackingCoolApk/liba/RE/dwarview% base64 -d e7177eb11a13ea5672c543da1690e302dG9rZW46Ly9jb20uY29vbGFway5tYXJrZXQvYzY3ZWY1OTQzNzg0ZDA5NzUwZGNmYmIzMTAyMGYwYWI_7d3bcfe1ca700fdccf5a8595f98f70d8 {�{���խwy�z�g9�wZׯt{}6token://com.c…
puts Base64.decode64(Base64.decode64('OGQwN2Y4OWY1OTU4YTVmY2NkZjAwN2FjMWVmY2IzZDcvSVdZd1lHTXlBVE16SW1ZbU5HWndVek41QURaMGd6TnpRVE8xWVdaM1l6WXZRWFpySlhZdDV5YXdGR2J2OTJZdTAyYmo5eUw2NFdacjlHZDIwM2UwOTYxYWQzNDVjMjc2NWFlMzFhMTFiZTc3MTdl').reverse)
duangsuse::Echo
有时候可能会很 SSA(Static Single Assignment) 地想,是不是找到了最后要的某个东西,就能根据它推断出它的依赖逻辑呢?这个本地变量就是最后的 Token 结果。
This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
邪恶的 duangsuse 居然把这个依赖 DAG 收起来了... 🤔
你们这个是个什么口令生成算法啊,你们这是雷普前端开发者们啊你们这个算法。
麻烦你们,真的太过分了你们搞这个『加密算法』干什么,我的项目每一行代码都过不了那个 lint 检查啊,它现在没法连上你们的 API,你叫我项目怎么办啊,它还事个幼儿园基本的弱智应用好不好。
你们这是什么算法啊,哼!哼!啊啊啊啊啊啊啊。你们害死我项目了谁是出要写这种东西主意的快出来你们写代码的,再不出来我 ****** 了啊!
我跟你们说你们这群 Android 开发者啊,一天到晚搞什么这些加密啊代码保护啊会害死你们的(迫真)
你们没有前途我跟你们说你们这400多号人好好写 Jawa 不好么,一天到晚 show C/C++ 有什么意思,有什么意思啊,我偶尔写一下都快被恶心死了。
麻烦你们重视一下你们的 Jack 有点发展目标好不好,一天到晚写写 Rx 写写 Vertx 写写 Databinding 不是人啊,你们一天到晚搞 C++ 不好好写 pattern 没有前途的,NDK 害死人。
#Haha #security #Android #dev 😤
麻烦你们,真的太过分了你们搞这个『加密算法』干什么,我的项目每一行代码都过不了那个 lint 检查啊,它现在没法连上你们的 API,你叫我项目怎么办啊,它还事个幼儿园基本的弱智应用好不好。
你们这是什么算法啊,哼!哼!啊啊啊啊啊啊啊。你们害死我项目了谁是出要写这种东西主意的快出来你们写代码的,再不出来我 ****** 了啊!
我跟你们说你们这群 Android 开发者啊,一天到晚搞什么这些加密啊代码保护啊会害死你们的(迫真)
你们没有前途我跟你们说你们这400多号人好好写 Jawa 不好么,一天到晚 show C/C++ 有什么意思,有什么意思啊,我偶尔写一下都快被恶心死了。
麻烦你们重视一下你们的 Jack 有点发展目标好不好,一天到晚写写 Rx 写写 Vertx 写写 Databinding 不是人啊,你们一天到晚搞 C++ 不好好写 pattern 没有前途的,NDK 害死人。
#Haha #security #Android #dev 😤