본문 바로가기

외로움이란... 사람들은 보통 외로움이라고 하면 부정적인 단어들을 생각한다.불안, 위축, 고립, 단절, 슬픔, 무기력, 우울, 패배, 나락, 공포, 몰락, 고통, 절망.. 그런데 외로움은 항상 위 단어와 같지 않고 두 갈래 길로 나뉘게 된다.1. 론리니스 ( loneliness ) - 혼자 있는 '고통'을 표현하는 말 - 관계로부터 격리된 부정적 혼자됨 - 내가 원하는 나와 실제의 내가 달라서 답답하고 외로움 - 내가 누군가에게 바라는 것과 실제 받을 수 있는 것의 차이가 너무 커서 실망스럽고 외로움 - 내 마음을 이해받지 못했을 때 - 거절 또는 거부를 당했을 때 - 바참한 현실이 따스한 기대를 압도해 무너뜨렸을 때 - 외로움이 분노와 결합되면 마음속의 악마를 키워내고 원한으로 발전( 자기학대, 묻지마 범죄 등등 ) .. 더보기
ZwProtectVirtualMemory 의 악몽 ZwProtectVirtualMemory... 이 함수 때문에 벌써 두 번이나 애를 먹었네요. 일단 저 함수를 쓰려는 시나리오는 다음과 같습니다. 커널 드라이버에서 특정 프로세스의 유저영역 메모리에 접근해 text section 값을 변경하려고 했습니다.이를 위해 ZwProtectVirtualMemory를 사용해 WRITE 권한을 주소 ZwWriteVirtualMemory를 사용해 메모리를 수정하려는 작업니다. 간략한 pseudo-code를 보겠습니다.ZwProtectVirtualMemory(hProcess,&TargetAddress,&memSize,PAGE_EXECUTE_READWRITE,&ulOldProtect); ZwWriteVirtualMemory(hProcess,TargetAddress,Sour.. 더보기
Driver에서 ZwReadVirtualMemory 사용하기 X64 환경에서 진행되었습니다.드라이버에서 특정 프로세스의 유저모드 메모리를 읽어오려는 작업을 하고 있었습니다.컨텍스트를 타겟 프로세스 컨텍스트로 바꿔주고 유저메모리에서 값을 읽어오기 위해 ZwReadVirtualMemory를 코드에 썼습니다. 하지만 해당 함수는 nt 에서 export 하고 있지않아 컴파일 에러가 뜨더군요.할수 없이 커널의 SDT에서 NtReadVirtualMemory 주소 값을 얻어와 사용했습니다. 하지만! 접근 위반이라는 에러를 내뿜더군요. ㅠㅠ 커널 상에서 강제로 ZwReadVirtualMemory로 주소 값을 바꿔서 진행해보니 잘 얻어오는 것이었습니다. 으잉?!Nt와 Zw 차이점을 아시는 분이라면 왜 이러한 결과가 발생하는지 대충 짐작하실 수 있겠습니다 :D여기선 자세한 설명은 .. 더보기