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

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

?? dasmuse.txt

?? 反匯編delphi的.dcu文件至匯編代碼的工具的所有源代碼, 用delphi/pascal實現, 反向工程borland delphi寫的程序必備
?? TXT
字號:
DCU32INT Disassembler Usage.

The only place, where the disassembler is used in the current version 
of the program is the

  procedure TUnit.ShowCodeBl(Ofs0,BlOfs,BlSz: Cardinal);

  where
    Ofs0 - virtual address of the block start (>0 only for procedures,
           which where linked from some .obj file; there could be near 
           jumps or conditional jumps between such procedures)
    BlOfs - Offset of the block in the unit data block
    BlSz - Size of the block.


To obtain the physical address of the block, the

  function TUnit.GetBlockMem(BlOfs,BlSz: Cardinal; var ResSz: Cardinal): Pointer;

is used. ResSz<BlSz when BlOfs+BlSz>FDataBlSize, it can happen only due to
some error.


To obtain the index of the first fixup with its Offset>=BlOfs is used the

  function TUnit.GetStartFixup(Ofs: Cardinal): integer;

Binary search is used to get the start fixup.


The next fixup index with its Offset>=Ofs after the fixup with 
the index iStart is returned by the

  function TUnit.GetNextFixup(iStart: integer; Ofs: Cardinal): integer;

Sequential search is used to get the next fixup.


Both functions return FFixupCnt, when there is no more fixups after Ofs.

The fixup information is stored in the table of 8-byte records
(see the unit FixUp)

TFixupRec = record
  OfsF: integer;{Low 3 bytes - ofs, high 1 byte - B1}
  Ndx: TNDX; {The index of the target address}
end ;


The constant

  FixOfsMask = $FFFFFF;

is used to extract the fixup Offset value from the OfsF field.


The F byte in the OfsF field can take the following values:

  fxAddr = 1; //absolute data address should be substituted
  fxJmpAddr = 2; //relative data address should be substituted 
     //(for jmp or call near instructions).
  fxDataAddr = 3; //imported data reference (from another unit)
     //this interpretation appears only in Delphi 3.0+

  fxStart20 = 3; //Start of block marker in Delhi 2.0 units
  fxEnd20 = 4;  //End of of block marker in Delhi 2.0 units
  fxStart30 = 5; //Start of block marker in Delhi 3.0+ units
  fxEnd30 = 6; //End of block marker in Delhi 3.0+ units

The typed constants 

  fxStart: Byte;
  fxEnd: Byte;

are assigned to the fxStart and fxEnd values of the current unit version.

The fxEnd flag is used only for the last block, and for all the other
blocks the block end is marked by the start of the next block.

All the fixups (fxAddr, fxJmpAddr, fxDataAddr) are 4-byte in size. 
The target address of fixup is determined as the address, corresponding 
to the fixup Ndx + the 4 byte value at the fixup Offset.

The 

  function TUnit.GetAddrStr(hDef: integer; ShowNDX: boolean): String;
    hDef - Ndx
    ShowNdx - include hDef into the result or not

can be used to get the Ndx text description, and the

  function TUnit.GetGlobalAddrDef(hDef: integer; var{out} U: TUnit): TDCURec;

can be used to get the unit, where the address is defined and 
the definition of the address.


Besides from the GetStartFixup and GetNextFixup methods, the ShowCodeBl
procedure uses as an interface to the disassembler, the following 
functions from the FixUp unit:

procedure SetFixupInfo(ACodeFixupCnt: integer; ACodeFixups: PFixupRec;
  AFixUnit: Pointer{TUnit});

This function sets the fixup information, which is used, e.g.
to ensure, that all the addresses (e.g. jump address) are fixed, or,
on the other hand, that fixed memory is not interpreted as code bytes, 
and also, to show the fixup targets when printing the decoded 
instruction (see the function ReportFixup(Fix: PFixupRec): boolean).

Now the procedure ShowCodeBl is executed for every TProcDecl, and
represents all the contents of the corresponding memory as a
sequence of instructions. When the instructions are interleaved
with some data, the correct instructions' boundaries can be shifted, and
it can be completely wrong. The only insurance, which enables to hope, 
that such a shift won't be too long, is taking into account the fixup 
information. 

Another problem is that not all the TProcDecls are really code, some of 
them are used to represent initial values of typed constants. Example:

