亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dasmmsil.pas

?? 反匯編delphi的.dcu文件至匯編代碼的工具的所有源代碼, 用delphi/pascal實現, 反向工程borland delphi寫的程序必備
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
    (Name: 'ldelem_i'; {0x97}),
    (Name: 'ldelem_r4'; {0x98}),
    (Name: 'ldelem_r8'; {0x99}),
    (Name: 'ldelem_ref'; {0x9A}),
    (Name: 'stelem_i'; {0x9B}),
    (Name: 'stelem_i1'; {0x9C}),
    (Name: 'stelem_i2'; {0x9D}),
    (Name: 'stelem_i4'; {0x9E}),
    (Name: 'stelem_i8'; {0x9F}),
    (Name: 'stelem_r4'; {0xA0}),
    (Name: 'stelem_r8'; {0xA1}),
    (Name: 'stelem_ref'; {0xA2}),
    (Name: 'ldelem'; F: atMetadata {0xA3}),
    (Name: 'stelem'; F: atMetadata {0xA4}),
    (Name: 'unbox_any'; F: atMetadata {0xA5}),
    (Name: ''; {0xA6}),
    (Name: ''; {0xA7}),
    (Name: ''; {0xA8}),
    (Name: ''; {0xA9}),
    (Name: ''; {0xAA}),
    (Name: ''; {0xAB}),
    (Name: ''; {0xAC}),
    (Name: ''; {0xAD}),
    (Name: ''; {0xAE}),
    (Name: ''; {0xAF}),
    (Name: ''; {0xB0}),
    (Name: ''; {0xB1}),
    (Name: ''; {0xB2}),
    (Name: 'conv_ovf_i1'; {0xB3}),
    (Name: 'conv_ovf_u1'; {0xB4}),
    (Name: 'conv_ovf_i2'; {0xB5}),
    (Name: 'conv_ovf_u2'; {0xB6}),
    (Name: 'conv_ovf_i4'; {0xB7}),
    (Name: 'conv_ovf_u4'; {0xB8}),
    (Name: 'conv_ovf_i8'; {0xB9}),
    (Name: 'conv_ovf_u8'; {0xBA}),
    (Name: ''; {0xBB}),
    (Name: ''; {0xBC}),
    (Name: ''; {0xBD}),
    (Name: ''; {0xBE}),
    (Name: ''; {0xBF}),
    (Name: ''; {0xC0}),
    (Name: ''; {0xC1}),
    (Name: 'refanyval'; F: atMetadata {0xC2}),
    (Name: 'ckfinite'; {0xC3}),
    (Name: ''; {0xC4}),
    (Name: ''; {0xC5}),
    (Name: 'mkrefany'; F: atMetadata {0xC6}),
    (Name: ''; {0xC7}),
    (Name: ''; {0xC8}),
    (Name: ''; {0xC9}),
    (Name: ''; {0xCA}),
    (Name: ''; {0xCB}),
    (Name: ''; {0xCC}),
    (Name: ''; {0xCD}),
    (Name: ''; {0xCE}),
    (Name: ''; {0xCF}),
    (Name: 'ldtoken'; F: atMetadata {0xD0}),
    (Name: 'conv_u2'; {0xD1}),
    (Name: 'conv_u1'; {0xD2}),
    (Name: 'conv_i'; {0xD3}),
    (Name: 'conv_ovf_i'; {0xD4}),
    (Name: 'conv_ovf_u'; {0xD5}),
    (Name: 'add_ovf'; {0xD6}),
    (Name: 'add_ovf_un'; {0xD7}),
    (Name: 'mul_ovf'; {0xD8}),
    (Name: 'mul_ovf_un'; {0xD9}),
    (Name: 'sub_ovf'; {0xDA}),
    (Name: 'sub_ovf_un'; {0xDB}),
    (Name: 'endfinally'; {0xDC}),
    (Name: 'leave'; F: atJmpofs4 {0xDD}),
    (Name: 'leave_s'; F: atJmpofs1 {0xDE}),
    (Name: 'stind_i'; {0xDF}),
    (Name: 'conv_u'; {0xE0}),
    (Name: ''; {0xE1}),
    (Name: ''; {0xE2}),
    (Name: ''; {0xE3}),
    (Name: ''; {0xE4}),
    (Name: ''; {0xE5}),
    (Name: ''; {0xE6}),
    (Name: ''; {0xE7}),
    (Name: ''; {0xE8}),
    (Name: ''; {0xE9}),
    (Name: ''; {0xEA}),
    (Name: ''; {0xEB}),
    (Name: ''; {0xEC}),
    (Name: ''; {0xED}),
    (Name: ''; {0xEE}),
    (Name: ''; {0xEF}),
    (Name: ''; {0xF0}),
    (Name: ''; {0xF1}),
    (Name: ''; {0xF2}),
    (Name: ''; {0xF3}),
    (Name: ''; {0xF4}),
    (Name: ''; {0xF5}),
    (Name: ''; {0xF6}),
    (Name: ''; {0xF7}),
    (Name: ''; {0xF8}),
    (Name: ''; {0xF9}),
    (Name: ''; {0xFA}),
    (Name: ''; {0xFB}),
    (Name: ''; {0xFC}),
    (Name: ''; {0xFD}),
    (Name: '_EXT'; F: atExtTbl {0xFE}),
    (Name: ''; {0xFF})
  );

