📚 OpenRCE is preserved as a read-only archive. Launched at RECon Montreal in 2005. Registration and posting are disabled.








Flag: Tornado! Hurricane!

 Forums >>  Brainstorms - General  >>  ProcDump

Topic created on: January 22, 2007 09:45 CST by Lodus .

Hello,
I would to hear your opinion to my (? i havent found this trick anywhere, but i dont think i've just discovered it) anti procdump trick. Its based on rewriting ImageBase and SizeOfImage of proces which has to be protected against ProcDump.

Code:
push fs:[$30]
pop eax
mov eax, [eax+0Ch]
mov eax, [eax+0Ch]
mov dword ptr [eax+18h], 0 ;ImageBase = 0
mov dword ptr [eax+20h], 0 ;SizeOfImage = 0

After execution of this code is process invisible in ProcDump process list, otherwise there is a blank item with details of loaded modules (there isnt referenced exe).

My main question is, does rewriting of ImageBase influence running of program? Like there will be not possible to use some APIs or something else. If yes, is there any way how to prevent it? Is it safe?

Thanks for reply

  chrisr     January 22, 2007 12:18.38 CST
This wont help you much but I was able to do something similar in the Unix world. Using the gcc '__attribute__ ((constructor))' I wrote a quick function that would erase its own processes ELF and PHDR header and then start main(). In my quick and dirty example there was no problems at runtime. It does not fool many process dumper/comparison tools because most of them require analysis of the executable on disk, which gives them all the information they need. I have not used procdump (im not a windows guy) so that probably didnt help you :)

  Anordem     January 23, 2007 07:30.42 CST
Hi,

This trick is well known for years and is commonly used by packers. I don't think that this could disturb the execution of the program because the ImageBase is available elsewhere (GetModuleHandle uses PEB + 08).
However, Procdump is old now and there are other tools that do the job (OllyDump for example).

  Lodus     January 23, 2007 15:00.45 CST
thanks to all, thats what i wanted to hear, thanks a lot :)

Note: Registration is required to post to the forums.

There are 31,328 total registered users.


Recently Created Topics
[help] Unpacking VMP...
Mar/12
Reverse Engineering ...
Jul/06
let 'IDAPython' impo...
Sep/24
set 'IDAPython' as t...
Sep/24
GuessType return une...
Sep/20
About retrieving the...
Sep/07
How to find specific...
Aug/15
How to get data depe...
Jul/07
Identify RVA data in...
May/06
Question about memor...
Dec/12


Recent Forum Posts
Finding the procedur...
rolEYder
Question about debbu...
rolEYder
Identify RVA data in...
sohlow
let 'IDAPython' impo...
sohlow
How to find specific...
hackgreti
Problem with ollydbg
sh3dow
How can I write olly...
sh3dow
New LoadMAP plugin v...
mefisto...
Intel pin in loaded ...
djnemo
OOP_RE tool available?
Bl4ckm4n


Recent Blog Entries
halsten
Mar/14
Breaking IonCUBE VM

oleavr
Oct/24
Anatomy of a code tracer

hasherezade
Sep/24
IAT Patcher - new tool for ...

oleavr
Aug/27
CryptoShark: code tracer ba...

oleavr
Jun/25
Build a debugger in 5 minutes

More ...


Recent Blog Comments
nieo on:
Mar/22
IAT Patcher - new tool for ...

djnemo on:
Nov/17
Kernel debugger vs user mod...

acel on:
Nov/14
Kernel debugger vs user mod...

pedram on:
Dec/21
frida.github.io: scriptable...

capadleman on:
Jun/19
Using NtCreateThreadEx for ...

More ...


Imagery
SoySauce Blueprint
Jun 6, 2008

[+] expand

View Gallery (11) / Submit