const
  conStr:{T#2}System.AnsiString{Ofs:0x1C} = 'QWERTY';

procedure _NF_1A?{BProc:0,B0:0,Sz:10};
begin
  //raw[0x10]at 0x20
  00: 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
石原莉奈在线亚洲三区| 国产精品久久看| 欧美日韩一区二区电影| fc2成人免费人成在线观看播放| 免费在线欧美视频| 亚洲成人先锋电影| 亚洲激情av在线| 亚洲猫色日本管| 有码一区二区三区| 亚洲一区在线视频| 亚洲一区二区三区中文字幕| 午夜精品久久久久久久99水蜜桃| 88在线观看91蜜桃国自产| 欧美中文字幕一区二区三区亚洲| 日韩综合小视频| 视频一区二区三区入口| 免费人成精品欧美精品| 国产一区啦啦啦在线观看| 国产经典欧美精品| 91一区一区三区| 日韩一区二区在线看| 久久综合色天天久久综合图片| 99免费精品在线| 在线观看亚洲精品| 日韩精品一区在线| 久久婷婷成人综合色| 国产女人水真多18毛片18精品视频| 欧美午夜精品免费| 欧美哺乳videos| 亚洲三级在线免费观看| 午夜免费欧美电影| 国产成人在线影院 | 成人av在线观| 在线视频一区二区三区| 欧美特级限制片免费在线观看| 国产成人免费视频精品含羞草妖精| 亚洲免费观看高清| 蜜臀av一级做a爰片久久| 黄色资源网久久资源365| 成人国产亚洲欧美成人综合网| 国产一区二区三区蝌蚪| 成人国产电影网| 日韩亚洲欧美一区| 一区二区三区欧美日| 韩国女主播成人在线| 欧美日韩在线免费视频| 欧美韩国日本综合| 日韩av电影一区| 欧美在线一区二区| 中文字幕一区三区| 国产精品996| 日韩欧美高清dvd碟片| 亚洲一区二区三区四区在线观看 | 国产丝袜美腿一区二区三区| 一区二区视频免费在线观看| 国产一区二区在线影院| 欧美综合在线视频| 最新不卡av在线| 国产精品一级二级三级| 欧美精品aⅴ在线视频| 国产精品无码永久免费888| 九九久久精品视频| 日韩欧美国产三级电影视频| 亚洲午夜免费电影| 一本到不卡精品视频在线观看| 99re这里都是精品| 日本一区二区动态图| 韩国视频一区二区| 欧美一区二区啪啪| 一区二区三区国产| 91成人在线免费观看| 国产精品久久久久久久浪潮网站| 最近中文字幕一区二区三区| 成人午夜视频网站| 国产精品理论片在线观看| 国产成人在线色| 亚洲国产精品ⅴa在线观看| 久久99热这里只有精品| 欧美电影免费观看高清完整版在| 国产欧美一区视频| voyeur盗摄精品| 亚洲激情成人在线| 欧美日韩高清一区二区不卡| 亚洲第一久久影院| 911精品国产一区二区在线| 亚洲成人动漫在线观看| 欧美美女直播网站| 天天影视涩香欲综合网| 日韩欧美国产wwwww| 国产精品中文字幕日韩精品| 欧美精品一区二区久久婷婷| 韩国视频一区二区| 国产精品久久久久久久久快鸭| 亚洲电影第三页| 欧美疯狂做受xxxx富婆| 免费在线观看精品| 久久久久国产精品免费免费搜索| 亚洲色图.com| 欧美三级中文字| 久久国产精品区| 国产精品第一页第二页第三页| 丝袜美腿一区二区三区| 欧美www视频| 成人免费福利片| 亚洲一区二区三区美女| 欧美精品一二三区| 国产激情一区二区三区| 亚洲靠逼com| www激情久久| 在线观看中文字幕不卡| 免费人成网站在线观看欧美高清| 欧美最猛黑人xxxxx猛交| 免费成人在线视频观看| 久久久久久久久久久久久夜| 色国产综合视频| 国内国产精品久久| 亚洲最大成人综合| 国产欧美日韩一区二区三区在线观看| 六月婷婷色综合| 中文字幕一区av| 久久精品在线免费观看| 在线免费观看不卡av| 国产福利一区二区三区在线视频| 欧美精品一区在线观看| 欧美综合亚洲图片综合区| 国产一区二区在线免费观看| 亚洲精品久久嫩草网站秘色| 久久精品亚洲精品国产欧美kt∨| 青青草原综合久久大伊人精品优势| 91国内精品野花午夜精品| 久久99国产精品久久| 亚洲精品日韩专区silk| 中文字幕久久午夜不卡| 日韩免费视频一区二区| 在线观看日韩电影| 不卡的av网站| 国产成人精品一区二区三区四区| 国产欧美一区在线| 精品捆绑美女sm三区| 欧美美女黄视频| 色婷婷综合久久久中文一区二区| 亚洲黄色免费网站| 国产精品国产a| 国产日韩高清在线| 精品国产乱码久久久久久图片 | 国产精品国产馆在线真实露脸| 国产乱人伦精品一区二区在线观看| 日韩亚洲国产中文字幕欧美| 欧美色图天堂网| 欧美中文一区二区三区| 91免费视频网址| 欧美性色综合网| 欧美午夜一区二区三区免费大片| 日日摸夜夜添夜夜添精品视频 | 成人高清免费观看| 国产一区二区三区蝌蚪| 国产一区二区在线看| 国产在线一区二区综合免费视频| 久久精品夜夜夜夜久久| 精品国产sm最大网站免费看| 日韩欧美一级特黄在线播放| 日韩欧美综合一区| 久久这里只精品最新地址| 久久亚洲精精品中文字幕早川悠里| 粉嫩av一区二区三区在线播放| 亚洲免费看黄网站| 亚洲国产精品人人做人人爽| 一区二区三区四区亚洲| 一级中文字幕一区二区| 日日摸夜夜添夜夜添亚洲女人| 国产亚洲精久久久久久| 国产欧美精品国产国产专区 | 久久久久久久久久久久久久久99| av电影在线观看不卡| 91免费小视频| 欧美一三区三区四区免费在线看 | 一本久道中文字幕精品亚洲嫩| 日本系列欧美系列| 国内精品不卡在线| 色婷婷精品久久二区二区蜜臂av| 美国一区二区三区在线播放| 国产伦精品一区二区三区免费| 亚洲乱码国产乱码精品精98午夜 | 国产成人h网站| 色综合久久88色综合天天6| 欧美日韩电影在线| 国产欧美一区二区三区沐欲| 亚洲乱码国产乱码精品精小说| 久久久噜噜噜久久中文字幕色伊伊| 色综合天天天天做夜夜夜夜做| 国产黄色91视频| 在线观看视频91| 国产清纯美女被跳蛋高潮一区二区久久w | 艳妇臀荡乳欲伦亚洲一区| 亚洲国产精品久久久久婷婷884| 国产精品久久久久婷婷二区次| 精品国产乱码久久久久久免费| 欧美人动与zoxxxx乱| 亚洲国产精品二十页| 蜜桃精品视频在线|