SUA3 어셈블리 핸드레이 2 2번도 풀어보자 함수를 살펴보니 func함수와 main함수를 중점으로 보면 좋을 것 같다. 메인함수 먼저 맨 앞 두줄은 함수 프롤로그이고 mov DWORD PTR [rbp-0x4], 0x0 이거는 처음에 변수를 정해주는 것 같다. mov edi 0x4006c4 뒤에 있는 주소가 뭔지 모르겠어서 아래 사진처럼 직접 확인을 해보니까 "점수를 입력하세요 : " 이거였다. 이게 프린트 되게끔 printf 함수를 불러왔다. 그리고 lea rax, [rbp-0x4] rbp-0x4에 저장된 주소를 rax에 저장한다. mov rsi, rax rsi에 rax(rbp-0x4 주소)값을 넣고 mov edi, 0x4006e1 아래를 참고하면 뒤의 값은 %d이다. mov eax, 0x0 이렇게까지 해주면 scanf를 호출한다... 2021. 9. 7. 어셈블리 핸드레이 1 2주차 숙제로 핸드레이를 직접 해보는 숙제를 내주셨다. 먼저 gdb-peda를 실행하여 어떤 함수가 있는지 i fu 명령어로 살펴보았다. func함수와 main함수가 있어요!! 하나씩 어떤 함수인지 살펴보자. 일단 메인함수를 어셈블리어로 확인해보자. push ebp mov ebp,esp 여기는 함수의 프롤로그 부분인 듯 하고 mov DWORD PTR [ebp-0x4], 0x0 여기 부분은 ebp-0x4의 데이터 4바이트를 참조하여 여기에 0을 넣어라! 이런 뜻인 것 같다. lea eax, [ebp-0x4] 이거는 ebp-0x4에 저장된 주소를 eax에 저장하라는 의미이다. 그러고 나서 eax 그니까 여기서 값은 0이고..? 이걸 push하고 %d를 push한 것은 내 생각에는 scanf("%d", eax.. 2021. 9. 7. 시스템해킹 스터디 1주차-어셈블리어, 레지스터, 스택, 함수의 프롤로그와 에필로그 SUA에서 시스템해킹 스터디를 시작했어요! 필기한 내용 공유하려고 합니다~ 1주차에서는 기초적인 내용을 공부했어요 나름 뒤에 다미라고 쓴건 저의 워터마크..? 랄까 ㅎㅎㅎ 레지스터, 플래그 레지스터 메모리 영역 어셈블리어 스택, 힙, bss, data, text 함수의 프롤로그와 에필로그, 어셈블리어 함수 프롤로그와 에필로그 로직 2021. 8. 23. 이전 1 다음