All Projects → therealdreg → DbgChild

therealdreg / DbgChild

Licence: other
Debug Child Process Tool (auto attach)

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to DbgChild

Dbgchild
Debug Child Process Tool (auto attach)
Stars: ✭ 145 (-34.39%)
Mutual labels:  x64, standalone, x86, hooking, debugging-tool
Winrepl
x86 and x64 assembly "read-eval-print loop" shell for Windows
Stars: ✭ 424 (+91.86%)
Mutual labels:  x64, x86
Iced
Blazing fast and correct x86/x64 disassembler, assembler, decoder, encoder for .NET, Rust, Python, JavaScript
Stars: ✭ 1,102 (+398.64%)
Mutual labels:  x64, x86
Asm Cli Rust
interative assembly shell written in rust
Stars: ✭ 133 (-39.82%)
Mutual labels:  x64, x86
Inline Hook
simple inline-hook framework works for x86, x64, arm and thumb
Stars: ✭ 102 (-53.85%)
Mutual labels:  x64, x86
Asm Cli
Interactive shell of assembly language(X86/X64) based on unicorn and keystone
Stars: ✭ 211 (-4.52%)
Mutual labels:  x64, x86
Rappel
A linux-based assembly REPL for x86, amd64, armv7, and armv8
Stars: ✭ 818 (+270.14%)
Mutual labels:  x64, x86
Reverse Engineering Tutorial
A FREE comprehensive reverse engineering tutorial covering x86, x64, 32-bit ARM & 64-bit ARM architectures.
Stars: ✭ 5,763 (+2507.69%)
Mutual labels:  x64, x86
Beelzebub
The Lord of Flies - A hobby operating system
Stars: ✭ 24 (-89.14%)
Mutual labels:  x64, x86
Asm
Assembly Tutorial for DOS
Stars: ✭ 125 (-43.44%)
Mutual labels:  x64, x86
Xray 16
Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. Join OpenXRay! ;)
Stars: ✭ 1,806 (+717.19%)
Mutual labels:  x64, x86
X86reference
X86 Opcode and Instruction Reference: http://ref.x86asm.net
Stars: ✭ 159 (-28.05%)
Mutual labels:  x64, x86
Labeless
Labeless is a multipurpose IDA Pro plugin system for labels/comments synchronization with a debugger backend, with complex memory dumping and interactive Python scripting capabilities.
Stars: ✭ 378 (+71.04%)
Mutual labels:  x64, x86
Xray 15
X-Ray Engine 1.5 expansion. Original version was used in S.T.A.L.K.E.R.: Clear Sky.
Stars: ✭ 151 (-31.67%)
Mutual labels:  x64, x86
X86 Bare Metal Examples
Dozens of minimal operating systems to learn x86 system programming. Tested on Ubuntu 17.10 host in QEMU 2.10 and real hardware. Userland cheat at: https://github.com/cirosantilli/linux-kernel-module-cheat#userland-assembly ARM baremetal setup at: https://github.com/cirosantilli/linux-kernel-module-cheat#baremetal-setup 学习x86系统编程的数十个最小操作系统。 已在QE…
Stars: ✭ 3,985 (+1703.17%)
Mutual labels:  x64, x86
Bddisasm
bddisasm is a fast, lightweight, x86/x64 instruction decoder. The project also features a fast, basic, x86/x64 instruction emulator, designed specifically to detect shellcode-like behavior.
Stars: ✭ 540 (+144.34%)
Mutual labels:  x64, x86
NIM-CSharp-SDK
网易云信C# SDK
Stars: ✭ 15 (-93.21%)
Mutual labels:  x64, x86
Mirage
kernel-mode Anti-Anti-Debug plugin. based on intel vt-x && ept technology
Stars: ✭ 272 (+23.08%)
Mutual labels:  x64, x86
Distorm
Powerful Disassembler Library For x86/AMD64
Stars: ✭ 829 (+275.11%)
Mutual labels:  x64, x86
Pwnshop
Exploit Development, Reverse Engineering & Cryptography
Stars: ✭ 167 (-24.43%)
Mutual labels:  x64, x86

DbgChild - Debug Child Process Tool

DbgChild is a stand alone tool for debugging child processes (auto attach). DbgChild can be used in conjunction with a plugin for a debugger. Currently DbgChild supports a plugin for the x86/x64 x64dbg debugger.

Support for DbgChild can be extended to OllyDbg and Immunity debugger if so required via donations. Consider make a donation: https://github.com/sponsors/therealdreg


WARNING: If you are using an AV this plugin can fail (AV hooks in ZwCreateUserProcess etc...)

Recommended settings

You have to select the checkboxes in the DbgChild plugin to automatically attach x64dbg to any process started by the executable you’re currently debugging:

recommended_settings.png


WARNING: You must select the checkboxes in both versions of x64dbg, openning x64dbg.exe and x32dbg.exe

Keep open always the NewProcessWatcher.exe

Example of usage

DbgChild x64dbg plugin how to use example video. x32_cmd -> x64_cmd -> x32_cmd -> x32_calc: https://www.youtube.com/watch?v=NfA2HAJa0Rk

https://mrexodia.github.io/reversing/2017/07/12/Analyzing-torrent-repack-malware

https://ragegorilla08.medium.com/qakbot-analysis-d5ea5f5a38c4

