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

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

?? showpeunit.pas

?? DeDe3.2004源碼
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
       Cells[6,i]:=DWord2Hex(PEHeader.Objects[i].PointerToRelocations);
       Cells[7,i]:=DWord2Hex(PEHeader.Objects[i].PointerToLinenumbers);
       Cells[8,i]:=Word2Hex(PEHeader.Objects[i].NumberOfRelocations);
       Cells[9,i]:=Word2Hex(PEHeader.Objects[i].NumberOfLinenumbers);
     End;

   ShowPEData;
  {#end of visuzlization}

end;

procedure TPEIForm.FormCreate(Sender: TObject);
begin
  With ObjectSGrid Do
    Begin
      Cells[0,0]:='object name';
      Cells[1,0]:='RVA';
      Cells[2,0]:='physical offset';
      Cells[3,0]:='physical size';
      Cells[4,0]:='virtual size';
      Cells[5,0]:='flags';
      Cells[6,0]:='PtrToRelocs';
      Cells[7,0]:='PtrToLinenums';
      Cells[8,0]:='NumOfRelocs';
      Cells[9,0]:='NumOfLinenums';
    End;

   InitLabels;
   OldRow:=-1;
end;

procedure TPEIForm.InitLabels;
begin
  //
  ExpPhOffsetLbl.Caption:='';
  Exp1Lbl.Caption:='';
  Exp2Lbl.Caption:='';
  Exp3Lbl.Caption:='';
  Exp4Lbl.Caption:='';
  Exp5Lbl.Caption:='';
  Exp6Lbl.Caption:='';
  Exp7Lbl.Caption:='';
  Exp8Lbl.Caption:='';
  Exp9Lbl.Caption:='';
  ExportLV.Items.Clear;
  PhysImLbl.Caption:='';
  DLLNumLbl.Caption:='';
  ProcNumLbl.Caption:='';
  DLLMemo.Clear;
  ImportList.Items.Clear;
  ImportTree.Items.Clear;
end;

procedure TPEIForm.ShowPEData;
begin
  With PEHeader Do
   Begin
     {PE HEADER}
     SignLbl.Caption:=Signature;
     CPULbl.Caption:=CPU;
     ONumLbl.Caption:=IntToStr(ObjectNum);
     TSLbl.Caption:=IntToHex(TimeStamp,8);
     SymTblOffsetLbl.Caption:=IntToHex(SymTblOffset,8)+'h';
     SymNumLbl.Caption:=IntToStr(SymNum);
     NTHDRLbl.Caption:=Word2Hex(NT_HDR_SIZE)+'h ('+IntToStr(NT_HDR_SIZE)+')';
     SetOEnable(False);
     Try
       O1.Checked:=FLAGS[1];
       O2.Checked:=FLAGS[2];
       O4.Checked:=FLAGS[3];
       O8.Checked:=FLAGS[4];
       O10.Checked:=FLAGS[5];
       O20.Checked:=FLAGS[6];
       O40.Checked:=FLAGS[7];
       O80.Checked:=FLAGS[8];
       O100.Checked:=FLAGS[9];
       O200.Checked:=FLAGS[10];
       O400.Checked:=FLAGS[11];
       O1000.Checked:=FLAGS[13];
       O2000.Checked:=FLAGS[14];
       O4000.Checked:=FLAGS[15];
       O8000.Checked:=FLAGS[16];
     Finally
      SetOEnable(True);
     End;
   End;
end;

procedure TPEIForm.ObjectSGridSelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  If ARow>PEHeader.ObjectNum Then Exit;
  SaveOldRowChanges;
  SectionDataLbl.Caption:=dword2hex(PEHeader.Objects[ARow].InfoAddress);
  LoadSectionInformationForEditing(ARow);
  If ACol<>5 Then Exit;
  If ObjectSGrid.Cells[0,ARow]='' Then Exit;
end;

procedure TPEIForm.LoadSectionInformationForEditing(ARow: Integer);
var s : String;
begin
   SesIDLbl.Caption:=IntToStr(ARow);
   SectionNameCombo.Text:=ObjectSGrid.Cells[0,ARow];
   RVAEdit.Text:=ObjectSGrid.Cells[1,ARow];
   PhysOffsetEdit.Text:=ObjectSGrid.Cells[2,ARow];
   PhysSizeEdit.Text:=ObjectSGrid.Cells[3,ARow];
   VirtSizeEdit.Text:=ObjectSGrid.Cells[4,ARow];
   FlagsEdit.Text:=ObjectSGrid.Cells[5,ARow];

   s:=ObjectSGrid.Cells[0,ARow];
   If (s='CODE') or (s='.text') then s:='Excutable Code';
   If (s='DATA') or (s='.data') then s:='Data';
   If s='.idata' then s:='Imports';
   If s='.edata' then s:='Exports';
   If (s='.rsrc') or (s='.rdata') then s:='Resources';
   If s='.reloc' then s:='Fix-Up Table';
   If s='.tls' then s:='Thread Local Storage';
   If s='.pdata' then s:='Exceptions table';
   If s='.debug' then s:='Debug Information';

   SesDescriptionLbl.Caption:=s;
   OldRow:=ARow;
end;

procedure TPEIForm.Button6Click(Sender: TObject);

   function CompareDLLNames(s1,s2 : String) : Boolean;
   var i, n : Integer;
   begin
     Result:=False;
     n:=Length(s1);
     i:=Length(s2);
     If i<n Then n:=i;
     i:=0;
     Repeat
       Inc(i);
     Until (i=n) or (s1[i]<>s2[i]);
     If s1[i]=s2[i] Then Result:=True;
   end;

var lImpOffset, lImpSize : LongInt;
    i,j,k : Integer;
    TmpList,TTmpList : TStringList;
    inst : TListItem;
    tinst : TTreeNode;
    CurrDLL : String;
begin
With DeDeMainForm Do
 Begin
  i:=PEHeader.GetSectionIndex('.idata');
  If i=-1 Then i:=PEHeader.GetSectionIndexByRVA(PEHeader.IMPORT_TABLE_RVA);
  If i=-1 Then Raise Exception.Create(err_has_no_import);
  
  lImpOffset:=PEHeader.Objects[i].PHYSICAL_OFFSET;
//  lImpSize:=PEHeader.Objects[i].PHYSICAL_SIZE;



  //lImpOffset:=PEHeader.Objects[PEHeader.GetSectionIndex('.idata')].PHYSICAL_OFFSET;
  PhysImLbl.Caption:=DWord2Hex(lImpOffset);
  PEImportData.FileName:=FileEdit.FileName;
  TmpList:=TStringList.Create;
  TTmpList:=TStringList.Create;
  Try
    //This routine does everything
    PEImportData.CollectInfo(lImpOffset, PEHeader.Objects[i].RVA, TmpList);

    DLLNumLbl.Caption:=IntToStr(PEImportData.DLLCount);
    ProcNumLbl.Caption:=IntToStr(PEImportData.ProcCount);

    // Processing Data For ImportListView
    DLLMemo.Clear;
    ImportList.Items.Clear;
    For i:=0 To TmpList.Count-1 Do
      Begin
         If Copy(TmpList[i],1,1)<>' ' Then
           Begin
             If DLLMemo.Items.IndexOf(TmpList[i])=-1
               Then DLLMemo.Items.Add(TmpList[i]);
             CurrDLL:=TmpList[i];
           End
           Else Begin
            TTmpList.Clear;
            TTmpList.CommaText:=Copy(TmpList[i],2,Length(TmpList[i])-1);
            inst:=ImportList.Items.Add;
            inst.Caption:=CurrDLL;
            inst.Subitems.Add(TTmpList[0]);
            inst.Subitems.Add(TTmpList[1]);
            inst.Subitems.Add(TTmpList[2]);
          End;
      End;
      ImportList.Update;

      //Processing Data For ImportTreeView
      ImportTree.Items.Clear;
      ImportTree.Update;
      ImportTree.Items.BeginUpdate;
       For i:=0 To DLLMemo.Items.Count-1 Do
         Begin
           // Adds dll name as root node
           tinst:=ImportTree.Items.AddChild(nil,DLLMemo.Items[i]);

           // For j through all imports
           For j:=0 To ImportList.Items.Count-1 Do
             Begin
              k:=0;
              CurrDLL:='';
              Repeat Inc(k);
              Until   (ImportList.Items[j].Caption[k]=' ')
                   or (k=Length(ImportList.Items[j].Caption[k]));

             CurrDLL:=CurrDLL+Copy(ImportList.Items[j].Caption,1,k-2);

             // If DLLName of Current Item in ImportsList is equal to
             // Current DLLName
             If CompareDLLNames(String(ImportList.Items[j].Caption),DLLMemo.Items[i]) Then
                Begin
                  CurrDLL:=ImportList.Items[j].Subitems[0];
                  ImportTree.Items.AddChild(tinst,CurrDLL);
                End; {If CompareDLLNames}
             End; {For j}
         End; {For i}

   Finally
     ImportTree.Items.EndUpdate;
     TmpList.Free;
     TTmpList.Free;
   End;
 End;
end;

procedure TPEIForm.Button8Click(Sender: TObject);
var lExpOffset, lExpSize : LongInt;
    i : Integer;
    s1,s2,s3 : String;
    inst : TListItem;
begin
With DeDeMainForm Do
Begin
  i:=PEHeader.GetSectionIndex('.edata');
  If i=-1 Then Raise Exception.Create(err_has_no_export);
  lExpOffset:=PEHeader.Objects[i].PHYSICAL_OFFSET;
//  lExpSize:=PEHeader.Objects[i].PHYSICAL_SIZE;

  ExpPhOffsetLbl.Caption:=DWORD2Hex(lExpOffset)+'h';
  ExportLV.Items.Clear;

  PEExports.FileName:=FileEdit.FileName;
  Try
    // This routine does everything
    PEExports.Process(lExpOffset,PEHeader.Objects[i].RVA);
  Except
    ShowMessage('Error');
  End;
  Exp1Lbl.Caption:=PEExports.DATE_TIME_STAMP;
  Exp2Lbl.Caption:=PEExports.VERSION;
  Exp3Lbl.Caption:=PEExports.Name_RVA;
  Exp4Lbl.Caption:=IntToStr(PEExports.Ordinal_Base);
  Exp5Lbl.Caption:=IntToStr(PEExports.Address_Table_Entries);
  Exp6Lbl.Caption:=IntToStr(PEExports.Number_of_Name_Pointers);
  Exp7Lbl.Caption:=PEExports.Export_Address_Table_RVA;
  Exp8Lbl.Caption:=PEExports.Name_Pointer_RVA;
  Exp9Lbl.Caption:=PEExports.Ordinal_Table_RVA;

  For i:=1 To PEExports.Address_Table_Entries Do
   Begin
      s1:=IntToStr(PEExports.FUNC_DATA[i].Ordinal);
      s2:=PEExports.FUNC_DATA[i].Offset;
      s3:=PEExports.FUNC_DATA[i].Name;
      While Length(s1)<3 Do s1:=' '+s1;
      While Length(s2)<16 Do s2:=s2+' ';
      While Length(s3)<16 Do s3:=s3+' ';
      inst:=ExportLV.Items.Add;
      inst.Caption:=s3;
      inst.Subitems.Add(s1);
      inst.Subitems.Add(s2);
//      ExportsMemo.Lines.Add(Format('%s  Ord: %s RVA: %s ',[s3,s1,s2]));
   End;
End;
end;

procedure TPEIForm.Button1Click(Sender: TObject);
Var ObjectObj : TPEObject;
    ObjID, i : Integer;
    sNewFile : String;
begin
   SaveDlg.InitialDir:=ExtractFileDir(PEFile.sFileName);
   SaveDlg.FileName:=PEFile.sFileName;

   if not SaveDlg.Execute then exit;
//   IF MessageDlg(wrn_change_file,
//      mtConfirmation,[mbYes,mbNo],0)=mrNo Then Exit;

   ObjectSGrid.Cells[1,OldRow]:=RVAEdit.Text;
   ObjectSGrid.Cells[2,OldRow]:=PhysOffsetEdit.Text;
   ObjectSGrid.Cells[3,OldRow]:=PhysSizeEdit.Text;
   ObjectSGrid.Cells[4,OldRow]:=VirtSizeEdit.Text;
   ObjectSGrid.Cells[5,OldRow]:=FlagsEdit.Text;

   For i:=1 to PEHeader.ObjectNum do
     begin
       ObjID:=i;
       ObjectObj.OBJECT_NAME:=ObjectSGrid.Cells[0,i];
       ObjectObj.VIRTUAL_SIZE:=HEX2DWORD(ObjectSGrid.Cells[4,i]);
       ObjectObj.RVA:=HEX2DWORD(ObjectSGrid.Cells[1,i]);
       ObjectObj.PHYSICAL_OFFSET:=HEX2DWORD(ObjectSGrid.Cells[2,i]);
       ObjectObj.PHYSICAL_SIZE:=HEX2DWORD(ObjectSGrid.Cells[3,i]);
       ObjectObj.FLAGS:=HEX2DWORD(ObjectSGrid.Cells[5,i]);
       ObjectObj.PointerToRelocations:=PEHeader.Objects[ObjID].PointerToRelocations;
       ObjectObj.PointerToLinenumbers:=PEHeader.Objects[ObjID].PointerToLinenumbers;
       ObjectObj.NumberOfRelocations:=PEHeader.Objects[ObjID].NumberOfRelocations;
       ObjectObj.NumberOfLinenumbers:=PEHeader.Objects[ObjID].NumberOfLinenumbers;
       ObjectObj.MakeBuffer;
       PEFile.Seek(PEHeader.Objects[i].InfoAddress);
       For ObjID:=1 To 40 Do PEFile.Write(ObjectObj.DATA[ObjID]);
     end;

   Try
     PEFile.PEStream.SaveToFile(SaveDlg.FileName{FsFileName});
     ShowMessage(msg_save_succ);
   Except
     on e: Exception do
         ShowMessage(msg_save_not_succ+#13#10+e.Message);
   End;

   if Not bELF
     then PEHeader.Dump(Self.PEFile)
     else Raise Exception.Create('This is not PE file !');
   ShowPEData;
   FormShow(self);
end;

procedure TPEIForm.Button10Click(Sender: TObject);
var s, sec : String;
    i : Integer;
begin
  sec:='';

  for i:=1 to PEHeader.ObjectNum do
    begin
      s:=GetDelphiVersion(PEFile)+'  ';
      if copy(s,1,1)='D'
        then Case i Of
                0,1 :   sec:='60000020';
                2,5 :   sec:='C0000040';
                3:      sec:='40000040';
                4,7 :   sec:='C0000000';
                6,8,9,10,11 : sec:='50000040';
              End
        else begin
          s:=ObjectSGrid.Cells[0,i];
          if (Pos('text',s)<>0) or (Pos('CODE',s)<>0) then sec:='E000020';
          if (i=1) and (sec='') then s:='E000020';
        end;

      If sec<>'' Then  ObjectSGrid.Cells[5,i]:=sec;
    end;
end;
    
procedure TPEIForm.Button9Click(Sender: TObject);
begin
  FlagsEditForm.FsFlags:=FlagsEdit.Text;
  FlagsEditForm.SetSectionFlags;
  FlagsEditForm.ShowModal;

  FlagsEdit.Text:=FlagsEditForm.FsFlags;
end;

function TPEIForm.PrepareImports: TStringList;
var i : Integer;
    s,s1 : String;
begin
  FormShow(self);
  Try
    Button6Click(Self);
  Except
  End;

  Result:=TStringList.Create;
  For i:=0 To ImportList.Items.Count-1 Do
    Begin
      s:=ImportList.Items[i].Caption;
      If Copy(s,Length(s),1)=#0 Then s:=Copy(s,1,Length(s)-1);
      s1:=ImportList.Items[i].Subitems[0];

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美在线影院| 午夜亚洲福利老司机| 亚洲综合偷拍欧美一区色| 日韩中文字幕av电影| 国产一区二区h| 欧美日韩精品一区二区在线播放 | 91麻豆国产在线观看| 欧美肥妇毛茸茸| 中文字幕国产一区| 蜜桃av噜噜一区二区三区小说| 91一区二区三区在线观看| 精品国产乱码久久| 丝袜国产日韩另类美女| 成人免费视频网站在线观看| 91精品国产综合久久精品app| 日本一区二区电影| 午夜精品影院在线观看| 欧美性色黄大片| 中文字幕一区二区三区四区| 精品亚洲aⅴ乱码一区二区三区| 欧美色综合久久| 一区二区三区在线免费播放| 成人高清免费观看| 中文字幕的久久| 国产一本一道久久香蕉| 欧美一级高清片| 日韩电影免费在线观看网站| 欧美亚洲国产一区在线观看网站| 国产精品黄色在线观看| 国产不卡在线一区| 久久久99精品免费观看不卡| 精品亚洲成a人| 欧美v日韩v国产v| 久久电影网电视剧免费观看| 欧美一区二区三区四区久久| 午夜精品久久久久久久99水蜜桃| 欧美色图免费看| 午夜精品视频一区| 欧美视频一区二区三区在线观看 | 久久久亚洲精品一区二区三区| 亚洲成a人片在线观看中文| 色又黄又爽网站www久久| 中文字幕一区二区在线观看 | 久久国产精品露脸对白| 欧美一级生活片| 麻豆一区二区三| 精品伦理精品一区| 国产高清精品网站| 国产精品伦一区二区三级视频| 国产91精品久久久久久久网曝门| 国产精品免费免费| 色综合天天综合给合国产| 亚洲女与黑人做爰| 3atv一区二区三区| 精品一区二区日韩| 国产精品人成在线观看免费| 一道本成人在线| 亚洲成在线观看| 久久久夜色精品亚洲| 成人黄色av网站在线| 亚洲精品日韩一| 欧美人体做爰大胆视频| 久久机这里只有精品| 国产精品午夜在线观看| 色婷婷亚洲综合| 免费欧美在线视频| 久久久久久久久蜜桃| 色诱亚洲精品久久久久久| 日本美女一区二区| 欧美国产精品久久| 欧美日韩精品一区二区在线播放| 精品一区二区久久| 亚洲天堂网中文字| 欧美高清性hdvideosex| 国产在线播放一区二区三区| 专区另类欧美日韩| 欧美一区三区二区| 91蝌蚪porny九色| 日本 国产 欧美色综合| 综合电影一区二区三区 | 99久久精品国产导航| 蜜臀av一区二区| 久久精品亚洲一区二区三区浴池| 91成人在线精品| 国产一区欧美日韩| 视频在线观看一区| 亚洲人成人一区二区在线观看| 日韩手机在线导航| 色偷偷88欧美精品久久久| 精品系列免费在线观看| 亚洲综合一区二区精品导航| 国产午夜精品一区二区三区视频 | 日本一区二区三区国色天香| 91精品在线一区二区| 色综合激情久久| 成人福利在线看| 日韩经典中文字幕一区| 亚洲黄色免费网站| 国产精品久久久久久久第一福利 | 欧美日韩综合色| va亚洲va日韩不卡在线观看| 韩国女主播成人在线观看| 亚洲不卡一区二区三区| 一区二区三区精品| 国产精品亲子伦对白| 精品国产区一区| 91精品国产日韩91久久久久久| 在线这里只有精品| 91在线观看地址| 福利电影一区二区| 国产麻豆视频一区二区| 麻豆国产欧美一区二区三区| 天天综合网天天综合色| 亚洲小少妇裸体bbw| 一区二区理论电影在线观看| 成人欧美一区二区三区1314| 中文文精品字幕一区二区| 国产亚洲人成网站| 国产人久久人人人人爽| 国产亚洲精品精华液| 久久色在线观看| 久久嫩草精品久久久久| 国产三级欧美三级| 欧美激情中文不卡| 欧美经典一区二区| 中文字幕欧美激情| 中文字幕一区三区| 一区二区三区在线观看国产| 亚洲综合在线视频| 天天操天天色综合| 黑人巨大精品欧美一区| 国产精品1024| 91丨porny丨在线| 欧美日韩国产小视频| 日韩一级片网址| 久久久久久久综合| 中文字幕中文字幕中文字幕亚洲无线| 国产精品久久免费看| 亚洲综合一二三区| 麻豆国产欧美一区二区三区| 国产91富婆露脸刺激对白| 91丨porny丨最新| 在线播放一区二区三区| 久久综合久久综合九色| 国产精品妹子av| 亚洲成人黄色小说| 久久99九九99精品| www.日韩精品| 欧美一区二区在线播放| 精品免费视频一区二区| 国产精品女主播在线观看| 亚洲靠逼com| 精品在线观看视频| 91在线免费看| 666欧美在线视频| 日韩一区在线播放| 激情小说欧美图片| 99精品欧美一区二区三区小说| 337p亚洲精品色噜噜狠狠| 久久免费精品国产久精品久久久久 | 亚洲欧美日韩中文播放| 免费国产亚洲视频| 色综合婷婷久久| 精品国产免费人成在线观看| 国产精品美女久久久久久2018| 日日夜夜免费精品| 成人app网站| 精品免费视频一区二区| 人人精品人人爱| 91丨国产丨九色丨pron| 精品国产sm最大网站免费看| 一区二区三区高清在线| 国产露脸91国语对白| 欧美亚男人的天堂| 国产精品欧美经典| 黄色小说综合网站| 欧美日韩一区在线观看| 国产精品久久久久一区二区三区共 | 欧美视频在线一区| 亚洲色图.com| 国产美女精品人人做人人爽| 欧美一区二区在线视频| 亚洲一区在线电影| www.av精品| 久久久蜜桃精品| 青草国产精品久久久久久| 欧洲精品视频在线观看| 亚洲天堂免费在线观看视频| 成人深夜视频在线观看| 欧美zozo另类异族| 蜜桃精品视频在线观看| 欧美性受极品xxxx喷水| 亚洲男人的天堂一区二区| 波多野洁衣一区| 国产精品日韩精品欧美在线| 国产精品一区二区你懂的| 久久在线观看免费| 国产乱子轮精品视频| 久久免费午夜影院| 懂色av一区二区夜夜嗨|