function ReadCodeByte(var B: Byte): boolean;
{ This procedure can use fixup information to prevent parsing commands }
{ which contradict fixups }
{Was copied here just in case that something is different with MSIL Fixups}
begin
  Result := ChkNoFixupIn(CodePtr,1);
  if not Result then
    Exit;
  B := Byte(CodePtr^);
  Inc(CodePtr);
  Result := true;
end ;

function ReadCodeInt(var V: integer): boolean;
{ This procedure can use fixup information to prevent parsing commands }
{ which contradict fixups }
begin
  Result := ChkNoFixupIn(CodePtr,4);
  if not Result then
    Exit;
  V := integer(Pointer(CodePtr)^);
  Inc(CodePtr,SizeOf(integer));
  Result := true;
end ;

procedure SkipCode(Size: Cardinal);
begin
  Inc(CodePtr,Size);
end ;

type
  TCmdAction = procedure(CI: PCmdInfo; DP: Pointer; IP: Pointer);

function ProcessCommand(Action: TCmdAction; IP: Pointer): boolean;
var
  opC: Byte;
  F,Sz: integer;
  PCmdTbl: PCmdInfoTbl;
  DP: Pointer;
  CmdTblHi: integer;
begin
  Result := false;
  CodePtr := PrevCodePtr;
  PCmdTbl := @CmdTbl;
  CmdTblHi := High(CmdTbl);
  repeat
    if not ReadCodeByte(opC) then
      Exit;
    if opC>CmdTblHi then
      Exit;
    if PCmdTbl^[opC].Name[0]=#0 then
      Exit;
    F := PCmdTbl^[opC].F;
    DP := CodePtr;
    Sz := CmdArgSize[F and atMask];
    if Sz>=0 then
      SkipCode(Sz)
    else begin
      if Sz=argSzWrong then
        Exit;
      case F of
       atJmpofs4tbl: begin
         if not ReadCodeInt(Sz) then
           Exit;
         SkipCode(Sz*SizeOf(integer))
        end ;
       atExtTbl: begin
         PCmdTbl := @CmdTblFE;
         CmdTblHi := High(CmdTblFE);
         Continue;
       end ;
      end ;
    end ;
    if CodePtr>CodeEnd then
      Exit; //Error
    Action(@PCmdTbl^[opC],DP,IP);
    if F and ckPrefix=0 then
      break;
    PCmdTbl := @CmdTbl;
    CmdTblHi := High(CmdTbl);
  until false;
  Result := true;
