分享

手工查杀木马病毒11—Autoruns-3

 菜园子图书馆 2014-01-27

㈨、映像劫持(Image Hijacks):

这里显示的是 NTSD映像劫持相关的启动。

 

NTSD(Microsoft Windows NT Symbolic/Systems Debugger)是Windows 2000及xp默认安装的一个调试器命令。

 

语法: NTSD [-v] [-2] [-d] [-o] [-g] [-G] [-w] [-lines] [-aDllName] [-s] [-r BreakErrorLevel] [-t PrintErrorLevel] [-hd] [-x | -xd [except#] | -xe [except#]] [-e] [-z] [-- | -p pid | command-line]

  where: -? displays this help text

   -aDllName sets the default extension DLL

   -c executes the following debugger command

  指定要执行的调试命令,多个命令之间用“;”分隔

   -d sends all debugger output to kernel debugger via DbgPrint

   -g ignores initial breakpoint in debuggee

   -G ignores final breakpoint at process termination

   -hd disables heap manager validity checking

   -i ignores AV generated by loader fixups on pre3.51 systems

   -lines requests that line number information be used if present

   -netsyms:{yes|no} allow or disallow loading symbols from a network path

   -o debugs all processes launched by debuggee

   -r specifies the (0-3) error level to break on (SeeSetErrorLevel)

   -s disables lazy symbol loading

   -t specifies the (0-3) error level to display (SeeSetErrorLevel)

   -v enables verbose output from debugger

   -n enables verbose output from symbol handler

   -w specifies to debug 16 bit applications in a separate VDM

   -x disables break on AV exceptions

   -xd disables stopping on specified exception

   -xe enables stopping on specified exception

   -z reserved for OS/2 debugging

   -2 creates a separate console window for debuggee

  对于控制台程序,将输出定向到另一个窗口而不在NTSD窗口显示

   -- is the same as -G -g -o -p -1

   -p pid specifies the decimal process Id to attach to

  指定要调试的进程号,用于调试已经运行的程序

   command-line is the command to run under the debugger

  Environment Variables:

  _NT_SYMBOL_PATH=[Drive:][Path]

  Specify symbol image path. (Default = %SystemRoot%)

  _NT_ALT_SYMBOL_PATH=[Drive:][Path]

  Specify an alternate symbol image path.

  _NT_DEBUG_EXTENSIONS=dllname(s)

  If specified, it is a semi-colon separated list of debugger extension DLL names

  This specifies the search order when resolving debugger extension commands

  A [<address>] - assemble

  在指定地址输入汇编语句

  BC[<bp>] - clear breakpoint(s)

  清除断点

  BD[<bp>] - disable breakpoint(s)

  禁用断点

  BE[<bp>] - enable breakpoint(s)

  启用断点

  BL[<bp>] - list breakpoint(s)

  列出断点

  BP[#] <address> - set breakpoint

  设断点

  C <range> <address> - compare

  比较地址

  D[type][<range>] - dump memory

  显示指定内存范围

  E[type] <address> [<list>] - enter

  在指定地址输入数据(data)是对客观事物的符号表示,是用于表示客观事物的未经加工的原始素材,如图形符号、数字、字母等。
   更多..数据

  F <range> <list> - fill

  在指定内存段填充数据

  G [=<address> [<address>...]] - go

  运行到某个地址

  J<expr> ['']cmd1[''];['']cmd2[''] - conditional execution

  条件执行

  K[B] <count> - stacktrace

  堆栈回溯

  KB = <base> <stack> <ip> - stacktrace from specific state

  L{+|-}[lost*] - Control source options

  LN <expr> - list near

  参数为地址或者函数,显示距离参数中指定地址或者函数最近的函数

  LS[.] [<first>][,<count>] - List source file lines

  LSA <addr>[,<first>][,<count>] - List source file lines at addr

  LSC - Show current source file and line

  LSF[-] <file> - Load or unload a source file for browsing

  M <range> <address> - move

  N [<radix>] - set / show radix

  P[R] [=<addr>] [<value>] - program step

  单步执行

  Q - quit

  #R - multiprocessor register dump

  多处理器环境下显示寄存器

  R[F][L][M <expr>] [[<reg> [= <expr>]]] - reg/flag

  显示寄存器

  Rm[?] [<expr>] - Control prompt register output mask

  S <range> <list> - search

  在指定地址范围内搜寻字符串

  0:000> s 77df0000 77e4c000 ff e4 //从user32的空间中找jmp esp

  77e22c29

  0:000> s 77df0000 77e4c000 ''W'' ''I'' ''N'' ''N'' ''T'' //搜索字符串“WINNT”

  SS <n | a | w> - set symbol suffix

  SX [e|d [<event>|*|<expr>]] - exception

  T[R] [=<address>] [<expr>] - trace

  U [<range>] - unassemble

  显示反汇编语句,同softice的U命令

  X [<*|module>!]<*|symbol> - view symbols

  显示符号,支持通配符,类似于softice的exp命令

  0:000> x user32!*//显示user32的所有符号

  …………

  0:000> x user32!ws*//显示user32的所有以ws开头的符号

  77dffa68 USER32!wsprintfW

  77e0014a USER32!wsprintfA

  .logopen [<file>] - open new log file

  指定日志文件,开启屏幕记录非常有用的功能

  .logappend [<file>] - append to log file

  添加到已存在的日志文件

  .logclose - close log file

  停止记录

  ~ - list threads status

  显示线程状态

  ~#s - set default thread

  设置默认线程

  ~[.|#|*|ddd]f - freeze thread

  ~[.|#|ddd]k[expr] - backtrace stack

  堆栈追踪

  | - list processes status

  显示进程状态

  |#s - set default process

  设置默认进程

  |#<command> - default process override

   <expr> - display expression

  显示地址或者符号信息

  0:000> ? wsprintfA

  Evaluate expression: 2011169098 = 77e0014a

  0:000> ? eip

  Evaluate expression: 2012813324 = 77f9180c

  #<string> [address] - search for a string in the dissasembly

  反汇编指定地址,但是只输出一行语句

  $< <filename> - take input from a command file

  从文件取得要输入的命令

  <expr> ops: + - * / not by wo dw poi mod(%) and(&) xor(^) or(|) hi low

   operands: number in current radix, public symbol, <reg>

  <type> : b (byte), w (word), d[s] (doubleword [with symbols]),

   a (ascii), c (dword and Char), u (unicode), l (list)

   f (float), D (double), s|S (ascii/unicode string)

   q (quadword)

  <pattern> : [(nt | <dll-name>)!]<var-name> (<var-name> can include ? and *)

  <event> : ct, et, ld, av, cc

  <radix> : 8, 10, 16

  <reg> : $u0-$u9, $ea, $exp, $ra, $p

  <addr> : %<32-bit address>

  <range> : <address> <address>

  : <address> L <count>

  <list> : <byte> [<byte> ...]

  User-mode options:

  i386 options:

  BA[#] <e|r|w|i><1|2|4> <addr> - addr bp

  <reg> : [e]ax, [e]bx, [e]cx, [e]dx, [e]si, [e]di, [e]bp, [e]sp, [e]ip, [e]fl,

  al, ah, bl, bh, cl, ch, dl, dh, cs, ds, es, fs, gs, ss

  fpcw, fpsw, fptw, st0-st7, mm0-mm7

  <flag> : iopl, of, df, if, tf, sf, zf, af, pf, cf

  <addr> : #<16-bit protect-mode [seg:]address>,

   &<V86-mode [seg:]address>

  NTSD还支持一些很有用的命令,但是不知为什么帮助中却没有提,这里也列出来:

  KD [<count>] - stack trace with raw data

  raw模式堆栈回溯

  SQ - set quiet mode

  设置安静模式,运行一次打开,再运行则关闭

  LD [<module>] - refresh module information

  重新载入

  LM list modules

  列出进程加载的所有模块信息

  DL[B] <address> <maxcount> <size> - dump linked list

  NTSD支持的表达式和WinDBG差不多是一样的,MASM的语法。

  系统自带的NTSD也支持部分扩展命令,如:
  !peb
  !teb

 

看了上面的很晕吗?晕你不是目的,目的就是要晕死你,哈哈(鄙视自己一下)。上面的,实际是 ntsd 的命令使用,下面来说一下他相关的内容。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多