본문 바로가기

명령어

명령어, 레지스터의 구성 명령어, 레지스터의 구성 컴퓨터를 사용하는데 가장 많이 들어본 이야기가 "컴퓨터는 0, 1로만 이해한다." 입니다. 하지만 사람이 0과 1로 보기에는 무리가 있고, 이것을 쉽게 보기위해서 어셈블리어, C언어 등 다양한 언어들이 나왔습니다. 리버싱을 하게되면 어셈블리어를 보게 되는데, 이 어셈블리어는 0과 1로 이루어진 값을 일대일 대응시켜 만들어진 언어입니다. 이러한 어셈블리어들은 어떻게 만들어졌는지 알아보도록 하겠습니다. 현재 많은 컴퓨터들이 64비트로 실행되고 있습니다. 물론 32비트도 많이 있습니다. 하지만 하드웨어사양도 높아지고 처리해야하는 데이터 양도 많이져서 64비트를 많이 사용하고 있습니다.앞서 어셈블리어는 0과 1로 이루어진 값을 일대일 대응시켜서 만들어졌다고 했는데 이번 포스팅에서는 16.. 더보기
WinDBG명령어와 분석방법 WinDBG WinDBG 명령어와 실제 분석 방법에 대해서 알아보도록 하겠습니다. 명령어 분석 Reversing을 처음 시작할 때 많이 하는 abexcm1.exe를 가지고 설명하도록 하겠습니다. Windbg로 abexcm1.exe를 실행시키면 아래와 같이 int 3에 걸린 상태로 멈추게 됩니다. abexcm1이 로딩된 주소를 확인해 보니 image00400000으로 되어있습니다. EP 코드 EP 주소를 구합니다. !dh 명령어를 통해서 구할 수 있습니다. OllyDBG에서 Memory map에서 imagebase + sizeofimage를 확인하는 것과 같습니다.main을 찾기 위한거죠. Address of entry point를 확인해 보니 1000입니다. 주소 이동 그렇다면 실제 실행되는 주소로 이동.. 더보기