NewStarCTF WP WEEK2 _ reverse
androgenshin
元神启动
主函数 找找
一个 rc 一个base64
解rc4
1 |
|
得到一个表 BADCFEHGJILKNMPORQTSVUXWZYbadcfehgjilknmporqtsuxwzy1032547698/+
开始写换表base64
1 | cipher = 'YnwgY2txbE8TRyQecyE1bE8DZWMkMiRgJW1=' |
flag flag{0h_RC4_w1th_Base64!!}
账户:genshinimpact
密码 flag
可以元神启动
easy_enc
str 进行了 4次循环 最终与 Buf1 开始的 29 个分别对应相等
看v5[3] 大概是 byte 最大 256 字 52 mod 256
因为强制转换为了 BYTE 类型(8bit) 由于 52 和 256 不互素,所以要通过枚举的方法来逆向.
看v5[2] 一个强转后的取反
这里给了 key str 引用到主函数 前面的mod 256
->BeingDebugged 代码存在 反调试碰到这种就跑路 开玩笑
跟进去 %s 的限制
1 | address1 = 0x403040 |
走个脚本
跟进 403040
1 | char sub_403040() |
有比较 +5 存放进括号 -5
1 | byte_403020 = [ |
Random
直接main 断点出关键代码 直接跟着走 table 函数 存储比较函数下的 s2
1 |
|
petals
调试发现加花指令
此处加花 U 一下 90一下 nop 回到 1208+1 F9 一下
开始推断 v6 大概 256 异或取反长度
~(i ^ 25) & ((1<<8)-1)
for i in renge(256)
1 | from hashlib import md5 |
flag{d780c9b2d2aa9d40010a753bc15770de}
PZthon
利用工具 exe 反 pyc
生成
1 | #!/usr/bin/env python |
简单来看 是数组 异或 21
1 | enc = [ |
得flag{Y0uMade1tThr0ughT2eSec0ndPZGALAXY1eve1T2at1sC001}
C?C++?
直接 .net 中分析
解密反着写 数学不好问了一下网上的牛子 遇到瓶颈 真痛
1 |
|