作业

汇编

  1. 该函数是将CCCC赋值于ax 并将值后赋值于bx中的地址,并依次写入128次,每次写入便将bx所代表的地址累加。

    改写 :

    func_1:
        mov ax, CCCC
        mov cx, 128
        mov dx,0
    MyLoop: 
        mov [bx], ax
        add bx, 2
        add dx, 1
        cmp dx,cx
        jnz MyLoop
        ret
    
  2. 分析后可知该代码获取了str的长度 并读取,后异或33h后将值赋给str 所以加密方式为 str[i]^33h

a = [0x5b,0x54,0x52,0x5e,0x56,0x48,0x44,0x56,0x5f,0x50,0x3,0x5e,0x56,0x6c,0x47,0x3,0x6c,0x41,0x56,0x6c,0x44,0x5c,0x41,0x2,0x57,0x12,0x4e]
flag = ""
for i in range(len(a)):
    flag+=chr(a[i]^0x33)
print(flag)

flag = hgame{welc0me_t0_re_wor1d!}

python

def Factorial(num):
    if num == 1:
        return 1
    else :
        return Factorial(num-1)*num
a = int (input())
print(Factorial(a))
a=[]
it=[x for x in input().split(',')]
for i in it:
    x = int (i,2)
    if x%5==0:
        a.append(i)
print(','.join(a))

RE

用ida打开附件后 可知

flag{this_Is_a_EaSyRe}

posted @ 2023-01-29 20:25  kayoki  阅读(45)  评论(0)    收藏  举报