see more:341K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3c8W2M7X3!0C8L8#2)9J5k6i4m8Z5k6h3q4J5L8r3g2K6M7#2)9J5k6h3!0J5k6#2)9J5c8X3c8G2k6i4u0Q4x3X3g2Z5N6r3#2D9
Dream Of Every Reverser is ring3 memory tracing project which is currently in stable phase so that's why it is released anyway. Features: - Stealth trace of memory access on given range - speed - PAE and normal addressing mode supported Limitations: - no win2k3 support - no MP support - systems running KAV not supported, that shit hooks needed code in ntoskrnl.exe so tracer won't work with it!!
Dream Of Every Reverser
deroko of ARTeam
Usage:
- use loader.exe to load tracer engine, after that put tr1.exe in folder of your target, rename target to unpackme.exe and run tr1.exe, and watch output in DebugView...
Theory and coding
To make working r0 memory tracer some rules must be defined.
- r3 memory is pagable - no way to lock that memory - SwapContext hook is required
Ring3 memory is pagable so there are 2 ways of controling access to it. One of them is when memory is paged out, in that case P bit in pte is set to 0. When such page is being accessed IA32 generates page fault so access to this page can be tracked like that.
When page is in memory P bit can't be used track access to memory in r3. This is place where U/S bit is used to mark present pages as supervisor, so any access from r3 will cause page fault. Only task here is to such pages set to user and to return from handler.
All of this is performed by hook of int 0e handler.
Role of SwapContext is to clear and set breaks on memory which is not paged out. During execution memory can be paged out/in. So to keep everything under control on execution of traced process breaks are set.
- win2k3 is not supported - MP system is not supported - systems running Kaspersky shit and other shity AVs which patch your system more then any known rootkit are not compatible with this tracer. Don't like this? I don't care
as i kown ,Shadow Walker no open the full source......Shadow Walker's code is base on FU rootkit...
----[ 3.4 - Proof Of Concept Implementation
Our current implementation uses a modified FU rootkit and a new page fault handler called Shadow Walker. Since FU alters kernel data structures to hide processes and does not utilize any code hooks, we only had to be concerned with hiding the FU driver in memory. The kernel accounts for every process running on the system by storing an object called an EPROCESS block for each process in an internal linked list. FU disconnects the process it wants to hide from this linked list.