본문 바로가기

리버싱

(3)
드림핵 Small Counter 롸업 flag_gen() 함수를 호출하라고 한다.undefined8 main(void){ undefined8 local_f8; undefined8 local_f0; undefined8 local_e8; undefined8 local_e0; undefined8 local_d8; undefined8 local_d0; undefined8 local_c8; undefined8 local_c0; undefined4 local_b8; undefined local_b4; undefined local_a8 [80]; undefined local_58 [72]; uint local_10; uint local_c; local_c = 0; puts("---Counter---"); for (loc..
드림핵 Batch Checker 실행만 하면 된다는데 문제에서 주는 prob.bat 파일을 실행시키면 wrong이라고만 뜬다.배치 파일이 정확히 어떤 종류의 파일인지 찾아보았다.배치 파일은 사용자의 입력이나 개입 없이 순서대로 처리되는 명령어의 모음, 리스트이다.프로그램을 로드하고, 한 번에 여러 프로세스를 실행하거나 일반적이고 반복적인 작업을 수행하는데 사용된다. 배치 파일은 그냥 메모장 등의 에디터에서 명령어를 쭉 쓰고 .bat으로 저장만 하면 만들 수 있다.명령어에는 echo, pause, startshutdown 등이 있다.문제의 배치 파일을 메모장으로 열어보니 이런 식으로 SET이 쭉 있고 그 밑에 이런식으로 문자열, ~숫자,숫자%% 가 있었다.SET은 변수를 지정하는거 같고 밑에%%는 뭔지 몰랐는데 찾아보니%변수:~a, b%..
드림핵 Easy Assembly 롸업 check_password에서 행해지는 연산을 하면 enc_flag가 원래 flag로 나올것 같다.이 과정을 역연산하는 코드를 짜봤다.import base64db=[0x74,0x78,0x4b,0x65,0x77,0x48,0x5c,0x69,0x68,0x7e,0x5c,0x79,0x77,0x62,0x46,0x79,0x77,0x5,0x46,0x54,0x73,0x72,0x59,0x69,0x68,0x7e,0x5c,0x7e,0x5a,0x61,0x57,0x6a ,0x77,0x66,0x5a,0x52,0x2,0x62,0x5c,0x79,0x77,0x5c,0x0,0x7c,0x57,0xd,0xd,0x4d]flag=[]for i in range(len(db)): flag.append(chr((db[i]^(len(db)^..