http://www.bloter.net/archives/18590 윈도우 7http://forensic-proof.com/archives/3871 윈도우 8http://it.donga.com/21152/ 윈도우 10 날 잡아서 한 번에 별도로 정리를... 간략한 Windows 메모리 방어기법 정리1. GS(특별한 약자 없는 듯 하다... Stack Cookie) Linux의 Stack Guard와 비슷하다. Buffer와 ret 사이에 특정 값을 넣고 체크하는데 이 때 Cookie가 변조될 경우 SEH를 통해 예외처리 실시 Visual Studio 2003 부터 적용되며 SEH Overwrite를 통해 우회 가능 2. SafeSEH (Safe Structured Exception Handling) Win..
IP 주소에는 총 4개의 옥테트(Octet)가 있다, 일명 .ex)127.0.0.1 IP 주소는 네트워크 부분과 호스트 부분으로 나뉨(같은 네트워크일 경우 네트워크 부분이 동일!)같은 네트워크일 경우 호스트 부분이 반드시 달라야 하고 다른 네트워크는 네트워크 부분이 달라 같아도 된다. 컴퓨터와 내부 네트워크에 연결되는 라우터의 포트를 이더넷 인터페이스외부 측 인터넷 쪽으로 연결되는 인터페이스를 시리얼 인터페이스 ARP - ip 주소를 통해 mac 주소를 찾는다.RARP - mac 주소로 ip 주소를 찾는다. 네트워크란 하나의 브로드캐스트 영역이다. 때문에 같은 네트워크에 있을 경우 라우터를 거치지 않고 다른 네트워크의 경우는 라우터를 거친다. IP 주소 클래스(A부터 E까지 있지만 ABC 3개만 알면 된..
Linux에서는 프로세스가 운영체제 커널에 어떤 동작을 요청하기 위해 시스템을 호출하는 방법은 2가지가 있다.하나는 libc(라이브러리)의 포장함수를 통해 호출하는 방법, 또 하나는 시스템 콜을 통해 직접 실행하는 방법이다. 포장함수란 무엇인가? 포장함수는 이름 그대로 포장된 함수이다. 편의성 또는 기능을 보다 확장하기 위해 기본적으로 동작을 요청하기 위한 시스템 콜에 특정 기능을 추가하여 포장한 함수이다.운영체제 커널에 시스템 콜을 할 경우 어떤 동작 또는 서비스를 요청하여 실행할 수 있는데 이것을 위해 시스템 콜은 여러 개가 있으며 필요에 따라 쉽게 사용될 수 있도록 C 함수처럼 호출될 수 있도록 만들어져 있다.따라서 포장함수는 시스템 콜을 함수처럼 내부에서 호출할 수 있도록 그대로 가져다 사용하고 ..
WinAPI 콤보박스(ComboBox)와 에디트컨트롤(Edit Control) 예제 전체 소스 #include LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam);HINSTANCE hInst; int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow){HWND hwnd;MSG msg;WNDCLASS WndClass;hInst = hInstance;WndClass.style = CS_HREDRAW | CS_VREDRAW;WndClass.lpfnWndProc = WndProc;WndClass.cbClsExtr..
Win API를 통한 사칙연산기 메뉴바 다이얼로그 전체 소스 #include #include #include "resource.h" LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam);BOOL CALLBACK Dlg_Proc(HWND hDlg, UINT iMsg, WPARAM wParam, LPARAM lParam);HINSTANCE hInst; int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow){HWND hwnd;MSG msg;WNDCLASS WndClass;hInst = hInstance;Wnd..
1차적으로 만든 계산기 소스 코드 다이얼로그 메뉴바 전체 소스 코드#include #include #include "resource.h" LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam);BOOL CALLBACK Dlg_Proc(HWND hDlg, UINT iMsg,WPARAM wParam, LPARAM lParam);HINSTANCE hInst; int a = NULL, b = NULL, result = 0, count = NULL;char ch; int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdSho..
첫 번째 예제 1. 쉘 스크립트 실행while :;do echo "echo Input file" >> /tmp/text.sh chmod 755 /tmp/test.sh sleep 1 ;done 2. 쉘 스크립트 작성tribal@tribal-virtual-machine:~/debug/shell$ vim exam.sh#!/bin/bash while truedo echo "echo Input file" >> /tmp/text.sh chmod 755 /tmp/test.sh sleep 1done 두 번째 예제 출처 : http://blog.naver.com/PostView.nhn?blogId=bestheroz&logNo=66975657&categoryNo=4&viewDate=¤tPage=1&listtyp..
GCC(GNU Compiler Collection) : GNU 컴파일러 묶음gcc(GNU C Compiler) : GNU C 컴파일러 gcc의 장점 : 여러 옵션과 기능이 풍부, 수 많은 CPU 아키텍처를 지원 gcc는 실제 컴파일 과정을 담당하지 않고 전처리기와 C 컴파일러, 어셈블러, 링커를 각각 호출하는 역할을 수행하는 컴파일러 드라이버이다.gcc 컴파일 과정 : 전처리기 -> 컴파일러 -> 어셈블러 -> 링커 - 전처리기는 프로그램이 돌아가는 과정을 가져오는 단계(헤더 파일 합치고 #ifdef같은거 정리) - 컴파일러는 프로그램을 만들 준비를 함(어휘, 구문, 의미 분석 및 중간언어 생성, 최적화) 즉, 소스코드 확인(잘못된 점이나 소스 코드 효율성 등) - 어셈블러는 어셈블리어로 변환하기 위한 ..