0xGame2024部分Reverse与Crypto
Re
week2
Xor_Random
动调获取随机数直接异或
1 |
|
Zzz
断点上面扩展了位数,且调试的时候发现输入的v5,v6,v7会被颠倒

1 |
|
week3
BabyAsm
直接正向输出flag
1 |
|
Puzzle
9*9的数组,大概率是数独题

手算比较麻烦,建议直接套模板
1 |
|
求出nextLine之后6个数字一组,10转16之后作为字符加到sb中输出

tea
一开始把密文前后交换,直接解密发现中间错误
1 |
|

调试发现之后前8位和最后8位进行了加密,也就是说中间24位不变

1 |
|
ezAndroid

直接搜索secret找到密文

week4
PyPro
python3.12无法完全反编译,要用pydas

知道先aes_ecb再base64
cy好像解不了用脚本解密
1 |
|
发现密钥是奇数位,15.5个字节,前面补一个0

tea2.0
main一个tea

交叉引用密文发现有tls
发现也是一次tea,但是不用管直接动调获取最后的密文

有个奇怪的点是明明密文有48位,为什么比较的时候只有44位
经过调试发现最后一轮的v1初始值是0
1 |
|
MineSweeper

先是交换后面异或,另外从资源段加载密文
haha就是KEY
enc从resources.assets中加载


1 |
|
crack
经过调试发现异或的数一直为6

问gpt发现是sha256

调试发现buf1就是输入的地址,也就是输入特定hash值即可

1 |
|
JustSoso
getKey在native层

直接在资源段搜索密文

得到key后rc4,有一处魔改

之后再base64
getKey的部分静态有点复杂

直接尝试用objection注入得到rc4的key,android hooking watch class_method com.ctf.justsoso.MainActivity.getKey –dump-return

用frida也行,frida -U -l 1.js -f com.ctf.justsoso

最后解密即可
1 |
|
Crypto
week1
crt-1
e和phi不互素,先求出e//2对应的m,再开根号,答案就是其中一个
1 |
|
week2
rc4
前半部分求得四个字符,后半部分注意先fromhex
1 |
|
RSAIV
因为交互的总时间足够长,challenge2适合yafu手动解后输入
1 |
|