Skip to content

Instantly share code, notes, and snippets.

@minhtt159
Created January 19, 2018 21:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save minhtt159/98000d6247b76291e6e63b34ef92c3ed to your computer and use it in GitHub Desktop.
Save minhtt159/98000d6247b76291e6e63b34ef92c3ed to your computer and use it in GitHub Desktop.
BKU-CTF HardRe
p = """.rodata:08048880 db 0DBh
.rodata:08048881 db 1Dh
.rodata:08048882 db 0
.rodata:08048883 db 0
.rodata:08048884 db 0E1h
.rodata:08048885 db 1Dh
.rodata:08048886 db 0
.rodata:08048887 db 0
.rodata:08048888 db 0F5h
.rodata:08048889 db 1Dh
.rodata:0804888A db 0
.rodata:0804888B db 0
.rodata:0804888C db 0F9h
.rodata:0804888D db 1Dh
.rodata:0804888E db 0
.rodata:0804888F db 0
.rodata:08048890 db 1
.rodata:08048891 db 1Eh
.rodata:08048892 db 0
.rodata:08048893 db 0
.rodata:08048894 db 7
.rodata:08048895 db 1Eh
.rodata:08048896 db 0
.rodata:08048897 db 0
.rodata:08048898 db 0Bh
.rodata:08048899 db 1Eh
.rodata:0804889A db 0
.rodata:0804889B db 0
.rodata:0804889C db 13h
.rodata:0804889D db 1Eh
.rodata:0804889E db 0
.rodata:0804889F db 0
.rodata:080488A0 db 17h
.rodata:080488A1 db 1Eh
.rodata:080488A2 db 0
.rodata:080488A3 db 0
.rodata:080488A4 db 25h ; %
.rodata:080488A5 db 1Eh
.rodata:080488A6 db 0
.rodata:080488A7 db 0
.rodata:080488A8 db 2Bh ; +
.rodata:080488A9 db 1Eh
.rodata:080488AA db 0
.rodata:080488AB db 0
.rodata:080488AC db 2Fh ;
.rodata:080488AD db 1Eh
.rodata:080488AE db 0
.rodata:080488AF db 0
.rodata:080488B0 db 3Dh ; =
.rodata:080488B1 db 1Eh
.rodata:080488B2 db 0
.rodata:080488B3 db 0
.rodata:080488B4 db 49h ; I
.rodata:080488B5 db 1Eh
.rodata:080488B6 db 0
.rodata:080488B7 db 0
.rodata:080488B8 db 4Dh ; M
.rodata:080488B9 db 1Eh
.rodata:080488BA db 0
.rodata:080488BB db 0
.rodata:080488BC db 4Fh ; O
.rodata:080488BD db 1Eh
.rodata:080488BE db 0
.rodata:080488BF db 0
.rodata:080488C0 db 6Dh ; m
.rodata:080488C1 db 1Eh
.rodata:080488C2 db 0
.rodata:080488C3 db 0
.rodata:080488C4 db 71h ; q
.rodata:080488C5 db 1Eh
.rodata:080488C6 db 0
.rodata:080488C7 db 0
.rodata:080488C8 db 89h
.rodata:080488C9 db 1Eh
.rodata:080488CA db 0
.rodata:080488CB db 0
.rodata:080488CC db 8Fh
.rodata:080488CD db 1Eh
.rodata:080488CE db 0
.rodata:080488CF db 0
.rodata:080488D0 db 95h
.rodata:080488D1 db 1Eh
.rodata:080488D2 db 0
.rodata:080488D3 db 0
.rodata:080488D4 db 0A1h
.rodata:080488D5 db 1Eh
.rodata:080488D6 db 0
.rodata:080488D7 db 0
.rodata:080488D8 db 0ADh
.rodata:080488D9 db 1Eh
.rodata:080488DA db 0
.rodata:080488DB db 0
.rodata:080488DC db 0BBh
.rodata:080488DD db 1Eh
.rodata:080488DE db 0
.rodata:080488DF db 0
.rodata:080488E0 db 0C1h
.rodata:080488E1 db 1Eh
.rodata:080488E2 db 0
.rodata:080488E3 db 0
.rodata:080488E4 db 0C5h
.rodata:080488E5 db 1Eh
.rodata:080488E6 db 0
.rodata:080488E7 db 0
.rodata:080488E8 db 0C7h
.rodata:080488E9 db 1Eh
.rodata:080488EA db 0
.rodata:080488EB db 0
.rodata:080488EC db 0CBh
.rodata:080488ED db 1Eh
.rodata:080488EE db 0
.rodata:080488EF db 0
.rodata:080488F0 db 0DDh
.rodata:080488F1 db 1Eh
.rodata:080488F2 db 0
.rodata:080488F3 db 0
.rodata:080488F4 db 0E3h
.rodata:080488F5 db 1Eh
.rodata:080488F6 db 0
.rodata:080488F7 db 0
.rodata:080488F8 db 0EFh
.rodata:080488F9 db 1Eh
.rodata:080488FA db 0
.rodata:080488FB db 0
.rodata:080488FC db 0
.rodata:080488FD db 0
.rodata:080488FE db 0
.rodata:080488FF db 0"""
enc = """.rodata:08048900 db 0BDh
.rodata:08048901 db 47h ; G
.rodata:08048902 db 8
.rodata:08048903 db 0
.rodata:08048904 db 70h ; p
.rodata:08048905 db 12h
.rodata:08048906 db 0Dh
.rodata:08048907 db 0
.rodata:08048908 db 25h ; %
.rodata:08048909 db 39h ; 9
.rodata:0804890A db 0Dh
.rodata:0804890B db 0
.rodata:0804890C db 2Fh ;
.rodata:0804890D db 0Fh
.rodata:0804890E db 0Ch
.rodata:0804890F db 0
.rodata:08048910 db 24h ; $
.rodata:08048911 db 38h ; 8
.rodata:08048912 db 4
.rodata:08048913 db 0
.rodata:08048914 db 9
.rodata:08048915 db 5
.rodata:08048916 db 0Dh
.rodata:08048917 db 0
.rodata:08048918 db 7
.rodata:08048919 db 0BBh
.rodata:0804891A db 0Dh
.rodata:0804891B db 0
.rodata:0804891C db 0CBh
.rodata:0804891D db 55h ; U
.rodata:0804891E db 0Ch
.rodata:0804891F db 0
.rodata:08048920 db 0AFh
.rodata:08048921 db 0D1h
.rodata:08048922 db 4
.rodata:08048923 db 0
.rodata:08048924 db 0EDh
.rodata:08048925 db 0D3h
.rodata:08048926 db 4
.rodata:08048927 db 0
.rodata:08048928 db 0F1h
.rodata:08048929 db 0C7h
.rodata:0804892A db 9
.rodata:0804892B db 0
.rodata:0804892C db 2Eh ; .
.rodata:0804892D db 0E5h
.rodata:0804892E db 5
.rodata:0804892F db 0
.rodata:08048930 db 0D5h
.rodata:08048931 db 4Ah ; J
.rodata:08048932 db 0Eh
.rodata:08048933 db 0
.rodata:08048934 db 0D5h
.rodata:08048935 db 52h ; R
.rodata:08048936 db 5
.rodata:08048937 db 0
.rodata:08048938 db 80h
.rodata:08048939 db 26h ; &
.rodata:0804893A db 0Fh
.rodata:0804893B db 0
.rodata:0804893C db 0CCh
.rodata:0804893D db 0BBh
.rodata:0804893E db 0Dh
.rodata:0804893F db 0
.rodata:08048940 db 1Dh
.rodata:08048941 db 6Eh ; n
.rodata:08048942 db 0Dh
.rodata:08048943 db 0
.rodata:08048944 db 2Dh ; -
.rodata:08048945 db 0DDh
.rodata:08048946 db 0Eh
.rodata:08048947 db 0
.rodata:08048948 db 6Eh ; n
.rodata:08048949 db 7
.rodata:0804894A db 0Fh
.rodata:0804894B db 0
.rodata:0804894C db 34h ; 4
.rodata:0804894D db 0B6h
.rodata:0804894E db 10h
.rodata:0804894F db 0
.rodata:08048950 db 44h ; D
.rodata:08048951 db 36h ; 6
.rodata:08048952 db 6
.rodata:08048953 db 0
.rodata:08048954 db 3Eh ; >
.rodata:08048955 db 13h
.rodata:08048956 db 0Fh
.rodata:08048957 db 0
.rodata:08048958 db 87h
.rodata:08048959 db 0B2h
.rodata:0804895A db 0Fh
.rodata:0804895B db 0
.rodata:0804895C db 9Dh
.rodata:0804895D db 34h ; 4
.rodata:0804895E db 10h
.rodata:0804895F db 0
.rodata:08048960 db 0Ah
.rodata:08048961 db 94h
.rodata:08048962 db 10h
.rodata:08048963 db 0
.rodata:08048964 db 0F6h
.rodata:08048965 db 24h ; $
.rodata:08048966 db 0Fh
.rodata:08048967 db 0
.rodata:08048968 db 9Bh
.rodata:08048969 db 0F3h
.rodata:0804896A db 10h
.rodata:0804896B db 0
.rodata:0804896C db 9Ah
.rodata:0804896D db 14h
.rodata:0804896E db 11h
.rodata:0804896F db 0
.rodata:08048970 db 5Dh ; ]
.rodata:08048971 db 8Dh
.rodata:08048972 db 0Fh
.rodata:08048973 db 0
.rodata:08048974 db 63h ; c
.rodata:08048975 db 90h
.rodata:08048976 db 0Fh
.rodata:08048977 db 0
.rodata:08048978 db 0D1h
.rodata:08048979 db 9Ch
.rodata:0804897A db 7
.rodata:0804897B db 0"""
def parser(s):
s = [line[37:40].lstrip().rstrip('h').lower() for line in s.split('\n')]
s = [int(s[i+3].zfill(2) + s[i+2].zfill(2) + s[i+1].zfill(2) + s[i].zfill(2),16) for i in range(0,len(s),4)]
return s
p = parser(p)
enc = parser(enc)
flag = ''
for i in range(len(enc)):
flag += chr(enc[i] / p[i] - i)
print flag
# Good job! I'm really impressed!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment