?? 29a-7.012
字號:
-----------------------------------------
(X) uNdErX 2003 - underx@antisocial.com
-----------------------------------------
------------------------------------------
ABOUT THE MICRO LENGTH-DISASSEMBLER ENGINE
------------------------------------------
----------
OVERVIEW
----------
A length-disassembler engine is a piece of code that allows u to know
the length of any x86 instruction. The mlde32 engine supports the ordinary 386
opcode set, plus the extensions: fpu, mmx, cmov, sse, sse2 etc...
It's usage is very simple here's the prototype:
int __cdecl mlde32(void *codeptr);
where:
codeptr -> is a pointer to the opcode that u want to know the size.
if you have any problem using the engine, just take look in some
examples at the /examples (nothing more obvious). That's a very simple and
powerful engine,and does not require too much system resources either,just 160
bytes of stack space is needed. This engine is only code, and no fixed offsets
were used so it can be permutaded/perverted at your own will.
Obs: This engine is NOT a smaller version of Z0MBiE's LDE engine, Z0MBiE's lde
is brilliant mine one is just awesome. :-)
-------------------
THE TABLE PROBLEM
-------------------
Everything started when i wanted to use z0mbie's lde in some stuff that i was
writing but i couldn't allocate a 2048 byte buffer, so i decided to write one
engine that doesn't needs a big table. I knew that it wouldn't be an easy task
cuz the big problem while writing this kind of engine, is that u need a table
to match the opcode type from its value, so i had created 13 types of opcodes
and tried to represent them with the smallest pattern i could , so i had used
4 bits for each field of the opcode type table.
We need 256 values to mark the normal opcode types and plus 256 to mark the
extended ones (0Fh), so my table got 256 bytes. That size is still big so i
had compressed the repeated bit patterns, then the table was shrinked to 160
bytes. If i had to decompress that , i will surely spend more bytes in the
decompression routine than directly looking throught the table and that was
what i did, no decompression.
I will be happy to receive feedbacks not only about bugs, but also concerning
your opinions about it, or new ideas u may have, u can mail me anytime u want.
that's all folks!
-------//-------
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -