Tools/Windows
-
Windbg Commands / TipsTools/Windows 2024. 4. 25. 19:13
Useful Windbg CommandCheck InstructionuMemory Viewdqdddb? poi rcx+420hdq poi rcx+420hdq poi(poi(rcx+420h))Break PointConditional Break Pointba w1 addressba w2 addressba r1 addressba r2 addressbu General Break Pointbp [address | symbol]bd [num]bc [num]be [num]bc *bd *Exceptions sx sxe 0xC0000420sxe 0xc0000002sd *sxe ld test.dllExecutiong / p / t / upc / pt / tt / tag- / g-u / g-p / guF11, F10, Sh..
-
Windbg: Windows Kernel DebuggingTools/Windows 2024. 3. 16. 00:34
Commands1. Find out target binary EPROCESS address!process 0 0 calc.exe 2. Context Swiching.process /i EPROCESS_ADDRESSg 3. Load symbols.sympath!sym noisy.reload /f /userlm 4. Set break pointsxe ld test.sysbm calc!*ba w8 ADDRESSbp /p @$proc calc!blabla~[bp/bm/bc/bd/be] 5. Unload symbolbc *.reload /u /user.process /r /p ETC- Commentbp TEST!execute; $$ before executingAnother way1. Target PCwindbg..
-
Visual Studio TipsTools/Windows 2024. 3. 13. 00:59
단축키코드 정리: Ctrl + k + f주석: Ctrl + k + c주석 제거: Ctrl + k + u함수 이름 일괄 변경: Ctrl + r + rDisable warning#pragma warning( disable : 4996) #define _CRT_SECURE_NO_WARNINGLPWSTR- 프로젝트 속성 -> C/C++ -> 언어 -> 준수 모드 -> "아니오"로 변경- 프로젝트 속성 -> 구성 속성 -> 고급 -> 문자 집합 -> "멀티바이트 문자 집합 사용"으로 변경 _bstr_t_bstr_t(L"BLA~BLA") Winpcap - Preprocessor#include #include #include #include #include #define HAVE_REMOTE#include "pc..
-
Instrumentation for WindowsTools/Windows 2024. 3. 4. 17:28
DBI(Dynamic Binary Instrumentation) ToolsDynamoRio무겁지만 대부분의 시스템에서 안정적으로 잘 도는 도구정상적으로 동작하지 않는 문제가 있다면, 다른 버전의 Release를 사용해보는 방법이 있음URL: https://dynamorio.org/ Pin무거운 편에 속함나름 안정적으로 동작하고, 일반적인 경우에 LightHouse에서 제공하는 CodeCoverage[64].dll를 사용하면 효율이 좋음CodeCoverage.dll은 직접 컴파일 해도 되지만, lighthouse에서 컴파일 된 바이너리도 제공하고 있음직접 컴파일 하려면 [Link]를 따라하면 됨중요한 점은 LightHouse에서 받는 CodeCoverage.dll이 Pin의 버..
-
Windows Application Fuzzing 기본 세팅Tools/Windows 2023. 4. 7. 13:12
Windows Application FuzzerWindows Application 퍼징을 위해 일반적으로 WinAFL, TinyAFL, Jackalope와 같은 퍼저들을 사용한다.이 퍼저들은 윈도우를 기반으로 하고 있어서, 유용한 시스템콜을 지원하는 리눅스와는 다르게 제약 사항들이 존재한다.또, 상황에 따라 코어를 제대로 사용하지 못하기도 하고, 윈도우에서 제공하는 기능 때문에 속도가 느려지기도 한다.가장 기본적으로 윈도우 시스템상에서 세팅하고 설치해 주면 좋은 것들은 다음과 같다.Improving Fuzzing Speed1. Windows Defender AV ScanningAV Scanning 중 Real-time protection 기능은 파일 생성 시 많은 리소스를 차지하므로 꼭 꺼줘야 한다.기본..
-
kdnet: Windows 10 Kernel Network Debugging SettingTools/Windows 2022. 12. 2. 13:08
일반적인 시리얼 포트로 연결해 커널 디버깅 하는 것은 네트워크에 비해 상대적으로 느리다.windbg와 함께 설치되는 kdnet.exe를 이용하면 빠른 속도의 네트워크 디버깅이 가능하다. 1. Windows sdk 설치※ Windows SDK에서는 디버깅 툴만 설치하면 된다.https://developer.microsoft.com/ko-kr/windows/downloads/windows-sdk/ Windows SDK - Windows 앱 개발Windows SDK Windows 11용 Windows SDK(10.0.22000)는 Windows 애플리케이션을 빌드할 수 있는 최신 헤더, 라이브러리, 메타데이터, 도구를 제공합니다. 이 SDK를 사용하여 Windows 11 및 이전 Window..
-
Windows Kernel Symbol(pdb file)Tools/Windows 2021. 9. 14. 23:06
pdb파일을 받을 수 있는 방법은 많다. 직접적으로 Request를 보내 받아오는 방법도 있고(https://github.com/ajkhoury/pdbfetch), IDA Pro는 인터넷이 연결되어있으면 사용자에게 물어보고 알아서 받아오기도 한다. Kernel Debugging을 할 때도 직접 받을 수 있는데, 너무 쉽고 당연해서 그런지 정리글이 없다. Kernel Debugging 환경이 있을 때, windbg(kd)를 통해 받는 방법이다. 1. Symbol Path 설정 .sympath srv* C:\symbols*https://msdl.microsoft.com/download/symbols 위 명령어를 이용해 심볼을 저장할 path를 설정한다. 혹은 Ctrl+S를 눌러 Symbol Search Pa..
-
VirtualKD: Windows 10 Kernel Debugging SettingTools/Windows 2021. 9. 14. 23:06
일반적으로 VM에 설치된 Windows를 windbg와 시리얼 통신을 이용해 Kernel 디버깅을 한다. 커널 디버깅은 상황에 따라 느릴 때도 있고, 여러가지 자잘자잘한 귀찮은 세팅이 필요할 수 있다. 이를 보완해 편하게 디버깅하고자 만들어진 툴이 VirtualKD인데, 러시아 사람이 만든 툴로 매우 빠르다. 뿐만 아니라 세팅도 단순한 편이고, UI도 직관적이라 쉽게 사용할 수 있다. 여러 블로그에서 설명이 잘 되어있긴 한데, VirtualKD-2.8 버전급으로 낮은 버전의 포스팅이 많다. 이는 Windows 8을 대상으로 만들어져서 Windows 10에서는 정상적으로 작동하지 않는 경우가 많다. 나는 Windows 10 디버깅을 위해 원래 VirutalKD-3.0 버전을 조금 수정해서 썼었는데, 특정 ..