# SimpleRev

逆向加密
找到以下几个关键函数就可以开始逆了

image.png
值得注意的是查看 v9 的地址发现上大下小 事实上正确的 scr 和 v9 是转换之后字符串的倒序,即’NDCLS’和’hadow’
另外这种逆向有点难度,主要是 “%26” 的不确定性,所以决定使用爆破解决
image.png

# Java 逆向解密

直接放入编辑器 idea 就能看见加密代码
加密原理就是输入的每个字符都加上 64 ^ 0x20 然后再和 KEY 进行比较,相等就是我们要求的 flag 了
image.png
image.png
image.png
image.png

# luck_guy

image.png
image.png
给了一半,f2 没有值,4 和 5 有关于 f2 赋值的部分,有发现 5 是 8 位数操作
顺序应该是 4 5 1
python 代码如下
`flag="GXY {do_not_"
f2=""
x=[0x69,0x63,0x75,0x67,0x60,0x6f,0x66,0x7f]
for i in x:

f2+=chr(i)

for i in range(8):

if i%2==1:
     s=chr(ord(f2[i]) - 2)
else:
    s=chr(ord(f2[i]) - 1)
flag+=s

print(flag)`

# JustRE

image.png
image.png
打开找不到任何信息,shift+f12
image.png
跟进去
image.png
format 是点击次数

下一个 if 是 dword_4099F0==19999 时符合条件,结合上面就可以判断大概是鼠标点击 20000 次会输出 flag

尝试把 19999 和 0 写入 BJD {,%,d,%,d,2069a45792d233ac} 提交正确了(前面 BJD 中的五个,是为了防止被错误解析)

# 刮开有奖

这题太难了,看 wp 都看半天
image.png
这是一个加密函数
image.png
image.png
加密结果是:3CEHJNSZagn
image.png
v4 v5 跟进函数是 base64 加密
v4 = ak1w,v5 = V1Ax,加密后是 v4 = jMp,v5 = WP1.
最后,我们看到最后的 if 语句,
第一句:String [0] == v7 [0] + 34,这里的 v7【0】,就是上面 10 个字符的第一个字符,我们通过加密函数之后,v7【0】由一开始的 Z 变成了,v7【0】 = 3.
3 的 ASCII 码是 51,51 + 34 = 85,85ASCII 码对应的是大写的 U。flag 第一个字符得到。
第二句:String [1] == v10,v10 在之前没加密的时候,是排第五位,我们看看加密之后的第五位是谁,3CEHJNSZagn,可以看到,加密之后的第五位是 J。flag 第二个字符得到。
第三句:4 * String [2] - 141 == 3 * v8,v8 在没加密之前,是排第三位,先看看加密之后的第三位是谁,可以看到是 E,E 的 ASCII 码是 69,所以 369 + 141 / 4 = 87 ,ASCII 为 W,flag 第三个字符得到。
第四句:String [3] / 4 == 2 * (v13 / 9),看到 v13 没加密之前排到数第四位,看看加密之后的到数第四位是谁,是 Z,Z 的 ASCII 是 90,所以 2
(90/9)*4 = 80 ,ASCII 为 P,flag 第四个字符得到。
后面四个字符,就是 base64 加密的那几个,可以看到第三第四字符已经是 WP 了,说明,WP1 在前,jMp 在后。
flag

# 简单注册器

好家伙,到这题突然简单
找到关键代码
image.png
复制到 java 编辑器运行
image.png
结束 flag

# pyre

image.png
image.png
GWHT{Just_Re_1s_Ha66y!}
难点在于逆回去的过程,+128)%128 可以直接忽略

# 知识点:range (start, stop, step),分别是起始、终止和步长

Edited on

Give me a cup of [coffee]~( ̄▽ ̄)~*

lxy WeChat Pay

WeChat Pay

lxy Alipay

Alipay

lxy PayPal

PayPal