.

mtdbg ।⠢ ᮡ ⫠稪  樮 ⥬ Kolibri. 
㬥 뢠  ⫠稪  ࠡ  .  ᠬ 
    -- board.kolibrios.org.

饥 ᠭ.

   ६ mtdbg  ⫠ ⮫쪮  ணࠬ. 
⠪ ணࠬ 㦥  ⫠. ᫨  ணࠬ  㦥,
᮫⭮ 設⢮ ⢨  ⫠ 㯭.

mtdbg ࠢ  ப,   .  ப
ࠦ     ⫠稪. ࠡ뢠 ⠭ 
 Backspace,Delete,Home,End,५ /ࠢ.
 ⢨⥫  ॣ ᨬ.  ⢥ ࠧ⥫
ᯮ ந쭮 㫥 ᫮ ஡.

   ⫠稪    "quit" ( 㬥⮢).
祬,          孥 㣫 .

 ⫠稪  ࠬ஢  ப ਢ  ⮬, 
 ணࠬ  㦥.  mtdbg  ᪠  
ப,  ⮬ 砥  ⠥ 㧨 ணࠬ  , 㪠
  㬥  ப,  ࠬࠬ, 㪠묨 
᫥騥 (᫨  ).

᫨  ணࠬ  㦥,   㧨 ணࠬ 
load <  ᯮ塞 䠩> [<㬥>]
ਬ:
load /sys/example
LOAD   /sys/aclock w200 h200
  LoaD  /hd0/1/menuetos/dosbox/dosbox
,  ⮨ ᫥ ࢮ ஡ ᫥  ᯮ塞 䠩, ᫮
। ணࠬ  ⢥  ப.
 load ᮮ頥  १   ᮮ饭 (  
 ப). ᫨ ணࠬ 㤠 㧨,   ⮬ 
ᮮ⢥饥 ᮮ饭; ᫨  㤠,   ᮮ饭 㤥 㪠
稭 訡.  ⭠ - "file not found", ᫨ ࠢ쭮 㪠
 䠩.

⫠稪  㦠 䠩  ଠ樥    ணࠬ (⪨,
 ६) - ⥪⮢ 䠩,  ப   
0x<hex_祭_> <>
(ப,  騥 ⠪ , ).  䠩   ᮧ
  ᣥ஢ ⮬᪨  樨 室 fasm'.
 㧪 ⢫ 
load-symbols <  䠩 ᨬ>
஬ ⮣,  믮  load ⫠稪 ஢ 稥 䠩
 ⠪  ,  㦠 ୨,  ७ .dbg
(/sys/example.dbg  ࢮ  ਬ஢ ),  ᫨ ⠪ ,
㦠  ⮬᪨ (뤠 ᮮ饭 "Symbols loaded", ᫨  
浪).

  ⠪,  㦥 ணࠬ 㯠. 騩 ਭ樯
㯠 ணࠬ ᫥騩: ᭠砫 室 䠩  (-
⬮ ᦠ), ⮬ ਯ뢠 让  ࠧ , 
砥 ࠢ  ᪥ ணࠬ, ᯠ뢠   室 ,
᫥ 祣 ।  ࠢ. ᫨ ணࠬ 㯠,   "騩"
     ⫠ 㦭 ।⥫쭮 ன  ᯠ騪.
mtdbg । 設⢮  㯠騪 (mxp,mxp_lzo,mxp_nrv,
mtappack)   ⮬ 砥 । ⮬᪨ ன  "饣" .
 ᮣ ( 'y'  <Enter>),    ⪠.
 ⪠   砥,  ணࠬ 㯠 祬- , 
ᯮ짮  "unpack" ( 㬥⮢). 뢠  ⮫쪮  砥,
  㢥७,  ணࠬ 㯠   ࠢ   諮 
