윈도우즈 소켓 프로그래밍 하시는 분들은 컴파일을 위하여
WS2_32.lib 를 링크를 시켜야 한다.

프로젝트 설정에서 세팅에 링크부분에 보면 오브젝트 라이브러리가 있는데
그곳에 추가를 시켜주면 된다.

VS 2005~2008 유져는 저도 잘..;;
이제 전향하려고 바꿔가고 있는데 아직 어디서 라이브러리 추가해야하는지 못찾았음 ㅠㅠ
아시는분 뎃글로 좀 ㅠ


-ADD
 VS2008에서 lib 추가법.
프로젝트 설정에서 구성 속성-> 링커 -> 입력 -> 추가 종속성에 해당 lib를 추가해주면 됨.
물론 lib도 구성 속성-> 링커-> 일반 -> 추가 라이브러라 디렉토리에 해당 lib가 있는 폴더 추가 해야함.

winsock을 위한 라이브러리는 속성-> 링커->명령어 라인 에서 ws2_32.lib를 추가해주면됨
Posted by Nvdark
,
C언어를 하는 사람들이라면 한번씩을 봤을 구문.
전처리 혹은 선행처리기 라고 불리우는 # 구문!

주로 사용하는 #include나 #define는 다 알고있을것이다.
위의 구문또한 어렵진 않지만 헷갈리고 또 사용함에따라 좀더 효율적인 코딩을 할수가있다.
설명에 앞서 사용법을 알아야한다. 이것은 기존에 있는 소스를 코드를 삭제및 수정하지 않고 활성화 비활성화 하는데 사용한다.

#define
말그대로 정의한다.

#define A 10
A를 10이라고 칭하는것이다.

#ifdef A
 code.....
#endif
만약 A가 정의되어있다면 소스코드를 실행함.

#ifndef A
 code.....
#endif
만약 가 선언되지 않았따면 소스코드를 실행함.
보통 선언되었는지 안되었는지 확인하기위해 쓰며, 선언되지 않았을경우 안에다가 #define로 선언해줄수있다. 이는 중복선언으로 인한 에러를 방지하기위해서이다.

#if #defined A || #defined B
두가지가 한번에 나오는데 #if는 말그대로 조건문이다. || 또는 && 등의 연산자를 같이 사용할수있다. #defined는 한번에 여러개를 검사하여 수행할수있다. 위의 것들처럼 하나만 검사하는게 아니라 예제에 있듯이 둘개를 비교하여 둘중 하나라도 정의되어있다면 #endif 전까지의 구문을 실행한다.
반대로 &&를 쓴다면 두개가 다 정의되어있어야만 실행된다.

#undef A
말그대로 정의되어있는 A를 무효화 시킨다. 한마디로 없애버린다. ㅡ_ㅡ;

간단한 설명은 여기까지이고 좀더 사용법을 알기쉽도록 소스를 보고 설명하겠다.

#ifndef lint
#include "Z_READ.h"
#endif
#ifdef A
#include "A_READ.h"
#endif
#ifdef B
#include <B_READ.h>
#else
#include <C_READ.h>
#endif


처음 lint가 정의 되어 있지 않다면  "Z_READ.h"를 포함시킨다.
그리고 첫구문 종료
만약 A가 정의되어있다면 A_READ.h를 포함시킨다.
만약 B가 정의되어있다면 B_READ.h를 포함시키고 아니라면 C_READ.h를 포함시킨다.
그리고 종료.
그렇게 어렵지 않을것이다.

다음예를 보자.


#ifndef lint
#include "Z_READ.h"
#endif
#ifdef A
#include "A_READ.h"
#endif
#ifdef B
#include <B_READ.h>
switch (B)
{
  case 1:
     B++;
     break;
   case 2:
     B--;
     break;
   case 3:
     B=B+B;
     break;
   case 0: 
     break;
 }
#else 
#include <C_READ.h>
 struct C{
    int CC;
    char CCC;
  };

#endif

보는 봐와같이 소스코드를 넣으므로써 다양한 코딩을 할수가 있다.
만약 B가 정의되어있다면 B.READ.h를 포함시키고 아래의 switch문을 실행한다.
아래의 구문역시 정의도어있다면 구조체 C를 만드는 작업이다.

static int A(int A)
{
   int C=A+5;
   #ifndef A_READ
     #include "A_READ.h"
     C=A;
   #endif
   return C;
}

다음 코드는 코딩중간에 선행처리기를 넣어서 쓴 코드이다.
혹시 코딩을 하다가 필요할경우 위처럼 중간에 넣어 사용할수있다.
만약 A_READ.h가 정의되어있지 않다면 A_READ.h를 포함하고 아래의 코드를 실행한다.

즉 정의 되어있다면 C의 값은 A+5가 되는것이고 정의 되어있다면 C의 값은 A가 되는것이다.

이정도면 이해하시고 사용하실 수 있을꺼라 생각합니다. 
그럼 다음에또 ㄷㄷ

  
  





 
Posted by Nvdark
,
논문 준비하면서 GDI취약점 분석했을때 한 분석 자료.

뭐 여기저기서 보면서 분석하긴 했지만 ...

