
이 문제를 풀었다. 저번에 풀다가 빡쳐서 함 던지고... 다시 도전

역시 elf 파일이기 때문에 IDA로 분석했다.
눈여겨봐야 할 부분은 s1 배열을 거꾸로 저장한다는 것이다.
for(i=0;i<=7;++i){
s1[i]=s[7-i];
v6에는 실행할 때마다 달라지는 랜덤 넘버, v7에는 입력한 값이 저장된다. 그리고 s에는 v6^v7이 저장되고, s 값이 거꾸로 s1에 저장된다.
그리고 s1과 "a0b4c1d7"이 같으면 flag를 출력해준다.
즉! v6^v7==7d1c4b0a가 되어야 한다.
즉!! 입력값==랜덤값^7d1c4b0a가 되어야 한다!!!
근데 왜 던졌었냐면... 입력값이 10진수여야한대서 코드로 짜려고 했는데! 코드 돌리고 돌아가면 자꾸 프로그램이 종료되어서ㅋ.ㅋ 물~론 내가 코드를 따로 짜고 VM 밖에서 돌리느라 당연히 느렸겠지만... 입력하려는데 자꾸 꺼지면 화가 나 안 나! 그래서 이번엔 그냥 계산기를 썼습니다. 10진수 보고 치면 되지...

요로케요로케... 재빠르게 연산식 입력하고 DEC에 있는 십진수로 입력하면 flag가 나옵니다~ 후다닥 해야됨(물론 나는 머리가 안 돼서 몸이 고생하는 거지만)
아무튼 해결~!
flag: DH{cc0017076ad93f32c8aaa21bea38af5588d95d2cdc9cf48760381cc84df4668e}