Features

  • Hook process creation for x86 or x64 child processes
  • Patching and unpatching of NTDLL process creation for x86 and x64 child processes
  • Process watcher for auto launching of new x64dbg instance when child process detected
  • Modify the suspend (pre) and resume (post) logic to adapt to your own requirements

Content

The DbgChild comprises a number of components to accomplish the task of launching a new x64dbg instance when a child process is hooked and detected. These components are:

  • CreateProcessPatch.exe - Hook ZwCreateUserProcess (two separate exe files for x86 and x64) and loads DbgChildHookDLL.dll
  • DbgChildHookDLL.dll - (two separate dll files for x86 and x64) - outputs process id's to CPIDS folder
  • NTDLLEntryPatch.exe - Patches or unpatches LdrInitializeThunk (two separate exe files for x86 and x64)
  • DbgChild.dp32 - x64dbg plugin x86
  • DbgChild.dp64 - x64dbg plugin x64
  • NewProcessWatcher.exe - Watches for new child processes from the CPIDS folder
  • x64_post.unicode.txt - Support file
  • x64_pre.unicode.txt - Support file
  • x86_post.unicode.txt - Support file
  • x86_pre.unicode.txt - Support file

Download

Download the latest release of DbgChild here

Installation

  • Download the latest version of x64dbg here
  • Extract the contents of the latest release archive to your x64dbg folder

Once extracted the contents should look something like this:

\x64dbg\NewProcessWatcher.exe
\x64dbg\x64_post.unicode.txt
\x64dbg\x64_pre.unicode.txt
\x64dbg\x86_post.unicode.txt
\x64dbg\x86_pre.unicode.txt
\x64dbg\x32\CreateProcessPatch.exe
\x64dbg\x32\DbgChildHookDLL.dll
\x64dbg\x32\NTDLLEntryPatch.exe
\x64dbg\x32\plugins\DbgChild.dp32
\x64dbg\x32\CPIDS\
\x64dbg\x64\CreateProcessPatch.exe
\x64dbg\x64\DbgChildHookDLL.dll
\x64dbg\x64\NTDLLEntryPatch.exe
\x64dbg\x64\plugins\DbgChild.dp64
\x64dbg\x64\CPIDS\
  • Menu options for the DbgChild plugin is available under the "Plugins" menu in the main x64dbg window

Plugin Menu Overview

Hook Process Creation - CreateProcessPatch.exe hooks ZwCreateUserProcess and loads DbgChildHookDLL.dll. There is a x86 version and x64 version of CreateProcessPatch.exe

Auto from x32dbg/x64dbg Hook Process Creation - Toggle option to switch on or off the automatic hooking of the process creation. If it is off, then user must manually select Hook Process Creation at some point before child processes are spawned.

Clear x32|x64\CPIDS - Clear all process id file entries from the x32\CPIDS or x64\CPIDS folder

Open x32|x64\CPIDS - Opens in explorer the x32\CPIDS or x64\CPIDS folder

Create New Entry x32|x64\CPIDS - Adds a new entry to the x32\CPIDS or x64\CPIDS folder

Patch NTDLL Entry - Patches the ntdll.dll LdrInitializeThunk function.

Unpatch NTDLL Entry - Unpatches the ntdll.dll LdrInitializeThunk if it has previously been patched

Auto From x32dbg|x64dbg Unpatch NTDLL Entry - Toggle option to switch on or off the automatic unpatch of the NTDLL entry when 2nd x64dbg instance is launched for child process. If it is off, then user must manually select Unpatch NTDLL Entry in the 2nd x64dbg instance after it has launched

Launch NewProcessWatcher - Starts NewProcessWatcher.exe which monitors the x32\CPIDS or x64\CPIDS folder for new process id files that are created by DbgChildHookDLL.dll when a child process is detected and is about to be spawned

Launch NewProcessWatcher With Old Processes -

Launch from x32dbg|x64dbg NewProcessWatcher Without Ask - Toggle option to switch on or off the automatic prompt to launch NewProcessWatcher. If on then when Hook Process Creation is selected, NewProcessWatcher will automatically launch. If off, then it will display a prompt asking user if they wish to launch NewProcessWatcher

Go to Hook Process Creation - Shows in the x32dbg|x64dbg cpu disassembly window the location of the hook code

Go to NTDLL Patch - Shows in the x32dbg|x64dbg cpu disassembly window the location of the ntdll.dll patch

Edit x32|x64 Suspended Command - Opens x86_pre.unicode.txt or x64_pre.unicode.txt in notepad for editing

Edit x32|x64 Resumed Command - Opens x86_post.unicode.txt or x64_post.unicode.txt in notepad for editing

Remote x32|x64 PID Hook Process Creation - Asks for a process id to remotely hook process creation for

Remote x32|x64 PID Patch NTDLL Entry - Asks for a process id to remotely patch the ntdll.dll LdrInitializeThunk function for

Remote x32|x64 PID Unpatch NTDLL Entry - Asks for a process id to remotely unpatch the ntdll.dll LdrInitializeThunk if it has previously been patched

Open Logs - Open log files

Clear Logs - Clear log files

Auto From x32|x64 Open Logs - Toggle option to switch on or off the automatic opening of the log file

Help - Displays information on the usage of the plugin and its operations

Plugin Info By Dreg - About dialog box showing information about this plugin

Credits

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].