반응형


개발자 대회라.. 개발자라면 왠지 모르게 가슴이 설레이지 않을까 싶습니다.
이런 행사가 많이 있었으면 바람과 함께 참여해 보고 싶은 생각이 번쩍 하고 드네요.
물론 그만한 실력이 뒷받침 되는것은 아니지만 왠지 오랫만에 흥미를 끄는거 같습니다.
많은 분들이 관심을 갖고 참여했으면 하는 바람입니다.^^
개발자여 열정을 다시 한번 불태워라~!

반응형


주변 지인들에게 생일 선물로 책들을 선물 받았다.

내가 원하는 책들로 부탁하여 선물을 받았기 때문에 기대가 되는 바이다.

일단 히가시노 게이고 作 위주로 선택을 하였다.





백야행은 일본 드라마로 본적이 있다 . 꽤 재미있게 보았었고 한국영화로도 보았다.

총 3권의 셋트로 선물을 받았고 꽤 기대하고 있다.. 아직 읽어보진 않았다.

참고로 백야행 셋트를 선물해준 썰에게 감사를 표하는 바이다.. ^^ 매년 고마워~

그 뒤로 악의,졸업은 평이 좋아서 읽어보고 싶은 책이었다.


기타노 다케시 꽤 낯익은 얼굴이다.  왠지 강한 느낌을 주는 배우(감독)라는 생각이 든다.
가장 기억에 남는 이미지는 배틀로얄에서의 선생님으로 나왔을 때의 이미지이다.
그외에도 익히 알려져 있는 분이니... 왠지 강한 인상을 남겨줄 책같아서 선택하게 되었다.

요즘은 그다지 책을 많이 읽지 않게 된것 같다. 여러가지 핑계(?)가 있겠지만 나열하지 않겠다.
어느덧 나태함에 물들어 버린 내 자신이 부끄러울뿐이다. 꿈도 열정도 나의 길도 희미해져 간다.
자신을 깊이 들여다 볼 수 있도록 생각에 잠기는 시간을 늘려야 겠다.


졸업을 읽고... 2010-06-25
책을 선물 받고 바로 처음 손에 들었던 책이 졸업이다.
추리소설은 어린시절 읽었던 셜록홈즈, 아르센 루팡 등이였다. 초등학교때인가..
그 이후로 딱히 추리소설을 찾아 읽진 않은듯 하다. 나이가 차면서 좀더 기대를 했던 모양이다.
히가시노 게이고 소설을 읽으면서 나름 나쁘진 않게 읽었지만 딱히 추리소설에 대한
나의 욕구를 채워주진 못한듯 하다. 아니면 내가 그냥 생각없이 읽어서 인지도 모르겠다.
그냥 일련의 사건에 대한 하나 하나의 단서들 그리고 그것들을 조합해 가며
사건을 해결해 가는 일련의 과정들 짜임새가 특별히 좋다는 생각은 들진 않앗다.
약간은 짜맞춰진 각본으로 이어지는 듯한 느낌이였다.


악의를 읽고... 2010-07-11
두번째로 집어든 책이 히가시노 게이고 작품의 악의였다.
책은 초반에 그리 별 감흥없이 읽기시작했고 나름 읽어볼만 햇다.
하지만 후반부로 갈수록 반전이 있으면서 감탄을 하지 않을 수 없었다.
반전의 반전이 이어지며 제목이 나타내듯 그 인간의 악의에 대한 이야기 전개에 감탄!!
이유없는 악의...  즉 누군가를 깎아 내리는데서 얻는 만족감. 열등감이 섞인 악의..
인간의 본성의 한면을 잘 나타낸 한편의 이야기가 아닐까 싶다...
꽤나 소재도 좋고 반전도 좋고 짜임새도 좋은 추리소설 한편이였다. 추천!!!










반응형


포렌식서적 중에 꽤나 인정받고 있는 책이라고 합니다.
일단 관심서적으로 등록... 구매 결정은 나중에..ㅎ



목차
1
. 실시간 대응: 데이터 수집

소개

실시간 대응

-로카르드의 교환 법칙

-휘발성 순서

-언제 실시간 대응을 수행해야 하는가

어떤 데이터를 수집해야 하는가

-시스템시간

-로그온 사용자

-오픈 파일

-네트워크 정보

-네트워크 연결

-프로세스 정보

-프로세스 포트 매핑

-프로세스 메모리

-네트워크 상태

-클립보드 내용

.
.

접기

-서비스/드라이버 정보

-명령 히스토리

-맵 드라이브

-공유

비휘발성 정보

-레지스터리 설정

