reverse3-different flag-SimpleRev-Java reverse decryption

reverse3

Insert picture description here
It can be seen that Str2 is shown in the figure below,
Insert picture description here
so look at the function sub_4110BEto process Str to see what has been done.
Insert picture description here
You can see that Dst will be transformed by the aAbcdefghijklmn[] array. Let’s see aAbcdefghijklmn[64]what
Insert picture description here
base64 is in it.

Scripting

import base64

str2='e3nifIH9b_C@n@dH'
x=''
for i in range(0, len(str2)):
    x+=chr(ord(str2[i])-i)
x=base64.b64decode(x)
x = x.decode('ASCII')  #将字符处理成ASCII码形式
print(x)

flag{i_l0ve_you}

Different flag

Insert picture description here
At the beginning, there is a memory copy, click in to see: the
Insert picture description here
Insert picture description here
prompt message is to move up and down, left and right, maze question, you can know that you will exit when you encounter 1, and finally you need to go to #, which is a maze with 5 horizontally

*1111

01000

01010

00010

1111#

* Is the starting point, # is the end point, the path is 222441144222

flag{222441144222}

SimpleRev

Insert picture description here
Look at the Decry();function,
Insert picture description here
so find the str2 before the change.

text = 'killshadow'
key = 'adsfkndcls'
d = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
str2 = ''
for i in range(len(text)):
    for v1 in d:
        if ord(text[i]) == (ord(v1) - 39 - ord(key[i % len(text)]) + 97) % 26 + 97:
            str2 += v1
print(str2)

flag{KLDQCUDFZO}

Java reverse decryption

jd-gui opens the
Insert picture description here
java code, very straightforward

key = [180, 136, 137, 147, 191, 137, 147, 191, 148, 136, 133, 191, 134, 140, 129, 135, 191, 65]
flag = ''
for i in range(len(key)):
     flag+=chr(key[i]-64^0x20)
print(flag)

flag{This_is_the_flag_!}

Guess you like

Origin blog.csdn.net/AlienEowynWan/article/details/113762499