crackme.py(好像是python的逆向)
无聊的时候翻电脑玩发现一个脚本,就试着玩一下
解题时发现还可以使用暴力破解来做这个题
上网简单一搜就搜到了,最近在看汇编想学一下逆向,就想着能不能把这个程序反过输出
有其他人
#Embedded file name: G:/2/build/scripts-2.7/crackme.py
def encrypt(key, seed, string): rst = [] for v in string: rst.append((ord(v) + seed ^ ord(key[seed])) % 255) seed = (seed + 1) % len(key) return rst if __name__ == '__main__': print('Welcome to idf\'s python crackme') flag = input('Enter the Flag: ') KEY1 = 'Maybe you are good at decryptint Byte Code, have a try!' KEY2 = [124, 48, 52, 59, 164, 50, 37, 62, 67, 52, 48, 6, 1, 122, 3, 22, 72, 1, 1, 14, 46, 27, 232] en_out = encrypt(KEY1, 5, flag) if KEY2 == en_out: print('You Win') else: print('Try Again !')
是一个简单的逆向,很简单但是不会,搞了好久才做出来
def de(keys,seeds,strings): seeds = 5 for i in range(23): v = (strings[i] ^ ord(keys[seeds])) - seeds print(chr(v),end="") seeds = (seeds + 1) % len(keys)
这行代码搞死个人啊
rst.append((ord(v) + seed ^ ord(key[seed])) % 255)
学艺不精弄了好长时间才发现是这样的
rst.append(((ord(v) + seed) ^ ord(key[seed])) % 255)
后面这个%255就没用到搞得我试了半天

浙公网安备 33010602011771号