end ;

procedure DoNothing(CI: PCmdInfo; DP: Pointer; IP: Pointer);
begin
end ;

function ReadCommand: boolean;
begin
  PrevCodePtr := CodePtr;
  Result := ProcessCommand(DoNothing,Nil);
end ;

procedure ReportFlags(Flags: integer; Names: PStrTbl; NHi: integer);
var
  i,F: integer;
begin
  F := 1;
  for i:=0 to NHi do begin
    if Flags=0 then
      Exit;
    if Flags and F<>0 then begin
      Flags := Flags and not F;
      PutsFmt('.%s',[Names^[i]]);
    end ;
    F := F shl 1;
  end ;
  if F<>0 then
    PutsFmt('.$%x',[F]);
end ;

procedure ShowCmdPart(CI: PCmdInfo; DP: Pointer; IP: Pointer);
var
  Cnt,D: integer;
  Sep: Char;
  Fix: PFixupRec;
  Fixed: boolean;
begin
  PutS(CI^.Name);
  case CI^.F and atMask of
   atU1: PutSFmt(' $%2.2x',[Byte(DP^)]);
   atU2: PutSFmt(' $%4.4x',[Word(DP^)]);
   atU4: PutSFmt(' $%8.8x',[Cardinal(DP^)]);
   atI1: PutSFmt(' %d',[ShortInt(DP^)]);
   atI4: PutSFmt(' %d',[Integer(DP^)]);
   atI8: PutSFmt(' $%x%8.8x',[Integer(Pointer(PChar(DP)+4)^),Integer(DP^)]);
   atR4: PutSFmt(' %g',[Single(DP^)]);
   atR8: PutSFmt(' %g',[Double(DP^)]);
   atMetadata: begin
     PutS(' ');
     D := Integer(DP^);
     Fix := Nil;
     Fixed := false;
     if GetFixupFor(DP,SizeOf(integer),false,Fix)and(Fix<>Nil) then begin
       Fixed := ReportFixup(Fix,D,ShowHeuristicRefs);
     end ;
     if (D=0)and(Fix<>Nil) then
       Exit;
     if Fixed then
       PutS('{+');
     PutSFmt('%d',[D]);
     if Fixed then
       PutS('}');
    end ;
   atCheckKind: ReportFlags(Byte(DP^),@CheckKindTbl,High(CheckKindTbl));
   atJmpofs1: PutSFmt(' $%x',[(CodePtr-CodeBase)+ShortInt(DP^)]);
   atJmpofs4: PutSFmt(' $%x',[(CodePtr-CodeBase)+LongInt(DP^)]);
   atJmpofs4tbl: begin
     Cnt := integer(DP^);
     Puts(' ');
     Sep := '[';
     while Cnt>0 do begin
       Inc(PChar(DP),SizeOf(integer));
       PutSFmt('%s$%x',[Sep,(CodePtr-CodeBase)+LongInt(DP^)]);
       Sep := ',';
       Dec(Cnt);
     end ;
     if Sep=',' then
       Puts(']');
    end ;
  end ;
end ;

procedure ShowCommand;
begin
  ProcessCommand(ShowCmdPart,Nil);
end ;

type
  TCmdRefCtx = record
    RegRef: TRegCommandRefProc;
    IPRegRef: Pointer;
    Res: integer;
    CmdOfs: Cardinal;
  end ;

procedure CmdPartRefs(CI: PCmdInfo; DP: Pointer; IP: Pointer);
var
  Cnt: integer;