나도 자료 없어서 상당히 찾고 삽질도 많이 했지만 혹시나 또 찾으시는분이 계실까봐;

도움이 되길 바라며...

분석은 vm상의 가상 머신과 로컬머신 두대로 하였으며 윈도우 커널 디버깅을 위해 windbg를 사용했음.

Posted by Nvdark
,

이 논문은  Execution Protection(실행 보호) 와  힙, 그리고 힙 오버플로우(heap overflow)에대하여 설명한다...

번역하다보니...결국 지네 재품설명같은데....뭐 그래서 뒤쪽은 번역하지도 않았다.;

이것또한 논문에 필요한 자료같아서 번역하였지만 ...그닥;;




 

Posted by Nvdark
,

논문 준비하면서 번역했던 문서.

급하게 번역하느라 대충했지만 뭐 그런데로 알아들을만 하다.....는것....

윈도우상의 힙 메모리 영역 보호우회를 위한 새로운 방법을 제시하는 논문.


뭐...이게 정말 논문에 필요했는지는 모르겠지만 비슷한거 같아서 하긴했는데;;;

ㄷㄷㄷ


 

Posted by Nvdark
,

이거 2006년도에 수업들으면서 김락현 교수님이 보라고 주신 소스.
그러나...대략 자바 ㅈㅈ


Posted by Nvdark
,
이것도 예전에 검색하다가 나중에 써먹을꺼 같아서 긁어오긴했는데 얼마전에 다시찾은 자료 ;;
출처 : 불분명;;;;

만약 네트워크에서 80포트만 열려있고, 3389포트가 막혀있어 Remote Desktop 접근을 못한다면
아래와같이 80포트로 연결시켜주고,  Remote Desktop 으로 221.10.10.13:80 커넥션이 가능

ex.) datapipe.exe 221.10.10.13 80 221.10.10.13 3389



 

Posted by Nvdark
,
Writer : LaBBa 
App : System Cleaner 4.89 Build 110 
Url : http://www.allerasoft.com/products/systemcleaner/ 
번역 : 김지환 (forc1@naver.com)


Posted by Nvdark
,

OllyDbg단축키

Computing/TIP 2009. 1. 20. 14:51
Ctrl+F2 프로그램 재실행
Alt+F2 프로그램 닫기
F3 새 프로그램 열기
F5 활성화 되어 있는 윈도우 최대화, 혹은 원복
Alt+F5 olly 디버거 윈도우를 항상 위로
F7 Step into (함수 진입)
Ctrl+F7 Animate into (entering functions)
F8 Step over (executing function calls at once)
Ctrl+F8 Animate over (executing function calls at once)
F9 실행
Shift+F9 Pass exception to standard handler and run
Ctrl+F9 Execute till return
Alt+F9 Execute till user code
Ctrl+F11 Trace into
F12 Pause
Ctrl+F12 Trace over
Alt+B Open Breakpoints window
Alt+C Open CPU window
Alt+E Open Modules window
Alt+L Open Log window
Alt+M Open Memory window
Alt+O Open Options dialog
Ctrl+T Set condition to pause Run trace
Alt+X Close OllyDbg
F2 Toggle breakpoint
Shift+F2 Set conditional breakpoint
F4 Run to selection
Alt+F7 Go to previous reference
Alt+F8 Go to next reference
Ctrl+A Analyse code
Ctrl+B Start binary search
Ctrl+C Copy selection to clipboard
Ctrl+E Edit selection in binary format
Ctrl+F Search for a command
Ctrl+G Follow expression
Ctrl+J Show list of jumps to selected line
Ctrl+K View call tree
Ctrl+L Repeat last search
Ctrl+N Open list of labels (names)
Ctrl+O Scan object files
Ctrl+R Find references to selected command
Ctrl+S Search for a sequence of commands
Asterisk (*) Origin
Enter Follow jump or call
Plus (+) Go to next Location/next run trace item
Minus (-) Go to previous Location/previous run trace item
Space ( ) Assemble
Colon (:) Add label
Semicolon (;) Add comment
ctrl+위, 아래 화살표키 디스어셈블 위치 지정
Posted by Nvdark
,
예전에 만들어놨던 사이트 주소들이지만 지금 있을지 없을지는 잘 모를 사이트들...ㄷㄷ




부트스트랩 제작 관련 :
VnutZ's Domain : Bootstrap Tutorial
Easy OS 라는 아주 간단한 16 비트 리얼모드에 운영체제 : Free2Code - articles - Writing your own operating system
운영체제 제작에 도움이 되는 정보 : OSRC: The Operating System Resource Center
운영체제 제작에 도움이 되는 문서 : Bona Fide OSDev Documents
보호 모드 관련 : Protected mode and operating systems
키보드에서 발생하는 인터럽트 스캔 코드 관련 : Scan Codes Demystified
어셈블리로 만든 운영체제 : MenuetOS
어셈블리로 만들었고 소스도 공개 된 운영체제 : Sol OS - Oby

masm32.com
어셈러브(ASMlove) - 어셈블리 개발자 그룹
Welcome to linuxassembly.org

crackmes.de
CrackZ's Reverse Engineering Page (1997-2005).
Le4rN TO Cr4cK
Posted by Nvdark
,