Сейчас на форуме: igorcauret (+8 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Как заатачить олю к процесcу который под дебагом ? |
Посл.ответ | Сообщение |
|
Создано: 26 мая 2014 11:50 · Личное сообщение · #1 Всем привет, подскажите пожалуйста как подключить олю к процеcсу который уже под дебагом ? Есть программа которая запускает сама себя, к "родителю" заатачить позволяет, а к чайлду - нет, пишет "Unable to attach to process ..." Есть вариант хукнуть CreateProcess и убрать флаг отладки, но думаю там не все так просто в логике. ![]() |
|
Создано: 26 мая 2014 12:15 · Поправил: Alinator3500 · Личное сообщение · #2 Очень хорошее пособие для анализа: An Anti-Reverse Engineering Guide "Self-Debugging is a technique where the main process spawns a child process that debugs the process that created the child process, as shown in the diagram. This technique can be very useful as it can be utilized to implement techniques such as Nanomites and others. This also prevents other debuggers from attaching to the same process; however, this can be bypassed be setting the EPROCESS->DebugPort (the EPROCESS structure is a struct returned by the kernel mode function PsGetProcessId) field to 0. This allows another debugger to attach to a process that already has a debugger attached to it. Here's some sample code:" http://www.codeproject.com/Articles/30815/An-Anti-Reverse-Engineering-Guide#SelfDebugging Table of Contents Breakpoints - Int 3 - Memory - Hardware Timing Attacks - RDTSC - Win32 Timing APIs Windows Internals - ProcessDebugFlags - Debug Object Handle - Thread Hiding - BlockInput - OutputDebugString Process Exploitation - Open Process - Parent Processes - Self-Debugging - UnhandledExceptionFilter - NtQueryObject Anti-Dumping - Nanomites - Stolen Code (Stolen Bytes) - SizeOfImage - Virtual Machines - Guard Pages - Removing the PE Header IA-32 Instruction Exploits - Interrupt 2D - Stack Segment - Instruction Prefixes OllyDBG Specific - FindWindow - OutputDebugString Exploit WinDBG Specific - FindWindow Other Techniques - Junk Code - Native Code Permutations ![]() |
|
Создано: 26 мая 2014 12:22 · Личное сообщение · #3 Ну и PsLookupProcessByProcessId никто не отменял, но думается мне, что не этого желает автор. Такие жёсткие радикальные меры нужны были до ХР, в ХР появилась DebugActiveProcessStop. Вот только приаттачив свой дебаггер, надо будет хэндлить иксепшены дочернего процесса, что раньше делал процесс-дебаггер, который вы хотите отсобачить. А вообще туторов по армадилле достаточно. ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 26 мая 2014 12:57 · Личное сообщение · #4 Прога как раз накрыта армой. Но мне интересна длл-ка плагин которую грузит программа, а конкретно несколько функции и аргументы для них, а то в статите сложно разобрать алгоритм работы. Вот и думаю как убрать само-дебаг. Пробовал делать с парента DebugSetProcessKillOnExit(0) DebugActiveProcessStop(х) Sleep(-1) но тогда чайлд умирает через секунду) ![]() |
|
Создано: 26 мая 2014 13:19 · Личное сообщение · #5 MegaZu Распакуй армагедоном и не парься ![]() А вообще все зависит от версии и опций защиты. Если версия не совсем новая с дебаг-блоккером и там нету наномитов, то после второго OpenMutexA в eax положить 1. Если версия "новая" и с теми же опциями, то нужно деаттачить, примерно как тут https://tuts4you.com/download.php?view.302 В остальных случаях проще распаковать, иначе замучаешься. ![]() |
|
Создано: 28 мая 2014 01:53 · Личное сообщение · #6 |
|
Создано: 28 мая 2014 09:26 · Личное сообщение · #7 |
|
Создано: 03 июня 2014 23:30 · Личное сообщение · #8 |
|
Создано: 04 июня 2014 10:05 · Личное сообщение · #9 |
|
Создано: 04 июня 2014 11:20 · Личное сообщение · #10 |
|
Создано: 04 июня 2014 12:10 · Личное сообщение · #11 |
![]() |
eXeL@B —› Вопросы новичков —› Как заатачить олю к процесcу который под дебагом ? |