type
status
date
slug
summary
tags
category
icon
password
😀
这次WMCTF简直就是Android逆向大聚会啊,四道re三道Android逆向

📝 Reverse

Rustdroid

附件

💡
考点:安卓逆向+native层加密算法
将apk拖入jadx里面,发现主要加密应该在native层
notion image
直接apktool -d 解包.由于本人的设备是Pixel1,我们需要找到arm64-v8a.
notion image
我们可以直接找到密文
notion image
第一个加密应该是密钥的生成,但是如果直接动态调试然后dump处理完的密文是有点问题的是有点问题的
notion image
下面的加密如果直接抄下来的话也是有一些类型的问题,所以当时我直接手撸arm64了
notion image
我们需要配合动态来进行手撸,下面进行断点和dump
notion image
notion image
开始准备动态调试
notion image
notion image
现在它卡在这里进入准备调试阶段
notion image
之后我们打开IDA,准备远程调试,由于我们是真机所以选择Remote ARM Linux/Android debugger
notion image
然后我们需要改一下调试的配置,要选择localhost即127.0.0.1
notion image
然后我们选择附加的形式打开
notion image
之后我们就会停在这里,点继续运行就可以
notion image
这个时候我们就可以输入字符串了
notion image
在进行手撸的时候我们可以学习一下这个指令
notion image
💡
UBFX ————→> W2=(unsigned __int8)W1>>2
手撸后的代码我用python写的
然后进行爆破就行

EXP

notion image

ez_learn

附件

💡
考点:Tls反调试+SM4魔改
32位无壳
notion image
进入IDA之后发现有花指令
notion image
从所有函数里面都看了一下,在.hello节区中只有一种花指令
notion image
我们可以写一个idapython脚本去一下花指令
去花之后要先按U,然后再按C+P恢复函数
main函数
从这个16字节可以看出应该是AES或者是SM4,sub_411253就是我们的加密函数
notion image
可以根据一些特征确定是SM4
sub_41103C(a1)是生成密钥流,我们这个函数结束之后可以直接dump下来
SM4魔改的点是异或
notion image
notion image
然后tls里面有个反调试,直接改判断条件就可以
notion image
比较迷惑的一点是CRC32
notion image
notion image
但是这里一直没被使用到,接下来直接从网上扒了一个sm4加解密的源码直接进行解密

EXP

tables.h
sm4_tool.c
notion image

🤗 总结归纳

还是要避免一些小失误的发生,比如某些魔改算法要看的快一些,检查的仔细一些
安卓逆向还是要好好搞😁😁😁😁😁😁
 
💡
有关复现或者学习上的问题,欢迎您在底部评论区留言,一起交流~
记一次长城杯病毒样本分析2024KCTF-re
Loading...
5m10v3
5m10v3
目前主攻方向为Re
Announcement
🎉5m10v3のBlog已经上线啦🎉
-- 感谢各位师傅的支持 ---
👏欢迎师傅们前来交流👏