본문 바로가기

분류 전체보기168

좌우 스크롤 마우스 작업용 마우스를 보면 좌우 스크롤 기능이 있는 마우스가 있습니다. 다른건 몰라도 좌우 스크롤 기능이 있으면 정말 편하겠다고 생각하던 찰나에 후킹을 통해서 마우스 x버튼을 좌우 스크롤 기능으로 바꿔보면 어떨까 생각해서 만들어 보았습니다. x1버튼은 좌 스크롤 x2버튼은 우 스크롤 기능으로 변경하였습니다. 적용을 누르게 되면 마우스의 x버튼이 좌우 스크롤 기능으로 변경됩니다. 2022. 9. 19.
TEB TEB TEB는 프로세스에서 실행되는 스레드에 대한 정보를 담고 있는 구조체입니다. 스레드별로 TEB구조체가 하나씩 할당됩니다. 또한 TEB구조체는 OS종류별로 그 모양이 조금씩 달라지며 세부적인 내용에 대해서는 문서화되어 있습니다. TEB 구조체 정의 typedef struct _TEB { PVOID Reserved1[12]; PPEB ProcessEnvironmentBlock; PVOID Reserved2[399]; BYTE Reserved3[1952]; PVOID TlsSlots[64]; BYTE Reserved4[8]; PVOID Reserved5[26]; PVOID ReservedForOle; PVOID Reserved6[4]; PVOID TlsExpansionSlots; } TEB, *PTEB.. 2022. 9. 16.
TLS CALLBACK #include #pragma comment(linker, "/INCLUDE:__tls_used") void print_console(char* szMsg) { HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE); WriteConsoleA(hStdout, szMsg, strlen(szMsg), NULL, NULL); } void NTAPI TLS_CALLBACK1(PVOID DllHandle, DWORD Reason, PVOID Reserved) { char szMsg[80] = {0,}; wsprintfA(szMsg, "TLS_CALLBACK1() : DllHandle = %X, Reason = %d\n", DllHandle, Reason); print_console.. 2022. 8. 31.
CreateRemoteThread() API 호출 흐름 Windows XP Windows 7 Kernel32!CreateRemoteThread() -> ntdll!ZwCreateThread() Kernel32!CreateRemoteThread() -> kernelbase!CreateRemoteThreadEx() -> ntdll!ZwCreateThreadEx() 2022. 8. 29.
Session in Kernel 6 Windows 응용 프로그램 개발자라면, (xp에서 잘 실행되는) 서비스 프로그램이 vista 혹은 7에서 정상적으로 동작하지 않는 경험을 해보았을 것입니다. 이는 주로 사용자와 인터렉티브하게 동작하는 서비스 프로그램에 해당됩니다. 즉 서비스로 동작하는 프로그램에서 사용자 다이얼로그를 출력하거나, 사용자 프로그램과 서비스 프로그램 사이의 메시지 통신등을 시도 할 때 예전의 xp처럼 잘되지 않는 것 입니다. 그이유는 Kernel6에서 적용된 세션 관리 정책이 변경되었기 때문입니다. Kernel6에서 세션 관리 정책 변경은 개발 관점에서도 중요한 일이지만, 리버싱 관점에서도 매우 중요한 사건입니다. 왜냐하면 기존부터 널리 사용되던 CreateRemote Thread() API를 이용한 DLL 인젝션 방법이 .. 2022. 8. 29.
간단한 타이머 HTML 삽입 미리보기할 수 없는 소스 타이머 입니다. 2022. 8. 28.
반응형