Tools
-
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 기능은 파일 생성 시 많은 리소스를 차지하므로 꼭 꺼줘야 한다.기본..
-
IDA Hex-ray PluginsTools 2023. 3. 8. 16:40
범용 Plugin LazyIDA: https://github.com/L4ys/LazyIDA - Return type 지우는 기능으로 가독성을 챙길 수 있고, Copy기능은 디버깅 시 유용함 HexRays CodeXplorer: https://github.com/REhints/HexRaysCodeXplorer - 구조체 역추적, 메모리 주소에 변수 이름 할당 Diaphora: https://github.com/joxeankoret/diaphora - Code diffing Plugin, bindiff도 좋음 간간히 먹통될 때 번갈아가면서 사용 LightHouse: https://github.com/gaasedelen/lighthouse - Code Coverage Plugin, 단독 사용은 안되고 Dyna..
-
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..