᭮ ! [稭  ᨨ Kolibri 0.6.5.0,    㦥
㠫, ᪮ ਫ  㯠뢠    䠩
kpack'   ⮬  ᯠ騪 室    ᯠ ஧筠
 ⫠.]

㦥 ணࠬ  ਡ  "terminate" ( 㬥⮢).
 "detach" ( 㬥⮢) ⪫砥  ணࠬ, ᫥ 祣
ணࠬ த 믮 ଠ쭮,  ᫨  ⫠稪  뫮.
᫥    ணࠬ   ⫠.

  㧨 ணࠬ  ⫠  "reload" (
㬥⮢). ᫨ 㦥  㦥 ணࠬ,   ਡ 
᪠ ( ᠬ 砫)   ( ⮩   ப),
 ⮬ 砥  筠 
terminate
load <last program name> <last program arguments>
 ⨢ 砥  㦠 ணࠬ,  ⫠ ᫥
( ⥪饬 ᥠ ࠡ  mtdbg) ( ⮩   ப), ..  
 ᠬ,  
load <last program name> <last program arguments>,
  reload      㤮; ஬ ⮣, load ⠥,
 㦠  ணࠬ,  ॢ   (. ) 
㫥 ,  reload ࠭ ⥪騩 .

ᥣ 㯭  "help",   ᮪  "h".
  ࠧ  㯯.
help  㬥⮢ 뢠 ᯨ᮪ 㯯 .
help  㪠 㯯 뢮 ᯨ᮪  ⮩ 㯯  ⪨
ﬨ.
help  㪠  뢮 ଠ   .
ਬ:
help
help control
h LoaD

 ⫠稪 ⮨  ᫥ ⮢, 塞 ᢥ :
- ப ﭨ.  稨 㦥 ணࠬ 뢠   
  ﭨ ("Running"/"Paused"),  ⢨ ᮮ頥 "No program loaded".
-  ॣ஢ - 뢠 祭 ॣ஢ 饣 祭, ॣ
  eip  ॣ 䫠. ᫥ ᠭ  ᯮᮡ:  hex-祭
   ﭨ ⤥ 䫠: CF,PF,AF,ZF,SF,DF,OF: ᫨ 䫠 襭, 
  ࠦ 쪠 㪢, ᫨ ⠭,  .
  , 訥  ।饣 , ᢥ稢 .
-   ( ) - 뢠 ᮤন  㦥 ணࠬ
-   ( ᥬ) - 뢠  ணࠬ  
  ᥬ஢ 権
-  ᮮ饭
-   ப

    ᬠਢ , 稭   ,  ⮣
 
d <ࠦ>
 d  㬥⮢ ஫뢠   .
  ᠬ ⭮     
u <ࠦ>
  u.
ਬ:
d esi - 뢠 , 室騥   esi (ਬ,  ।
  믮 樨 rep movsb)
d esp - 뢠 ⥪
u eip - ᥬ 樨, 稭  ⥪饩

ࠦ  mtdbg  
- ⭠ ⠭
-   ॣ஢ 饣 祭 (8 32-, 8 16- 
  8 8-)  ॣ eip; 祭 16-  8- ॣ஢ 
  ﬨ  32 
-  䬥᪨ 樨 +,-,*,/ ( ⠭묨 ਮ⠬) 
  ᪮
- [᫨  ଠ  ᨬ] , 㦥  dbg-䠩
 ᫥ ந   2^32.
ਬ ࠦ:
eax
eip+2
ecx-esi-1F
al+AH*bl
ax + 2* bH*(eip+a73)
3*esi*di/EAX

? <ࠦ>
 祭 㪠 ࠦ.

祭 ॣ஢ 㦥 ணࠬ    r, 饩
 ᮫⭮  :
r <ॣ> <ࠦ>
r <ॣ>=<ࠦ>
(    ⠢ ஡  ).  ⢥ ॣ 
㪠뢠   㯮 - 24 ॣ 饣 祭  eip.


