NewStar2024部分Reverse与Crypto
Re
week2
ptrace
1 | fork` 函数会返回两次:一次在父进程中返回子进程的 `pid`,一次在子进程中返回 `0 |
如果 v11 > 0,表示这是父进程,如果 v11 == 0,表示这是子进程,如果 v11 < 0,表示 fork 失败
可以不看father,直接加参数调试
个人觉得题目出错了
1 | a=[0xCC, 0x8D, 0x2C, 0xEC, 0x6F, 0x88, 0xED, 0xEB, 0x2F, 0xED, |
week3
simpleAndroid
native层实现逻辑,动态注册,看JNI_Onload函数
看CheckActivity类,发现CheckData
加载UseLess,并重新设置 CHAR_DATA ,后续调用base64
后续首尾调换再高低位互换
1 | a=[0xB2, 0x74, 0x45, 0x16, 0x47, 0x34, 0x95, 0x36, 0x17, 0xF4, |
SMC_math
smc处理得好就是标准z3,可以先全undefine在force
1 | from z3 import * |
wtf
交叉引用input都下好断点,然后调试运行看程序逻辑,发现先-0xe9再^i
1 | a=[0x4F, 0x54, 0x48, 0x53, 0x60, 0x45, 0x37, 0x1A, 0x28, 0x41, |
011vm
用d810去混淆但不完全
进入3b30,一个打印一个tea,找到tea的所有参数,前后一一对应
上面是密钥,下面是密文
1 |
|
flowering_shrubs
静态去花指令发现是函数嵌套函数,吓了一跳,果断选择动态,发现还是一样
密文一次循环变化四位,逻辑在上面
调试出对应关系,这样就不用管随机数了
1 | ''' |
SecretsofKawayi
先rc4再base64
so文件先脱壳,发现是魔改xxtea
注意轮数与反编译的结果不一样
1 |
|
Crypto
week2
茶里茶气
>>和tea的结合
因为%p,所以每一轮算完都小于p且是正数,那么只要小于0的时候+p即可,得到高低位后移位再相加即可
1 | from Crypto.Util.number import * |
- 标题: NewStar2024部分Reverse与Crypto
- 作者: j1ya
- 创建于 : 2024-10-23 16:53:21
- 更新于 : 2026-09-17 23:03:30
- 链接: https://redefine.ohevan.com/2024/10/23/NewStar2024部分Reverse与Crypto/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论