⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dcassigninstrtable.pas

📁 这是个反向工程delphi的程序的全部源代码.能分析几乎所有的结构 Revendepro is a program to reverse engineer Delphi program. Reven
💻 PAS
字号:
unit dcAssignInstrTable;

interface

type
  TMnemonic = (mUnknown, mMov, mRet, mPush, mPop);

  TArgumentOpcType = (aotNone, aotModRMRMv, aotModRMRegv, aotImmb, aotRegEAXv, aotRegEBPv);

  TOpcode = record
    M: TMnemonic;
    A: array[1..3] of TArgumentOpcType;
  end;

{ TODO -cAdditions : Fill the table correct. }
const
  OneByteOpcodes: array[AnsiChar] of TOpcode =
    // 0
   ((M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    // 1
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    // 2
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    // 3
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    // 4
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    // 5
    (M: mPush; A: (aotRegEAXv, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mPush; A: (aotRegEBPv, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mPop; A: (aotRegEAXv, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mPop; A: (aotRegEBPv, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    // 6
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    // 7
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    // 8
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mMov; A: (aotModRMRMv, aotModRMRegv, aotNone)), 
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    // 9
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    // A
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    // B
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    // C
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mRet; A: (aotImmb, aotNone, aotNone)),     (M: mRet; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    // D
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    // E
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    // F
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)),
    (M: mUnknown; A: (aotNone, aotNone, aotNone)), (M: mUnknown; A: (aotNone, aotNone, aotNone)));

implementation

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -