Welcome to the BeaEngine Sweet Home - x86 x86-64 disassembler library - (IA-32 & Intel64)

Fonction Disasm

La fonction Disasm vous permet de désassembler n'importe quelle ligne de code qui respecte le jeu d'instructions Intel pour architectures IA-32 et Intel 64. Elle analyse de façon précise l'instruction désignée et renvoie une structure complète permettant au codeur ou au reverser de faire des analyses de dataflow ou de controlflow complexes. Disasm est capable d'analyser la totalité des instructions Intel ( plus de 1000 ), ce qui comprend le jeu d'instructions classique, le jeu des technologies FPU, MMX, SSE, SSE2, SSE3, SSSE3 ,SSE4.1, SSE4.2, VMX ainsi que certains opcodes non documentés comme SALC, FEMMS (instruction AMD), HINT_NOP, ICEBP.

Syntaxe

int Disasm(
    pDisasmStruc	pMonDisasm
);

Paramètres

pMonDisasm

[out] Pointeur vers une structure DisasmStruc.

Valeur de retour.

La fonction peut retourner trois valeurs. Si la fonction a rencontré un opcode invalide, elle renvoie UNKNOWN_OPCODE (-1). Si la fonction a tenté de lire un byte situé en dehors du Bloc de sécurité, elle renvoie OUT_OF_RANGE (0). Dans tous les autres cas, elle renvoie la longueur de l'instruction analysée. Elle permet ainsi de faire office de LDE.

Exemples

Les exemples proposés -- ICI -- vous montrent le fonctionnement de base de la fonction en ASM , en C et en Python.

Remarques

Aucune fonction de l'API Windows n'est utilisée dans la librairie BeaEngine.lib. Cette lib a été codée enC et on peut être utilisée en ring3 comme en ring0.

Valid XHTML 1.0 Strict

Valid CSS!