c++ 로 짜여진 단순 테이블 치환 리버싱 문제이다.

하나씩 테이블을 채우면


대충 이렇게 채워진다. 사실 정적분석보단 동적분석이 단순 테이블 치환에는 짱인것 같다. 딱히 복잡한 루틴없이(CBC같은 블럭 chaining) 그냥 stream 암호이므로

gdb로 문자열 비교하는 부분에서 bp 걸고 분석하면 쉽게 분석된다. 출제할때 실수한건가 되게 쉽게 풀었는데 정답률은 낮았다.



A 82

B 81

C 83 

D 88

E 8a

F 89

G 8b

H 84

I 86

J 85

K 87

L 8c

M 8e

N 8d O 8f Pa0 Ra1 S a3 T a8 U aa 

v ab 

W a9 X a4 Y a6 Z a5

929193989a999b949695979c9e9d9fb0b2b1b3b8bab9bbb4b6b6

1 32 2 31 3 33 4 38 5 3a 6 39 7 3b 8 34 9 36 0 31

- b0

_ 1f

  10

: 36

82a386a3b7983198313b363293399232349892369a98323692989a313493913036929a303abf

ASIS{d2d2791c6a18da9ed19ade28cb09ae05}



'CTF' 카테고리의 다른 글

[ASISctf] DLP  (2) 2017.04.13
asis secured portal  (0) 2017.04.13
[asisctf]start hard  (0) 2017.04.12
[VolgaCTF]guessing_game 200pt  (8) 2017.03.25
[codegate 2017 prequal]hunting  (0) 2017.02.13

+ Recent posts