분류 전체보기 62

깔끔한 어셈 명령어 정리

1. 명령어 정리 명 령 어 설 명 Data Transfer MOV Move 데이터 이동 (전송) PUSH Push 오퍼랜드의 내용을 스택에 쌓는다 POP Pop 스택으로부터 값을 뽑아낸다. XCHG Exchange Register/memory with Register 첫 번째 오퍼랜드와 두 번째 오퍼랜드 교환 IN Input from AL/AX to Fixed port 오퍼랜드로 지시된 포트로부터 AX에 데이터 입력 OUT Output from AL/AX to Fixed port 오퍼랜드가 지시한 포트로 AX의 데이터 출력 XLAT Translate byte to AL BX:AL이 지시한 데이블의 내용을 AL로 로드 LEA Load Effective Address to Register 메모리의 오프셋 ..

어셈블리 2019.07.09

인스톨 팩토리(Install Factory) 사용방법

일단 실행하면 아래와 같은 화면이 뜨게 된다. 자 이제 설명을 하자면. 다들 알겠지만. 타이틀은? 타이틀입니다 -_-; 마음대로 적어주세요 소스 폴더 - 이것은 패치할 파일이 있는 폴더를 잡아주면 된다. 단 그 폴더에는 반드시 패치하려는 파일만 있어야 합니다. 그렇지 않으면 이상한 파일들까지 설치 프로그램에 모두 껴버리게 되기 때문입니다. 좋지 않은 예로 패치된 파일이 바탕화면에 있다고 칩시다. 만약 소스 폴더를 바탕화면으로 잡는다면, 내 컴퓨터 링크 파일이나 각종 링크 파일들.. 그리고 폴더 등등 모두 exe화 됩니다. 그래서 설치하게 되면 나중에 잡아준 경로에 이 모든 파일이 복사됩니다. 이런 일이 생기지 않도록 c:\\패치 이런 형태의 폴더에 패치한 파일을 두고 그곳을 경로로 잡아주면 됩니다. 기본..

W32Dasm에 대하여

먼저 W32 Dasm을 키신 후 메뉴에서 "Disassember"를 누릅니다. 그러면 팝업메뉴가 뜨는데 "Open File to Disassemble.." 버튼을 누릅니다. 열기 대화창이 뜨는데 여기서 역 어셈블 해올 파일을 선택해주시면 됩니다. 역 어셈블 과정은 짧으면 10초에서 ~ 길면 5분 정도 걸리는데 역어셈블역 어셈블 과정이 완료되면 역 어셈블 된 코드가 표시됩니다. 위의 그림은 W32 Dasm에서의 메뉴들인데 왼쪽부터 차례대로 -------------------------------------------------------------------------------- OPEN - 파일을 역 어셈블 해올 때 쓰는 버튼입니다. SAVE - 역 어셈블 된 결과를 파일로 저장할 때 쓰는 버튼입니다...

조건 분기에 대하여

조건 분기를 하기 위해선 해당 조건이 있어야 합니다. 이 조건을 만들어 주는 명령어부터 먼저 살펴봅시다. 1. CMP cmp eax, ebx 이처럼 cmp는 두 개의 오퍼랜드를 필요로 하며, eax에서 ebx를 빼는 기능을 하며 결과는 따로 저장되지 않습니다. cmp의 결과는 eax가 ebx보다 크다, 작다, 같다, 다르다 등의 형태로 플래그가 세팅됩니다. 2. JZ(jump if zero) = JE(jump if equal), JNZ(~not~) = JNE 모든 조건 분기문은 다음처럼 해석이 됩니다. 예를 들자면 jz의 경우, jump if zero의 약자로 만일 '0'이라면 점프하라는 뜻입니다. 기억하시는데 한결 수월함을 느끼실 겁니다. 이 명령문은 두 오퍼랜드가 같은지 다른지를 살펴보는 데 사용됩니..

올리에서 실행파일과 연결된 DLL파일 디버깅하는 방법

올리에서 실행파일을 로드하면 로드한 파일만 분석작업을 진행합니다 그럼 DLL파일도 분석하도록해서 작업하면 되겠습니다 1. 올리 프로그램 실행 2. Debugging Options 열기 (단축키:Alt+O) 3. Events Tab 클릭 4. [v] Break on new module (DLL) 항목에 체크 표시 5. [ OK ] 버튼 클릭해서 창 닫고 작업할 프로그램(. EXE)을 로드 6. 대상 프로그램에서 새로운 모듈(DLL)을 사용할 때마다 멈추지요? 7. Executable modules창에 디버깅하길 원하시는 DLL파일이 보일 때까지 F9키를 누르세요 8. 찾았다면 원하는 모듈에 마우스를 double Click 하면 해당 모듈로 들어갑니다 9. Analyse code (Ctrl+A) 하신 후 작..