목록2025/07/15 (2)
오래 못 할 짓 하지 않기

6번 줄을 보니 실행하면서 인자가 하나 있어야 하는 것 같다.8번 줄 : v5는 0으로 설정해두고9번 줄 : 입력을 받은 인자를 dest 변수에 넣는다.10번 줄 : v5가 1633837924이면 성공. strcpy에서 dest에 받을 때 argv의 값을 넘치게 줘서 더럽히면 될 듯 v5의 주소는 esp+0x5C이다. strcpy 를 하고 난 뒤에 버퍼를 봐야한다.입력을 해보고 한 *main+105쯤에 break 를 걸어보자. 입력하고 난 뒤에 보면 우리가 입력한 값들이 드래그한 곳에 들어가있는 것을 볼 수 있다. 그럼 더럽혀야하는 esp+0x5C는 어디인지 보자. 드래그 한 곳이 esp+0x5C이다.저 곳 전까지 다 채우고, 그 뒤에는 조건문에 충족하도록 1633837924를 넣어준다. 드래그한 ..

- 6번째 줄에서 v5를 0으로 설정한다.- 7번째 줄에서 s를 입력받는다.- 8번째 줄에서 v5 자체를 조건으로 판단한다. > v5가 0이면 else로 넘어가고, 0이 아니면 modified 로 인식한다. 4번째 줄에서 v5의라는 변수의 주소가 esp+5Ch( hex라는 뜻) 라고 나와있다.stack에서 esp+0x5C 위치가 변하게 만들어주면 된다. 대충 main+51쯤에 break 걸어주자사실 main+24에 있는 gets 아래이기만 하면 된다. 입력은 테스트용으로 AAAABBBB로 한다.그럼 stack을 열었을때 0x41 4개 , 0x42 4개가 나올 거다.그 위치로 판단하면 된다. 우선 우리가 stack의 크기를 얼추 알기 위해서 ebp(stack의 가장 위) / esp(stack..