대망의 HelloWorld.exe 디버깅 및 분석
흔히 말하는 나뭇잎책을 삿다.
이유는 악성코드분석을 제대로 이해하려면 리버싱을 알아야한다
리버싱을 알려면 어떻게 해야되냐 리버싱을 공부해야한다
리버싱을 공부하려면 리버싱책을 사야한다, 그래서 샀다
그리고 드림핵 강의를 속성으로 읽고 여러 개념들을 주입받았다
그 후 여러 워게임들을 풀어보았다
근데 풀어도 제대로 푸는게 아닌거같아서 여기 안올렸다
내가 완벽하게 이해한게 아니면 푼 것 같지가 않아서다
그래서 내가 낸 결론 처음부터 개념을 확실히알자
고로 리버싱 시리즈 한번 제대로 시작해보겠다
준비물: 헬로월드.exe
글씨가 개작다 옵션에가서 키워본다
나만 마인크래프트생각남?
딱 키면 검게 칠해진 부분이 보이는데 저곳이 EP(엔트리 포인트) 바이너리가 시작되는 부분이다
저 줄부터 순서대로 실행이된다고 이해하면된다
프로그램을 한줄 한줄 계속 실행해본다 메인함수를 찾기 위해서
찾다 늙어죽을 것 같으니 무작정 찾기보다 한가지 방법이 생각났다
바로 문자열로 검색하는 것이다, 헬로를 검색했더니 위에메인함수 주소를 바로 찾을 수 잇엇따
직접 한줄씩 실행하면서 찾는 방법도 있다, F8을 누르면 함수내용을 보지않고 그냥 실행된걸로 다음줄로 넘기는데
헬로 메시지박스가 뜨는 부분을 찾아서 보니 메인함수를 찾을 수 있었다
주석도 한번 달아줬따, ;키를 누르면 달 수 있다
메인함수에서 저장한 문자열들이 저장되어있는 주소로 가보면
고대로 있는걸 볼 수 있다
이번엔 여기있는 HELLO WORLD를 다른문자열로 바꿔보겟음
저장되있는 주소로 가서
그냥 에딧해준다
요로코롬
메인함수부분도 바뀐걸 볼 수 있다
짠
이번엔 다른 방법인데 빈 주소에 문자열을 만든뒤 메인함수의 push 주소를 만들어놓은 부분으로 바꾼다
이러면 원래 있던 헬로월드는 그대로있지만 다른 주소의 문자열을 가져오니 출력값이 바뀐다
솔직히 헬로월드갖고 뭐하는게 살짝 자존심 상하지만 누구나 처음은 있기때문에 상관없다고 생각하기로했다