2017/12(52)
-
기초 공부중
만약, 당신이 커널 레벨에서 동작하는 코드를 작성했다면 그 코드를 이용함으로써 특별한 권한이 있어야만 접근 가능한 커널과 시스템 프로세스의 메모리에 접근할 수 있다. 또한 커널 레벨에서는 어떤 소프트웨어든 코드와 데이터 구조를 변경할 수 있다. 대부분의 모듈은 시작 루틴(엔트리 포인트)과 모든 것을 마무리하고 정리하는 루틴(클린업 루틴) - 클린업 루틴 처음 들어봄.. 예시가 책에 있으니 책을 보면서 공부를 진행해보았다. 예시 1. 리눅스 모듈 int init_module(void){} void cleanup_module(void){} 예시 2. 윈도우즈 모듈NTSTATUS DriverEntry(...){ theDriver -> DriverUnload = MyCleanupRoutine;} NTSTATUS..
2017.12.04 -
기초 공부 중
모든 컴퓨터에는 운영체제와 소프트웨어가 설치되어 있다. 하지만, 운영체제는 단순히 어플리케이션의 원활한 활동을 위해 도와주는 매개체에 불과하다. 하지만, 컴퓨터의 장치가 다르면 거기에 맞는 운영체제도 달라지게 된다. 예를들어 A학교 학생의 교복과 B학교 학생의 교복이 다른 것 처럼 말이다. 그렇다면 A학교는 A학교만의 컴퓨터 장치를 가지고 있는 것이고, B학교는 B학교만의 컴퓨터 장치를 가지고 있게 되는 것이다.A학교 학생이 A학교 교복을 입교 B학교의 구성원은 될 수가 없다. 우리 운영체제에는 윈도우즈, 리눅스, VXWorks, Symbian 등이 존재한다.VXWorks는 임베디드 디바이스에서 주로 쓰인다고 하며, Symbian은 휴대폰에서 사용한다고 한다. Symbian은 조사해보니 노키아 휴대폰에서..
2017.12.04 -
기초공부 중
-루트킷 윈도우 커널 조작의 미학- 우연히 이 책을 잠시 읽게 되어 이 책에서 얻어가고 싶은 정보를 타이핑 하며 이해하는 시간을 가졌다. 루트킷 : 소프트웨어의 판단 로직을 변경해 잘못된 판단을 하도록 만드는 것 이스터에그 : 가끔 소프트웨어 자체에 로직 변경이 들어있을 수 있다. 프로그래머 스스로가 백 도어를 자신이 제작하는 프로그램안에 넣기도 한다. 이런 백 도어의 존재 여부는 문서로 명시되지 않으므로 해당 소프트웨어의 숨겨진 기능으로서 작동한다. 이러한 것을 이스터에그라고 부른다고 한다. 루트킷은 공격툴이 아님을 기억해야한다. 왜냐하면 루트킷 자체는 명백한 유틸리티 셋이기 때문이다. 루트킷은 공개되지 않은 기능과 방법을 사용하며 버퍼 오버플로우와 같은 소프트웨어 버그를 이용하지 않기 때문이다. 일반..
2017.12.03 -
PEpasswd
시작오전 1:02 2017-12-01Packed.exe 실행 끝오전 5:57 2017-12-01 시행착오 0040902F 46 inc esi00409030 803E 00 cmp byte ptr [esi],0x000409033 /74 24 je short Packed.00409059 ; patch하면 eip 00000000 됨00409035 56 push esi00409036 FF95 9D294000 call near dword ptr [ebp+0x40299D]0040903C 46 inc esi ; dll체크0040903D 803E 00 cmp byte ptr [esi],0x000409040 ^ 75 FA jnz short Packed.0040903C00409042 46 inc esi00409043 803..
2017.12.01