-이벤트 로그

-장치와 다른 정보

-도구 선별에 관한 말

실시간 재응 방법

-내부 대응 방법

-원격 대응 방법

-혼합 접근

 

2. 실시간 대응: 데이터 분석

소개

데이터 분석

-사례 1

-사례 2

-사례 3

-애자일 분석

-범위 확대하기

-반응

-예방

 

3. 윈도우 메모리 분석

소개

프로세스 메모리 수집

물리 메모리 덤프

-DD

-Nigilant32

-ProDiscover

-KnTDD

-MDD

-Win32dd

-Memoryze

-Winen

-Fastdump

-F-Response

-단원 요약

-물리 메모리 덤프에 대한 다른 접그 방법

물리 메모리 덤프 분석

-덤프 파일의 운영체제 판단하기

-프로세스 기초

-메모리 덤프 내용 파싱하기

-프로세스 메모리 파싱

-프로세스 이미지 추출하기

-메모리 덤프 분석과 페이지 파일

-풀 할당

 

4. 레지스트리 분석

소개

레지스트리 내부

-하이브 파일 내의 레지스트리 구조

-로그 파일로서의 레지스트리

-레지스트리 변화 감시

레지스트리 분석

-RegRipper

-시스템 정보

-자동시작 위치

-USB 이동식 저장 장치

-마운트된 장치

-휴대용 장치

-사용자 찾기

-사용자 활동 추적하기

-윈도우 XP 시스템 복원 지점

-리다이렉션

-가상화

-삭제된 레지스트리 키

 

5. 파일 분석

소개

로그 파일

-이벤트 로그

-잉벤트 이해학

-이벤트 로그 파일 포맷

-이벤트 로그 헤더

-이벤트 레코드 구조체

-비스타 이벤트 로그

-IIS 로그

-로그 파서

-웹 브라우저 사용기록

-다른 로그 파일들

-휴지통

-XP 시스템 복원 지점

-비스타 볼륨 섀도 복사본 서비스

-프리패치 파일

-바로 가기 파일

파일 메타데이터

-워드 문서

-PDF 문서

-이미지 파일

-파일 시그니처 분석

-NTFS 대체 데이터 스트림

분석의 대체방법

 

6. 실행 파일 분석

소개

정적 분석

-분석 파일 찾기

-파일 문서화하기

-분석

-난독화

동적 분석

-테스트 환경

 

7. 루트킷과 루트킷 탐지

소개

루트킷

루트킷 탐지

-실시간 탐지

-GMER

-Helios

-MS Strider GhostBuster

-F-Secure BlackLight

-Sophos Anti-Rootkit

-AntiRootKit.com

-사후 탐지

-예방

 

8. 모두 함께 결합하기

소개

사례 연구

-사례 연구 1: 문서 단서

-사례 연구 2: 침입

-사례 연구 3: DFRWS 2008 포렌식 로데오

-사례 연구 4: 파일 복사하기

-사례 연구 5: 네트워크 정보

-사례 연구 6: SQL 인젝션

-사례 연구 7: 애플리케이션이 원인이다

시작하기

-문서화

-목표

-체크리스트

-이제 무엇을?

타임라인 분석 확장하기

 

9. 예산 안에서 분석 수행하기

소개

분석 문서화하기

도구

-이미지 획득하기

-이미지 분석

-파일 분석

-네트워크 도구

-검색 유틸리티
반응형
오늘 서버로 사용할 컴퓨터에 CentOs 5.4를 설치 하였다.
일단 공씨디가 그렇게 많지 않아서 부팅씨디를 한장을 만들고 네트워크 설치를 하였다.

ftp://ftp.neowiz.com/pub
ftp://ftp.kaist.ac.kr
ftp://ftp.daum.net
http://data.nicehosting.co.kr

설치할 버전의 이미지 파일을 다운받으면 된다. 본인은 5.4 로 부팅 이미지 파일을 받았다.
그 외 설명들은 다른 블로그들에 많이 포스팅 되어 있으니 건너 뛴다.
네트워크 설치시에 사이트명과 디렉토리 정보를 설정해야 하는데..
사이트명: ftp.daum.net        디렉토리: /centos/5.4/os/i386

네트워크 설치를 완료 했다. 대충 옵션들은 패쓰~ 설치 완료하고 첫번째 난관
GUI환경을 사용해 보기 위해 startx 근데 해상도가 제대로 출력되지 않는다.
라데온 9550을 사용하므로 리눅스용 그래픽 드라이버를 다운받아 설치한다.
http://support.amd.com/us/gpudownload/Pages/index.aspx

