본문 바로가기

카테고리 없음

DimiCTF 2017 REV50

로직 간단함

 

갖고와서 비교하는거임

 

부르트포싱 하면 됩니당

from ctypes import *
import string

ida_char = [0x4D, 0xCB, 0xC3, 0xBB, 0x19, 0x0A, 0x1A, 0x7F, 0x50, 0xF8, 0x18, 0x08, 0x89, 0xC1, 0xA8, 0xCF, 0xBA, 0xBE, 0xEC, 0x75, 0x90, 0xE2, 0x23, 0x6D, 0xA4, 0xB7, 0x35, 0xF5, 0xD1, 0x9A, 0x32, 0x1A]
libc = CDLL('msvcrt')
flag = ""

libc.srand(0x3FD1CC7)

for i in range(len(ida_char)):
    v5 = libc.rand() % 256
    for j in string.printable:
        k=ord(j)
        m=(v5|k) & (~(v5&k))
        if m==ida_char[i]:
            flag+=j

flag += "}"

print (flag)