Hmily 发表于 2008-5-9 20:41

IDAFicator_1.2.12

-------------------------((((06/05/2008 V 1.2.12 )))--------------------------
----------------------------<<<< What&#39;s new: >>>>-----------------------------

1. Adding support for asm like command in &#39;multicommand assembler&#39;.
Added commands til now are:
1.1) PUSHSTR -> There&#39;are 2 versions of this cmd:
   1.1.1) First one, without argument
   (ex: pushstr &#39;kernel32.dll&#39; -> PUSH 3D0000 ; ASCII "kernel32.dll" )
   1.1.2) Second one, accept one argument (The address where to assemble)
   ex: pushstr &#39;kernel32.dll&#39;, 401000 -> PUSH 00401000

1.2) PUSHALL -> push several commands
(ex: pushall 0402000, @GWL_EXSTYLE
   call GetWindowLongA
   
assembled to: ->
    PUSH 00402000
    CALL user32.GetWindowLongA)

+/- all constants in windows.inc (thanks hutch and iczelion for this
file) can be used just with the prefix &#39;@&#39;

1.3) INVOKE -> Works like its homologous asm command with an extra http://www.unpack.cn/images/smilies/default/wink.gif
Note that:
1.3.1 - The strings will be assembled in a &#39;rundom&#39; address
allocated in debugee memory
1.3.2 - you can integrate string directly in the invoke macro
( ex1: invoke MessageBoxA, &#39;Text1 from invoke macro&#39;, &#39;Text2 from invoke macro&#39;, @MB_OK
   -> PUSH 0                  ; /Style = MB_OK|MB_APPLMODAL
    PUSH 1D0030               ; |Title = "Text2 from invoke macro"
    PUSH 1D0048               ; |Text = "Text1 from invoke macro"
    PUSH 00402000                ; |hOwner = 00402000
    CALL DWORD PTR DS:[<&user32.MessageBoxA>>; \MessageBoxA

   ex1: And invoke GetPrivateProfileIntA, &#39;Section Name&#39;, &#39;Key&#39;, 0, &#39;B:\bla\bla\bla\bla.ini&#39;
   -> PUSH 1D0060               ; /IniFileName = "B:\bla\bla\bla\bla.ini"
    PUSH 0                   ; |Default = 0
    PUSH 1D0077               ; |Key = "Key"
    PUSH 1D007B               ; |Section = "Section Name"
    CALL DWORD PTR DS:[<&kernel32.GetPrivate>; \GetPrivateProfileIntA
)

1.4) Note that the constants are located in &#39;BYTES.OEP&#39; file provided
with this version (version of 06/05/ 2008) and you&#39;ve to re^lace the old
one. Otherwise, all constants will return 0 and will assembled : push 0.


2- Position saving for most important and most used dialog boxes.
Please, consider to use the pushstr macro instead of invoke one if the
lenght of pushed text is > 40 chars Privacy note: The last entered piece
of text to assemble in MCasm is stored in registry
("HKEY_CURRENT_USER\Software\IDAFicator Plugin"http://www.unpack.cn/images/smilies/default/wink.gif, just in case.

3- MuCAsm now remembers last entered text even between debugging 2 sessions.


------------------------------(((( TODO list )))-------------------------------

1- Automatic update of bp menu checked item when starting olly with already
set bpts.
2- Keep a list of disabeled hwbp so reverser can set them on after restarting
HWBP dialogbox
3- Handling the relative jumps by the MuCAsm.
页: [1]
查看完整版本: IDAFicator_1.2.12