sh ./ati-driver-installer-9-3-x86.x86_64.run
리눅스 드라이버를 설치하고 다시 x-window를 구동해서
시스템 -> 관리 -> 화면표시 에서 해상도를 설정하니 잘 적용된다. ㅎㅎ

그리고 바로 웹브라우져를 켜서 포스팅을 하려고 보니 ㅡㅡ;; 한영변환키가 안먹는다.

shift + space   누르면 한영전환이 된다. Alt + Space 인 경우도 있다고 한다.

지금은 CentOs에서 이 글을 작성중이다. 오랫만에 리눅스를 사용하니 감회가 새롭다.

설치된 패키지 그룹 확인
yum grouplist

개발툴 및 라이브러리 설치
yum groupinstall 'Development Tools' 'Development Libraries'


반응형


기본 화면은 변한것이 없다. 단지 매 사용시마다 프로그램을 실행시키는 것이 불편하였다.
그리하여.. 트레이에 추가 하는 부분을 추가. 그리고 트레이에서 화면으로 전환시 목록 리프레쉬.

여기서 발생한 문제점
1.최소화 버튼 클릭시 화면은 숨기고 트레이에 넣었는데 상태표시줄에는 남아있었다.
2.트레이 아이콘 팝업메뉴를 넣었는데 팝업메뉴를 뛰운후 다른 위치를 클릭해도 사라지지 않는다.






1 최소화시 트레이에 넣은후 화면을 숨기기 위해 ShowWindow(hwnd, SW_HIDE)를 사용했는데...
  이렇게 할 경우 화면은 사라지지만 작업표시줄에는 사라지지 않는다 하여... 알아보니..
// 최소화를 먼저 해준후 숨겨야 작업표시줄에도 사라진다. ㅡㅡ;;

2.트레이 아이콘에 이벤트 발생시 팝업을 뛰었는데 그게 한번 뜨면 그 메뉴를 선택하지 않는 이상 안사라진다.
  이럴경우 메뉴를 화면에 보여주는 TrackPopupMenu()를 호출하기 전에 SetForegroundWindow(hwnd)를 호출

반응형

올해 7월에 일본어 능력시험 N2 를 신청했다. 거금 4만원을 들여서 ...
매년 준비를 해서 시험을 봐야겠다는 생각만 하고 준비도 안하고 시험도 안보고..
이래선 안되겠다 시험을 신청했고 출제유형이 변경됬다길래 책도 한권 샀다.
그리고 무슨 충동이 일었는지 온라인 강의도 그냥 지르고 말았다 ㅡㅡ;
http://online.japansisa.com/  <== 온라인 강의 패키지 108000원 짜리...
교재: 新일본어 능력시험 이런 문제가 출제된다 - N2급(독학용)

어제 퇴근길에 책을 지르고 집에 가서 동강을 지르니 대충 12마넌이 조금 넘는다.

일단 동강을 듣기 시작하는데 ㅠㅠ.. 자꾸만 눈물이... 흑흑..
기초가 없었던 것이다 ㅠㅠ 특히 단어를 모르는거.. 한자.. 아악!! 내돈 12마넌...
거금을 들인거니 예습을 하고 동강을 들어야 겠다 .. 아... 걱정이 태산이다..
단어가 약하거나 문법이 약하거나 하면 바로 동강을 신청하기 전에 알아보고 신청하시길..
내겐 너무 어려운 동강!! 속도 넘 빨라 .. 그냥 문제 풀이만 쭉쭉해나가는구나.. 아악!!
반응형
비트논리연산자
정수형 자료( int, short, long)에 대해 비트단위로 논리 연산을 수행한다.
연산되는 값을 먼저 2진수로 바꾸어서 연산한다.
연산자 의미
~ 해당 비트를 반전시킨다.(1 -> 0, 0->1)
& 두 비트 모두 참이면 결과가 참
^ 두 비트가 서로 값이 다르면 참
| 두 비트가 모두 거짓이어야 거짓

< 소스출처 >http://kldp.net/projects/winningchaos/

