-
무난하게 쉽네요
조금 당황스러웠던 건, 저는 윈도우를 사용하는 데, Mach-O 포맷이 OS X 에서 실행되는 파일이라서, 실행이 되지 않았어요..
그래도 아이다로 충분히 분석이 되었고, 정적분석만으로도 해결할 수 있어서 문제를 풀었습니다.
key = [0x44, 0xf6, 0xf5, 0x57, 0xf5, 0xc6, 0x96, 0xb6, 0x56, 0xf5, 0x14, 0x25, 0xd4, 0xf5, 0x96, 0xe6, 0x37, 0x47, 0x27, 0x57, 0x36, 0x47, 0x96, 0x3, 0xe6, 0xf3, 0xa3, 0x92, 0x0] input = [0] * len(key) def encrypt(key): key *= 2 if (key & 0x100): key |= 1 return key%0x100 inv = [0] * 0x100 for i in range(0x100): inv[i] = encrypt(i) def check1(input): for i in range(4): for j in range(len(input)): input[j] = encrypt(input[j]) return len(input) def inv_value(k): for i in range(0x100): if inv[i] == k: return i def inv_check(key): for i in range(4,0,-1): for j in range(len(key)): key[j] = inv_value(key[j]) print(key) inv_check(key) for i in range(len(key)): print(chr(key[i]),end="")
'Writeup > Wargame_Writeup' 카테고리의 다른 글
[ Reversing.kr ] WindowKernel (0) 2020.04.13 [ Reversing.kr ] Metroapp (0) 2020.04.09 [ Reversing.kr ] Multiplicative (0) 2020.04.08 [ Reversing.kr ] flashenc (0) 2020.04.08 [ Reversing.kr ] Twist1 (0) 2020.04.07 댓글