begin
  with TCmdRefCtx(IP^) do begin
    if CI^.F and ckStop<>0 then
      Res := crJmp;
    case CI^.F and atMask of
     atJmpofs1: begin
       if Res<0 then
         Res := crJCond;
       RegRef(CmdOfs+ShortInt(DP^),Res,IPRegRef);
      end ;
     atJmpofs4: begin
       if Res<0 then
         Res := crJCond;
       RegRef(CmdOfs+LongInt(DP^),Res,IPRegRef);
      end ;
     atJmpofs4tbl: begin
       Res := crJCond;
       Cnt := integer(DP^);
       while Cnt>0 do begin
         Inc(PChar(DP),SizeOf(integer));
         RegRef(CmdOfs+LongInt(DP^),Res,IPRegRef);
         Dec(Cnt);
       end ;
      end ;
    end ;
  end ;
end ;

function CheckCommandRefs(RegRef: TRegCommandRefProc; CmdOfs: Cardinal;
  IP: Pointer): integer;
var
  Ctx: TCmdRefCtx;
begin
  Ctx.RegRef := RegRef;
  Ctx.IPRegRef := IP;
  Ctx.Res := -1;
  Ctx.CmdOfs := CmdOfs;
  ProcessCommand(CmdPartRefs,@Ctx);
  Result := Ctx.Res;
end ;

procedure SetMSILDisassembler;
begin
  SetDisassembler(ReadCommand, ShowCommand,CheckCommandRefs);
