作业
汇编
-
该函数是将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 -
分析后可知该代码获取了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}

浙公网安备 33010602011771号