본문 바로가기

어셈블리어

어셈블리어 정리. [어셈블리어] Push : sp 레지스터를 조작하는 명령어중의 하나이다. 스택에 데이터를 저장하는데 쓰인다. ex:) Push eax : 스택에 Eax의 값을 스택에 저장한다. ex:) Push 20 : 즉석값인 20을 스택에 저장한다. ex:) Push 401F47 : 메모리 오프셋 401F47의 값을 스택에 저장한다. Pop : 이또한 sp 레지스터를 조작하는 명령어중 하나이다. 스택에서 데이터를 꺼내는데 쓰인다. ex:) Pop eax : 스택에 가장 상위에 있는 값을 꺼내애서 eax에 저장한다. * 주의점 : Push 의 역순으로 값은 스택에서 Pop 된다. Mov : 메모리나 레지스터의 값을 옮길 때[로 만들 때]쓰인다. ex:) Mov eax,ebx : ebx 레지스터의 값을 eax로 옮긴다[.. 더보기
어셈 공부하는 법?? 저는 처음에 어셈이 뭔지도 몰랐어요. 이강석님이 쓰신 리버스 엔지니어링 책을 보고 어셈의 존재를 알게됬죠 ㅎㄷㄷ 근데 아무것도 모르는 상태에서 책을 보니 아무것도 모르고 지겹기만 하더라구요. 그래서 제가 찾은 방법이 비쥬얼 스튜디오를 이용하는 것 이었습니다. 비쥬얼 스튜디오에 디버깅 모드로 원본 소스와 어셈을 비교해가면서 공부했어요. 빨간색 동그라미는 브레이크 포인트 걸어둔거에요 ㅎ 위에 처럼 원본 소스하고 어셈하고 비교 하면서 볼 수 있어요 ㅎㅎ 이렇게 비교해서 보고 또 똑같은 프로그램을 올리디버거, gdb등으로 보면 대충 눈에 익죠.. ㅋㅋ 각 언어의 문법들을 소스로 짜신후에 디버깅해보시는게 제일 좋은 공부 방법인것 같아요 ㅎㅎ 전 이렇게 해서 어셈하고 조금 친해졌답니다 ㅋ 비쥬얼 스튜디오 디버깅 사.. 더보기