x64에서 보호 기법이 다 걸려있다.win 함수가 있으므로 ROP를 할 필요가 없다. 반복할 문자열을 입력 80바이트만큼 입력을 받고, 그 길이를 len에 저장한다만약 그보다 큰 값을 입력하면 break로 while문을 탈출한다. 문자열을 반복할 횟수를 지정한다. 그리
main함수에서 일치하는지 확인하는 함수if문을 역연산 하면 된다전형적인 rev-basic 문제 유형a1\[]은 입력받은 문자열, arr\[]은 byte_140003000의 값이다byte_140003000의 값은IDA에서 더블 클릭하고, SHIFT+E를 누르면 HEX코
main함수에서 일치하는지 확인하는 함수if문을 역연산 하면 된다일단 byte_140003000에서 hex값을 빼오자byte_140003000를 더블클릭, shift+E로 hex값을 가져올 수 있다\_\_ROL1\_\_을 모르겠다모든 bits이 왼쪽으로 밀려(shift
난독화? 인지는 몰라도 코드가 엄청 복잡하다분석을 하기 싫다start함수더이상 고민 할 필요도, 분석을 할 필요도, 코드를 짤 필요도 없다DH{322376503}이왜진10분 컷
00. 문제 파일 01. 바이너리 분석 main함수 윗 부분은 배열의 값이다 (STAGE별 이름) 총 10번, 즉 10단계까지 있다 ptr값을 가져온다 이게 Python에서 srand로 타임스탬프를 찍는 방법이다c에서
main함수에서 호출하는 함수중 하나이다닉값한다buf\[16]에 0x100만큼 넉넉히 입력을 받으니 BOF가 터진다원래 인텐은 키 비교하고 이렇게 하는건데 언인텐 풀이가 존재한다!BOF터지고 get_flag함수 있고, 너무나도 친절하게도 system('/bin/sh')
래퍼런스도 준다분석을 굉장히 하게 싫게 생겼다무서운 함수도 있다일단 실행시키면 시간이 안된다컴퓨터 시간을 2030년으로 바꾸고 하면 실행은 되다? 안되나 하는데 플래그는 안나온다cf. 이 문제에는 낚시가 많다ptrace에 대한 레퍼런스가 주어진다영어로 된 어려워보이는
main함수get_shell함수가 있으니 rao정도 하면 될 것 같다보호 기법이 거의 안 걸려있다코드 분석을 해보면Size를 입력Size-1만큼 Data입력v5에 입력을 받는데, 256만큼 할당되어있고, size가 257이상을 입력받으면 프로그램이 종료된다여기서 주의해
main함수감사하게도 win함수가 존재한다간단하게 idx를 입력받고, 다음 반복문때 buf\[idx]의 값을 넣어주는 프로그램이다bof는 안 터질것 같았고, 다른 취약점이 존재할 것 같았다보면 바로 보인다Out Of Bound 취약점으로 aaw가 가능하다NO PIE이니