일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Java
- SMS sandbox
- Primary key(기본 키)
- node.js
- COALESCE함수
- filezilla
- npm 글로벌 설치 삭제 했는데 실행됨
- sms 샌드박스
- html tag
- 자바
- sms 휴대폰 인증
- node.js ec2 배포
- node.js ec2 ip접속
- sql 데이터 삽입
- ab 벤치마크
- 스트레스툴
- Foreign Key (외래 키)
- Apache Benchmark
- sql 데이터 추가
- sns 샌드박스 종료
- AWS SDK for JavaScript v3
- node.js ec2
- HTML
- Apache ab
- aws sdk v3
- HTML 태그
- PostgreSQL CAST
- EC2
- 이것이 자바다
- npm 전역 설치 삭제
- Today
- Total
목록리버싱 (3)
망각에 재주 있는 나를 위해 기록하는 곳.

표현방식 어셈블리어는 정해진 표준이 없다. 대표적으로 AT&T와 Intel 문법이 있다. 둘의 공통점은 Opcode와 Operand(Operand1, Operand2)로 표현한다. Opcode는 명령어이다. Operand는 인자값(피연산자)이다. AT&T와 Intel의 차이가 있다. Intel은 Operand2가 source Operand고, Operand1이 destination Operand이다. 즉 Operand2를 Operand1에 더하는 것이다. AT&T는 그 반대로 Operand1이 source Operand고, Operand2가 destination Operand이다. 즉 Operand1을 Operand2에 더하는 것이다. 외에도 둘이 조금씩 표현에 차이가 있다. 숫자 Intel: 1, 2,..

윈도우에서는 DLL(Dynamic Linking Library)이라는 개념을 사용하고 있다. 말 그대로 프로그램에서 필요한 라이브러리를 사용 시점에 동적으로 연결한다는 얘기다. 예전에는 프로그램이 컴파일 시점에 모든 필요한 기능을 실행 파일 안에 집어넣었지만, 시스템에 지원하는 기능이 다양해지고 부피가 커짐에 따라서 이러한 방식은 비효율적인 것이 되었다. IAT(Import Address Table)는 실행 파일(PE 파일) 안에 라이브러리에서 어떤 함수를 가져다 쓰는지 기록해놓은 정보이다. 로더는 PE 파일을 메모리로 로딩할 때 IAT에 기록된 API 이름을 참조해서 프로그램이 사용할 수 있는 주소를 찾아 IAT 안에 API를 가리키는 주소를 적어 놓는다. 코드에서 라이브러리를 참조하는 부분은 IAT ..

섹션 헤더 섹션 헤더에는 로더(Loader)가 섹션 데이터를 메모리로 로딩하고 속성을 설정하는데 필요한 정보가 저장되어 있다. 각각의 섹션 헤더는 IMAGE_SECTION_HEADER 구조체 형식으로 데이터를 저장하고 있다. PE 파일에는 다양한 섹션 데이터가 포함될 수 있으며, 각각의 섹션 데이터에 해당하는 섹션 헤더가 존재한다. typedef struct _IMAGE_SECTION_HEADER { BYTE Name[IMAGE_SIZEOF_SHORT_NAME]; union{ DWORD PhysicalAddress; DWORD VirtualSize; } Misc; DWORD VirtualAddress; DWORD SizeOfRawData; DWORD PointerToRawData; DWORD Pointe..