__free_hook이 가리키는 값 실행 관련

풀기는 했는데 free_hook을
코드내 system함수 주소로 덮는게 아니라 그 위에 인자 전달하는 주소로 덮어야 풀리던데 __free_hook이 덮일 경우 인자 전달하는 주소만 실행하고 끝날거라고 생각해서 처음에 system함수 주소만 적은건데 이게 어떤 원리인지 정확히 궁금합니다

해당 주소가 실행되고 그 주소 다음 것도 자연스레 실행되는건지

#pwnable
작성자 정보
답변 2
avatar
mooji
대표 업적 없음

image.png

여기서 처음에는 0x400a16을 넣었는데 0x400a11을 넣어야 따이더라구여

궁금한건 0x400a11넣으면 0x400a11 실행된 후 0x400a16이 실행되는 건가여?

free_hook배울땐 해당 함수 주소를 실행한다고만 나와 있어서 그냥 그거 실행하고 다시 리턴하는 걸로 이해했습니다

2023.07.28. 16:47
avatar
wyv3rn
무플 방지 위원회장

edi에 무슨 값이 들어가는지 확인해보시면?!

궁금한건 0x400a11넣으면 0x400a11 실행된 후 0x400a16이 실행되는 건가여?
-> 네 맞습니다. 코드는 에러가 발생하기 전까지는 순차적으로 흘러가니까요

2023.07.28. 16:57
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기