evaluator
February 20th, 2003, 14:19
Hi, BTW, +SPLAJ!
in respect for Woodmann's job, I forced myself to write this little gift(?),
for show: this RCE-MB is NOT for cracking, but for researching & knowledge_sharing
So..my DEAdR Protetors, lets enlarge your phuntasy.
For now, letz EASY-PEASY defiat some futures of "some" SiCe plugin called "ICEDUMP".
1. Future- "/PROTECT"
This quite cool future changes IDT's memory attribute to "SUPERVISOR",
so easy reports Read-Write attempt from Ring3 code.
However that is also quite easy way for detect this or change
using STANDARTness windz-API!
DETECT it using "VirtualQuery" function for IDT memory page.
CHANGE it using "VirtualProtect" function.
[note: R-only pages upper 80000000 won't change, because API so coded. {Hint!?}]
2. Future- in function "/TRACEX"- option "Emulate NT win32-selectors"
Read from & write back into selectors, & will self-defiated!
(:injoi
3. in function "/TRACEX" RDTSC is badly simulated.
in EDX returns 0;
EAX not increments;
???~:0???
4. under "/TRACEX" SIDT simulation:
A) reports IDT address upper C0000000h. Check it, so easy
(because of it "VirtualQuery" will fail anyway!)
B) DAEMON already reported, that address points to fake IDT with strange structure.
.
more come tomorrow
*-*
in attachment I put sample EXEcuteble
Usage:
1. Set "/PROTECT ON" in ICEDUMP & execute. It will detect & restore RW/User attrib.
2. Load EXE, start tracer with command "/TRACEX 401000 401040"
2a. if you enable "Emulate NT win32-selectors" with command "/OPTION T E" & again
try "/TRACEX 401000 401040", EXE will crash.
in respect for Woodmann's job, I forced myself to write this little gift(?),
for show: this RCE-MB is NOT for cracking, but for researching & knowledge_sharing
So..my DEAdR Protetors, lets enlarge your phuntasy.
For now, letz EASY-PEASY defiat some futures of "some" SiCe plugin called "ICEDUMP".
1. Future- "/PROTECT"
This quite cool future changes IDT's memory attribute to "SUPERVISOR",
so easy reports Read-Write attempt from Ring3 code.
However that is also quite easy way for detect this or change
using STANDARTness windz-API!
DETECT it using "VirtualQuery" function for IDT memory page.
CHANGE it using "VirtualProtect" function.
[note: R-only pages upper 80000000 won't change, because API so coded. {Hint!?}]
2. Future- in function "/TRACEX"- option "Emulate NT win32-selectors"
Read from & write back into selectors, & will self-defiated!
(:injoi

3. in function "/TRACEX" RDTSC is badly simulated.
in EDX returns 0;
EAX not increments;
???~:0???
4. under "/TRACEX" SIDT simulation:
A) reports IDT address upper C0000000h. Check it, so easy

(because of it "VirtualQuery" will fail anyway!)
B) DAEMON already reported, that address points to fake IDT with strange structure.
.
more come tomorrow

*-*
in attachment I put sample EXEcuteble
Usage:
1. Set "/PROTECT ON" in ICEDUMP & execute. It will detect & restore RW/User attrib.
2. Load EXE, start tracer with command "/TRACEX 401000 401040"
2a. if you enable "Emulate NT win32-selectors" with command "/OPTION T E" & again
try "/TRACEX 401000 401040", EXE will crash.