⨬,  load ᯥ譮 㧨 ணࠬ  ⫠.
ࠧ ᫥ 㧪 ணࠬ ਮ⠭   믮.
⨥ Ctrl+F7 (  ப -  "s")   蠣 
㦥 ணࠬ, ᫥ 祣 ࠢ 頥 ⫠稪, 
뢠  ᮤন ॣ஢  . ⥬ 맮 int 40h
( ⠪ 樨 sysenter  syscall)  ⮬ ⠥  蠣.
⨥ Ctrl+F8 (  ப -  "p") ⠪  蠣 
㦥 ணࠬ,   ⮬ 맮 楤, ப 樨 
䨪ᮬ rep/repz/repnz  横 loop 믮   蠣.
 蠣 믮 ᯮ,  ࠢ,  ⤥ ⪠
ணࠬ,  㦭, ਬ, ॣ୮ ᫥ 祭 ॣ஢
/ - ६  .

g <ࠦ>
 믮 ணࠬ  ,  ࠢ  
eip=ᮮ⢥饬 ,     ਮ⠭ ணࠬ.
 "g"  㬥⮢   믮 ணࠬ.

ਮ⠭ 믮 ணࠬ   "stop" ( 㬥⮢).

筮 ॡ, ⮡ ணࠬ ଠ쭮 믮﫠,   㯫
। ᫮ ணࠬ ਮ⠭  ࠢ 砫 ⫠稪.
⢥騥 ᫮ 뢠 窠 ⠭, breakpoint(s), 
稨 - 猪. ⥩訩 ⨯ 祪 ⠭ -   ,
.. 뢠 믮  eip=< 祭>.  窨 ⠭
⠭ 
bp <ࠦ>
砭. ᫨  ⮫쪮  ⠪ 窠 ⠭, 㤮  
ᯮ짮  "g"  㬥⮬.

㣮 ⨯ 祪 ⠭ -  饭    .
 祪 ⠭      (᪮ ᯮ
  ஢ x86,  ᪠ ⮫쪮 4 ⠪ 窨).
bpm <ࠦ> - 猪       㪠 
bpm w <ࠦ> - 猪     㪠 
bpmb,bpmw,bpmd <ࠦ> - 猪    ᮮ⢥⢥ , ᫮
  ᫮  㪠 . bpm  bpmb - ᨭ.  ᯮ짮
bpmw,bpmd    ஢ ᮮ⢥⢥  ࠭ ᫮ (.. 
)   ࠭  ᫮ (..   4).
bpmb,bpmw,bpmd w <ࠦ> - 筮  猪  .

᮪ ⠭ 祪 ⠭  ᬮ  "bl", ଠ
 ⭮ 窥 ⠭     "bl <>". 㦭
窨 ⠭ 㤠  "bc <>", ६ 㦭 
  "bd <>",   ⠭ ᭮ 㦭, ᯮ
 "be <>".

砭.

1.  ⫠ ᮡ⢥ ணࠬ  ⠢   樨
   int3 (   ⢨ ஡!).   뢠
   ᪫祭  ଠ쭮 ᪥,  ਢ  襭 ,
     ࠡ  ⫠稪  ⨢ ⫠稪 ( ᮮ饭
   "int3 command at xxx").    㬠  ⮬,  
   ᯮ짮   g / bp.  ⠪ ஢ 䠩 
   ଠ樥  ᨬ  㦠 , ⮣  ⮫쪮  㦤
   ᠬ⥫쭮    "g"  "bp",   "u","d","?" 
    㪠  ⪨/६.
2.  뢮    ਥ஢  16- ⥬ ᫥.
3.  ணࠬ 믮,  ॣ஢   뢠 ଠ,
   ⭮    ; ⠭ 祭 ॣ஢ 
   ⮬ ० . 祬,  "d"  ⮬ ० 뢠
   ଠ,    뤠 .

						diamond