본문 바로가기

분류 전체보기

(177)
1일차 - 파워쉘 보호되어 있는 글입니다.
notepad.exe 패킹 언패킹(tool없이 패킹 풀기 & PEID 결과 비교) notepad.exe 파일 UPX로 패킹하기 notepad.exe 파일을 설치 후 upx.exe와 같은 경로로 옮긴다. upx로 notepad.exe를 패킹하여 notepad_upx.exe 파일을 생성하자. PEID 비교 둘의 차이점은 패킹된 notepad_upx.exe 파일을 PEID에 넣었을 때는 upx 0.89.6 - 1.02 ~ 라는 문자열을 확인할 수 있다는 점이다. 패킹된 파일이라는 것을 알 수 있다. PEview 비교 직접 pe 파일의 구조를 hex 값을 보면서 비교해본 결과 MS-DOS Stub program 까지는 일치하는 것을 볼 수 있었다. 그 후 IMAGE_NT_HEADERS 부터 달라지는 값을 확인할 수 있었다. tool 없이 패킹 풀기 패킹된 파일을 언패킹에 성공하면 위의 화면과..
rev-basic-2, rev-basic-3 보호되어 있는 글입니다.
PE 헤더(PE Header) [1] DOS Header - IMAGE_DOS_HEADER 구조체 IMAGE_DOS_HADER 구조체는 "WinNT.h" 헤더 파일에 정의되어 있고 64비트로 구성되어 있다. typedef struct _IMAGE_DOS_HEADER // DOS .EXE header { WORD e_magic; // Magic number WORD e_cblp; // Byte on last page of file WORD e_cp; // Pages in file WORD e_crlc; // Relocations WORD e_cparhdr; // Size of header in paragraphs WORD e_minalloc; // Minimum extra paragraphs needed WORD e_maxalloc; ..
어셈블리 명령어 정리 [1] 데이터 이동 명령어 - MOV : 값을 넣어줌, operand1 1, 1->0)으로 변경 - SHL : 왼쪽으로 쉬프트 연산 * 최하위 비트는 0으로 채워지고 기존 값은 CF 플래그 레지스터에 저장 - SHR : 오른쪽으로 쉬프트 연산 * 최상위 비트는 부호비트로 채워지고 CF 플래그 레지스터에 저장 - ROL/RCL : 왼쪽으로 쉬프트 연산, 최하위 비트는 최상위비트로 채워짐 - ROR/RCR : 오른쪽으로 쉬프트 연산, 최상위 비트는 최하위비트로 채워짐 [4] 제어 명령어 - CMP : 두 개의 오퍼랜드 비교(뺄셈 연산 후 플래그 설정) - TEST : 두 개의 오퍼랜드 비교(AND 연산 수행 후 플래그를 설정) - CALL : 해당되는 주소의 함수를 호출하여 수행 코드 위치로 옮김 - INT..
rev-basic-0, rev-basic-1 보호되어 있는 글입니다.
32bit / 64bit 함수 호출 규약 보호되어 있는 글입니다.
64bit 레지스터 개념 정리 보호되어 있는 글입니다.