end ;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情在线免费观看| 国产乱码精品1区2区3区| 美女性感视频久久| av高清久久久| 精品国产一区二区国模嫣然| 亚洲欧美在线另类| 国产一区二区日韩精品| 欧美日韩国产色站一区二区三区| 国产女主播一区| 久久精品国产第一区二区三区 | 日本一区二区成人在线| 天天av天天翘天天综合网色鬼国产 | 久久se精品一区精品二区| 日本黄色一区二区| 国产精品卡一卡二| 国产精品一级在线| 欧美一区二视频| 亚洲成av人片在线观看无码| 波波电影院一区二区三区| 精品久久人人做人人爽| 亚洲成a人v欧美综合天堂| 91首页免费视频| 亚洲国产精品激情在线观看| 一区在线中文字幕| 成人午夜在线免费| 欧美激情一区三区| 成人一区二区三区中文字幕| 久久午夜电影网| 国产乱码精品一区二区三区五月婷| 91精品国产综合久久久久久漫画| 一区二区日韩电影| 在线这里只有精品| 一区二区欧美视频| 日本韩国欧美国产| 亚洲在线中文字幕| 欧美日韩成人在线一区| 午夜不卡在线视频| 91麻豆精品国产91久久久久久久久 | 国产日韩三级在线| 国产一区二区福利视频| 久久精品夜色噜噜亚洲a∨| 久久99精品久久只有精品| 26uuu色噜噜精品一区二区| 美女mm1313爽爽久久久蜜臀| 日韩欧美国产一区二区三区| 精品一区二区精品| 国产无一区二区| 成人18视频在线播放| 亚洲欧美日韩中文播放| 日本乱人伦aⅴ精品| 日韩精品高清不卡| 精品久久免费看| 国产精品456| 中文字幕综合网| 欧美老女人第四色| 精品亚洲国产成人av制服丝袜| 亚洲精品在线三区| voyeur盗摄精品| 亚洲午夜精品在线| 日韩欧美三级在线| 成人久久久精品乱码一区二区三区| 亚洲人成在线播放网站岛国| 欧美日韩综合不卡| 国产精品一区不卡| 亚洲午夜国产一区99re久久| 日韩欧美一区二区三区在线| 国产福利91精品一区| 亚洲精品亚洲人成人网| 日韩欧美国产成人一区二区| 成人激情免费视频| 婷婷夜色潮精品综合在线| 久久久久久久久97黄色工厂| 色天天综合色天天久久| 久久se精品一区二区| 亚洲精品自拍动漫在线| 精品999在线播放| 91国产免费看| 国产成人精品三级麻豆| 亚洲成a人在线观看| 久久久三级国产网站| 日本乱人伦aⅴ精品| 国产河南妇女毛片精品久久久| 一区二区三区四区中文字幕| 日韩欧美国产1| 91国偷自产一区二区三区观看| 精品制服美女久久| 婷婷丁香久久五月婷婷| 日韩久久一区二区| 国产欧美日韩综合精品一区二区| 欧美日韩国产bt| 91亚洲国产成人精品一区二三| 蜜臀av一区二区在线观看| 夜夜嗨av一区二区三区 | 欧美成人精品1314www| 日本韩国视频一区二区| 成人免费看黄yyy456| 久久精品国产99国产精品| 五月婷婷另类国产| 亚洲精选视频免费看| 中文字幕一区在线观看| 国产亚洲人成网站| 日韩一区二区三区观看| 欧美图片一区二区三区| 色就色 综合激情| 色妞www精品视频| 96av麻豆蜜桃一区二区| 成人污视频在线观看| 国产精品996| 国产精品88av| 国产91丝袜在线观看| 国产a精品视频| 国产成人免费视频网站 | 毛片基地黄久久久久久天堂| 亚洲一区在线观看视频| 成人免费在线视频| 一区二区三区中文在线| 亚洲免费看黄网站| 亚洲中国最大av网站| 尤物在线观看一区| 一区二区在线观看免费视频播放| 综合久久给合久久狠狠狠97色| 亚洲视频小说图片| 一区二区三区在线视频观看58| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲欧美国产毛片在线| 一区二区日韩av| 日韩电影在线观看电影| 久久精品国产99久久6| 国产精品一区在线观看你懂的| 国模无码大尺度一区二区三区| 国产伦精一区二区三区| 国产一区二区美女| 91在线播放网址| 欧美网站一区二区| 精品欧美乱码久久久久久1区2区| 国产日韩欧美亚洲| 成人免费一区二区三区在线观看| 亚洲综合色噜噜狠狠| 日韩av中文字幕一区二区| 国产乱色国产精品免费视频| 91在线免费播放| 欧美视频第二页| 欧美精品一区二区三| 亚洲三级免费电影| 日韩精品福利网| 成人av午夜影院| 欧美老肥妇做.爰bbww视频| 久久色视频免费观看| 国产精品久久久一区麻豆最新章节| 亚洲精品日日夜夜| 九色综合狠狠综合久久| 色哟哟国产精品免费观看| 91精品国产综合久久精品性色| 久久九九99视频| 亚洲a一区二区| jlzzjlzz亚洲日本少妇| 欧美日韩成人综合在线一区二区 | 欧美一区二区性放荡片| 国产农村妇女精品| 视频一区欧美精品| 99久久综合狠狠综合久久| 91精选在线观看| 亚洲视频综合在线| 紧缚奴在线一区二区三区| 色综合久久中文字幕| 精品国产乱码91久久久久久网站| 亚洲免费av观看| 粉嫩av一区二区三区在线播放| 欧美高清视频一二三区| 亚洲欧洲综合另类| 国产成人亚洲精品青草天美| 欧美日韩精品一区二区三区四区| 久久精品夜色噜噜亚洲a∨| 亚洲高清一区二区三区| 成人的网站免费观看| 日韩免费一区二区| 五月婷婷欧美视频| 色婷婷精品久久二区二区蜜臀av | 精品国产麻豆免费人成网站| 一区二区三区毛片| 99免费精品在线| 国产日韩av一区二区| 九九在线精品视频| 在线91免费看| 亚洲成人久久影院| 91麻豆国产精品久久| 国产精品欧美久久久久一区二区| 精品无人码麻豆乱码1区2区| 欧美精品第1页| 亚洲国产日韩在线一区模特| 99久久国产综合精品麻豆| 精品国产乱码久久久久久浪潮 | 亚洲国产乱码最新视频| 色综合久久66| 亚洲日本一区二区| 99久久99久久精品免费观看| 国产精品私人影院| 成人一区二区三区视频| 欧美国产日本韩| 成人ar影院免费观看视频|