SentinelDlg.cpp
BOOL CSentinelDlg::OnInitDialog() 진영선택부분에서 다이얼로그 초기화 부분
((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(BST_CHECKED);  //센티넬  선택
((CButton *)GetDlgItem(IDC_RADIO2))->SetCheck(BST_CHECKED);  //스콜지  선택

void CSentinelDlg::OnOK() 활성화시에 전역변수에 설정값 셋팅 부분
pBtn = (CButton *)GetDlgItem(IDC_RADIO1);
  if (pBtn->GetCheck()) m_uOpt |= 0x1000; // 센티널
  else m_uOpt |= 0x2000; // 스콜지
  m_uOpt |= (((CComboBox *)GetDlgItem(IDC_COMBO1))->GetCurSel()); // 본진 클릭 옵션 (본진단축키값이다.)


Scourge.cpp
static LRESULT CALLBACK MsgHook(UINT nCode, WPARAM wParam, LPARAM lParam)  //메시지 후킹부분
if(pkbhs->vkCode == '특정키이면') {
//센티넬이나 스콜지로 변경되게끔 한다.
m_uOpt |= 0x1000; // 센티널
((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(BST_CHECKED);  //센티넬  선택

m_uOpt |= 0x2000; // 스콜지
((CButton *)GetDlgItem(IDC_RADIO2))->SetCheck(BST_CHECKED);  //센티넬  선택

}

소스에 대한 전체적인 수정이 필요하다. 전역변수로의 설정하는 등의

반응형

Guda Project의 API 플밍 2번째 GudaMoreTran 입니다.

왜 GudaMoreTran 인가?

Guda Project + 메신저명의 일부 + transparency(투명)



개인적으로 사용하고 있는 메신저에 투명화 기능이 존재 하지 않기에...

API도 공부할겸 한번 만들어 보았다. 아직 수정 보완해야 할 부분이 많지만.

원하는 기능은 정상적으로 작동하기에 일단 프로젝트 완료.. 후에 업데이트 해야겠다.

일단 현재 떠있는 채팅창의 목록이 화면에 보이는 리스트 박스에 뜨게 되어있다.

어플 로딩시 갱신되지만 실시간으로 갱신되지 않기 때문에 투명화 하고 싶은 창을 선택전에

새로고침 버튼을 눌러서 갱신해야 한다. 그리고 투명화 하고자 하는 채팅창을 선택하고

아래 투명도를 조절하여 선택 적용을 하면 선택창만 투명화가 적용된다.

모든 채팅창을 동일한 투명도로 적용하고자 한다면 투명도를 조절하고 전체적용버튼을 클릭.^^

이후에는 업데이트시 기타 잘잘한 기능을 추가 하고자 한다.^^

주 목적은 개인적으로 필요한 기능을 구현하고 API 프로그래밍의 공부를 위해서 시작한것이다.

다른 분들에게는 필요 없는 어플이기에 여기에 공개는 하지 않겠다.^^
반응형

GetDesktopWindow
: 데스크탑 윈도우(루트 윈도우)의 핸들을 반환해준다.

HWND GetDesktopWindow(VOID);
ex) 데스크탑 윈도우에 출력하는 소스


EnumWindows
: 차일드 윈도우를 제외한 모든 윈도우를 검색한다. 그러나 시스템이 생성한 최상위 윈도우중에서
  WS_CHILD 스타일을 가지고 있으면 예외적으로 검색에 포함된다.

BOOL EnumWindows(     
    WNDENUMPROC lpEnumFunc,    //찾은 윈도우를 처리해줄 프로시저
    LPARAM lParam              //특정 사용자 정의 데이터를 콜백함수로 넘겨준다. 없을경우 NULL
);

EnumWindowsProc
EnumWindows에서 윈도우를 찾으면 EnumWindowsProc으로 값을 넘겨준다. 여기서 처리
EnumWindowsProc(
    HWND hWnd,                 //검색된 윈도우의 핸들
    LPARAM lParam              //EnumWindows에서 넘겨준 lParam값
);
ex) 윈도우 검색정보를 출력


EnumChildWindows
:특정 부모윈도우의 차일드만 검색
BOOL EnumChildWindows(      

    HWND hWndParent,
    WNDENUMPROC lpEnumFunc,
    LPARAM lParam
);

EnumThreadWindows
:스레드에 속한 윈도우 목록을 조사하는 함수들
BOOL EnumThreadWindows( 
    DWORD dwThreadId,
    WNDENUMPROC lpfn,
    LPARAM lParam
);

반응형

API를 이용해 어플을 만들면서 프로그램 실행중 로그를 출력하고 싶은 경우가 많다.

물론 디버깅을 활용하면 되지만 간단한 값의 출력이나 printf가 편한 경우고 있다.

API 함수를 이용해서 AllocConsole(); 로 생성하고 FreeConsole(); 로 해제해도 되지만

더 간단한 방법이 있어 소개한다.

프로그램이 맨 처음 시작되는 부분에 다음 코드를 추가해 보자
(예를 들면 stdafx.h 혹은 stdafx.cpp등에 입력해도 좋다.)

+ Recent posts