SUA 2

handray(64bit 바이너리 파일)

1. homework2 1.1 파일 분석 - homework2 파일을 실행해보니 입력한 점수에 따라 등급을 출력해주는 프로그램임 - i fu 명령어로 확인해보니 func함수, main함수가 존재함 - 함수 에필로그를 지나 스택에 16bytes 만큼 공간을 확보함 - scanf함수를 호출하여 사용자에게 입력값을 레지스터에 저장하여 func함수에 인자로 넘겨주는 코드임 ※ 입력값은 50으로 입력함 - func함수에 들어와 함수 에필로그를 지나 main함수에서 전달받은 인자(50)을 rbp-0x4에 저장함 - 사용자가 입력한 값(rbp-0x4)와 0x59(10진수로 89)를 비교하여 같거나 작으면 func+20으로 점프하라는 코드임 - main 함수에서 scanf함수 호출 시 입력했던 값이 50이기 때문에 f..

handray(32bit 바이너리 파일)

1. homework 1.1 파일 분석 - homework 파일을 실행 결과를 보니 사용자가 입력한 값을 1~9까지 곱한 결과를 출력해주는 프로그램임 - gdb에서 i fu 명령어로 확인해보니 main함수와 func 함수가 존재하는 것을 알 수 있음 - pd main 명령어로 main함수의 코드를 볼 수 있음 - 함수 프롤로그 이후 main+6 코드줄에 sub esp,0x4는 스택에 4bytes 공간을 확보해주는 코드로, 사용자에게 입력받은 정수를 저장할 변수를 위해 공간을 확보함 - 그리고 scanf 함수를 호출하여 사용자로부터 입력값을 받게끔 하여 현재 분석중에는 10을 입력함 - x/10wx $ebp-0x4 명령어를 통해 ebp-0x4에 들어있는 값을 확인해보니 scanf함수 호출했을 때 입력했던 ..