📄 nticedump.doc
字号:
icedump 5.17 was the first version of our extension toolkit which adds
support for NTICE and Windows NT platforms. This document discusses NTICE and
Windows NT specific issues while using our tool.
Currently only the memory dumper and the Bhrama activator has been
ported to nticedump. Expect other commands to be added in future versions, in
both nticedump and icedump.
nticedump supports both 32 bit PM clients, in both ring-0 and ring-3
and 16 bit PM and (E)V86, DPMI, DOS4GW or any other DOS extender applications.
1. Commands Syntax
------------------
1. Memory Dump: PAGEIN D BaseAddress Length FileName
Example: PAGEIN D 400000 512 \??\C:\memory.dmp
PAGEIN D 400000 300 C:\memory.dmp
2. Pagein a memory page: PAGEIN D Address
Example: PAGEIN D 400000
3.Toggle dump Expert mode on/off: PAGEIN D
Example: PAGEIN D
4. Process Dump: PAGEIN B <Bhrama window name>
Example: PAGEIN B ProcDump32 - Dumper Server
5. File Load: PAGEIN L BaseAddress Length FileName
Example: PAGEIN L 400000 512 \??\C:\memory.dmp
PAGEIN L 400000 300 C:\memory.dmp
6. Help PAGEIN
Example: PAGEIN
2. Notes about installation, patching ntice.sys and supported versions
----------------------------------------------------------------------
Currently versions 3.22, 3.23, 3.24, 3.25, 4.00, 4.01, 4.05 are
supported by nticedump. Note that support for 3.25 is ensured only for the
original build, the updated one is not supported in this build of nticedump.
For binding the binary images into ntice.sys, use the included patcher
tool, ntid.exe, written by our friend G-Rom, author of the world-wide famous
Procdump. The utility is pretty straight-forward to use, so I won't comment
its usage now.
Windows NT 3.51 is NOT supported and will NEVER be.
3. File system issues
---------------------
Due to some changes in the load order for the file system device
drivers in Win2k, NTICE will complete initialization before any valid file
system driver is loaded. This situation is not handled by the current version
of nticedump, and therefore you have to be sure that a file system device was
mounted before trying to dump memory.
Future versions of nticedump will allow a special mode of dumping
through locked memory buffers and queued IO to support dumping in this
situation.
(God, why should I bother with this? I doubt that anyone will ever need it :P)
4. Breakpoints and nticedump
----------------------------
Altough nticedump can safely coexist with any kind of breakpoints,
like a supplementary safety you should not have breakpoints active while
dumping on the following ntoskrnl.exe and win32 API's (or inside those
API's :P):
ZwCreateFile
ZwClose
ZwReadFile
ZwWriteFile
RtlInitAnsiString
RtlAnsiStringToUnicodeString
RtlFreeUnicodeString
MmIsAddressValid
DbgPrint
KeAttachProcess
KeDetachProcess
GetCurrentProcessId
FindWindowA
SendMessageA
BPINT 2E
Any other breakpoints will not interfere with dumper.
5. Specifying correct paths. Dumping with expert mode ON.
---------------------------------------------------------
Dumping memory to a file requires a FULL path name to the output file
name. Please note that from NT IO manager point of view, a string like
"C:\memory.dmp" is not a valid path name. I will not enter in details here
on how the NT IO manager interprets requests of this form for the Win32
subsytem, and while such a path name is invalid. What I will tell you is that
you should use the following forms to pass the file name:
Expert Path Mode
----------------
The expert path mode is the default way of constructing paths
in nticedump. This mode is the only way to specify a valid path name before
the symbolic links to "C:" , "D:" .... "Z" are built.
1. "\??\C:\filename.dmp"
Will create file "filename.dmp" in root of drive C:
2. "\SystemRoot\filename"
Will create file "filename" in Windows NT root directory.
3. "\device\Harddisk0\partition1\filename"
Will create file "filename" in root of drive C:
Note that "\device\Harddisk0\partition1" is a valid object path name in
NT at the executive level. Specifying the path through method 1 is the
preferred way, methods 2 or 3 being required only if you need to dump memory
BEFORE the symbolic links to C: D: .... X: are created. A normal user should
never have to use methods 2 or 3. "SystemRoot" symbolic link is created by
the IO manager before NTICE has completed initialization, so using this name
as a path component should be valid under any circumstances.
User Path Mode
---------------
The user path mode accepts as valid paths the "normal" way, which
any user should be familiar with.
Example:
"C:\memory.dmp"
Please note that you will be unable to dump before the drive letters' symbolic
links are initialized.
Switching Expert mode on and off
--------------------------------
Executing the PAGEIN D command, without any other parameters, will
toggle expert mode on and off. A message is printed to the command window.
Misc. issues. Limitations
--------------------------
Long filenames are fully supported, so a file name like
"ThisIsADumpCreatedWithIcedump" will be accepted without any problems.
Note that specifying an already existing file name will result in a superseed
operation, the old file contents being destroyed, without any warning and
without generating a backup of the old file. So think twice before dumping
to a file name like "\SystemRoot\System32\ntoskrnl.exe" ;=).
The current build is unable to recover from trying to dump a invalid
memory range, such as a range containing non-mapped pages. In this case, the
operating systen will bug-check itself, throwing a PAGE_FAULT_IN_NONPAGED_AREA
bug code. This will be fixed in the next release, until then please think twice
what you dump =). (access to reserved memory will not cause any harm).
6. Error handling. Messages and possible causes
-----------------------------------------------
To be written.
7. Terms of use
---------------
nticedump is provided "as is", without any guarantees. The software may
contain bugs, so use it at your own risk. We, the icedump team cannot be held
responsible for any unintentional damage caused by the use of this product.
8. Technical support
--------------------
Before asking us any questions, do RTFM. However, due to the complexity
of the NT operating system, unforeseen conditions may occur, which can cause
nticedump to fail its task. In this case, first visit http://icedump.tsx.org,
download the last available version, and see if the problem was fixed. If not,
we will be happy to assist you, but be sure that you have the following
information written down for us:
1. nticedump version. Can be retrieved by typing PAGEIN without any
params.
2. NTICE version and Windows NT version (including any Service Pack
you use !!!!). A build number will be preferable, especially for Win2K.
3. In the case of a BSOD, please copy the first 3 lines from the
screen, exactly as they appear. For very interesting situations, we might
need a crash dump from your machine. (Hah, like I have time to spend staring
at your crashdumps :P)
Note that although we provided the source code inside the package, this
was for educational purposes only. We do not intend to support any product
resulted from modified source code. So if you want to customize your nticedump
copy, be sure that you know damn well what you are doing.
If you want that your modifications become part of the official
nticedump package, send them to our team. We reserve the right to reject them
without any explanations, but this will happen only if you propose something
of an incredible stupidity.
We also appreciate ideas for new extension commands.
Credits:
Fossil & The Owl: for the great support they offered me inside UKC
and the Icedump team. Thx you guys.
G-Rom: for Process Dump, the patcher, and overall support.
KrK: for accepting to be a part of our Nticedump Beta team
Muffin: for beeing a good friend, and the editor of this
document. Sorry for the patcher, but the updated
image files are not compatible with your code. Also,
thx for Beta-testing.
JackyX: Beta tester, good work !
The Rain: Who did not care enough to send me his patcher, or
even to get feed-back on beta tests, but I care about
him :P
Acpizer, Animadei, Devil, KrK, G-Rom, Ghiribizzo, Iceman (.de), Lordbyte,
Mammon, Razzi, Slava, Sharp, The Owl, Zip
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -