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

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

?? depack.pas

?? 一款delphi+arm寫的壓縮殼. 反破解方面做的不是很好.但壓縮性能和兼容性非常不錯.
?? PAS
字號:

function ApDepack(var Source, Destination) : DWORD; cdecl;
asm
@@_aP_depack_asm:
    pushad
    mov    esi, [esp + 40]
    mov    edi, [esp + 44]
    cld
    mov    dl, 80h
    xor    ebx, ebx
@@literal:
    movsb
    mov    bl, 2
@@nexttag:
    call   @@getbit
    jnc    @@literal
    xor    ecx, ecx
    call   @@getbit
    jnc    @@codepair
    xor    eax, eax
    call   @@getbit
    jnc    @@shortmatch
    mov    bl, 2
    inc    ecx
    mov    al, 10h
@@getmorebits:
    call   @@getbit
    adc    al, al
    jnc    @@getmorebits
    jnz    @@domatch
    stosb
    jmp    @@nexttag
@@codepair:
    call   @@getgamma_no_ecx
    sub    ecx, ebx
    jnz    @@normalcodepair
    call   @@getgamma
    jmp    @@domatch_lastpos
@@shortmatch:
    lodsb
    shr    eax, 1
    jz     @@donedepacking
    adc    ecx, ecx
    jmp    @@domatch_with_2inc
@@normalcodepair:
    xchg   eax, ecx
    dec    eax
    shl    eax, 8
    lodsb
    call   @@getgamma
    cmp    eax, 32000
    jae    @@domatch_with_2inc
    cmp    ah, 5
    jae    @@domatch_with_inc
    cmp    eax, 7fh
    ja     @@domatch_new_lastpos
@@domatch_with_2inc:
    inc    ecx
@@domatch_with_inc:
    inc    ecx
@@domatch_new_lastpos:
    xchg   eax, ebp
@@domatch_lastpos:
    mov    eax, ebp
    mov    bl, 1
@@domatch:
    push   esi
    mov    esi, edi
    sub    esi, eax
    rep    movsb
    pop    esi
    jmp    @@nexttag
@@getbit:
    add     dl, dl
    jnz     @@stillbitsleft
    mov     dl, [esi]
    inc     esi
    adc     dl, dl
@@stillbitsleft:
    ret
@@getgamma:
    xor    ecx, ecx
@@getgamma_no_ecx:
    inc    ecx
@@getgammaloop:
    call   @@getbit
    adc    ecx, ecx
    call   @@getbit
    jc     @@getgammaloop
    ret
@@donedepacking:
    sub    edi, [esp + 40]
    mov    [esp + 28], edi
    popad
end;

procedure Move(const Source; var Dest; count: Integer);
asm
  PUSH    ESI
  PUSH    EDI
  MOV     ESI,EAX
  MOV     EDI,EDX
  MOV     EAX,ECX
  CMP     EDI,ESI
  JA      @@down
  JE      @@exit
  SAR     ECX,2
  JS      @@exit
  REP     MOVSD
  MOV     ECX,EAX
  AND     ECX,03H
  REP     MOVSB
  JMP     @@exit
@@down:
  LEA     ESI,[ESI+ECX-4]
  LEA     EDI,[EDI+ECX-4]
  SAR     ECX,2
  JS      @@exit
  STD
  REP     MOVSD            
  MOV     ECX,EAX
  AND     ECX,03H
  ADD     ESI,4-1
  ADD     EDI,4-1
  REP     MOVSB
  CLD
@@exit:
  POP     EDI
  POP     ESI
end;

function GetImageBase: DWORD;
var
  PEB, Ldr, fLink: DWORD;
begin
  asm
    mov eax, fs: [$30]
    mov PEB, eax
  end;
  Ldr := PDWORD(PEB + $C)^;
  fLink := PDWORD(Ldr + $C)^;
  result := PDWORD(DWORD(fLink) + $18)^;
end;

function NextPChar(s: PChar): PChar;
begin
  result := s;
  while PByte(result)^ <> 0 do
    inc(result);
  inc(result);
end;

function NextDWORD(d: Pointer): PDWORD;
begin
  result := d;
  inc(result);
end;

procedure NewEP(cRegs: TRegs); stdcall;
var
  pGetModuleHandle: function (lpModuleName: PChar): HMODULE; stdcall;
  pGetProcAddress: function (hModule: HMODULE; lpProcName: LPCSTR): FARPROC; stdcall;
  pLoadLibrary: function (lpLibFileName: PChar): HMODULE; stdcall;
  pVirtualAlloc: function (lpvAddress: Pointer; dwSize, flAllocationType, flProtect: DWORD): Pointer; stdcall;
  pVirtualFree: function (lpAddress: Pointer; dwSize, dwFreeType: DWORD): BOOL; stdcall;
  pVirtualProtect: function (lpAddress: Pointer; dwSize, flNewProtect: DWORD;
                    lpflOldProtect: Pointer): BOOL; stdcall;
//以上為必須變量
//下面為自定義變量
  ImageBase: Cardinal;
  PackDataHeaderRVA: Cardinal;
  i: Cardinal;
  PackedDir: PPkDataHeader;
  PackedSectionDir: PPkSectionDir;
  PackedData,xp, UnPackedData: Pointer;




  ImpDirPtr: PImpDir;
  p: PChar;
  hDll: DWORD;
  pp: PDWORD;


  pKeyFunc: PDWORD;
  pResDir: PImageDataDirectory;
  pBuf: Pointer;

  PFileHeader: PImageFileHeader;
  POptionalHeader32: PImageOptionalHeader32;
begin
  ImageBase := PDWORD(cRegs.Ebp + 3 * SizeOf(DWORD))^;
  if ImageBase = 0 then
    ImageBase := GetImageBase;
  pKeyFunc := LocalVar;
  PackDataHeaderRVA := pKeyFunc^;
  PackedDir := Pointer(ImageBase + PackDataHeaderRVA);

  Inc(pKeyFunc);
  pGetModuleHandle := Pointer(pKeyFunc^);
  Inc(pKeyFunc);
  pLoadLibrary := Pointer(pKeyFunc^);
  Inc(pKeyFunc);
  pGetProcAddress := Pointer(pKeyFunc^);
  Inc(pKeyFunc);
  pVirtualAlloc := Pointer(pKeyFunc^);
  Inc(pKeyFunc);
  pVirtualFree := Pointer(pKeyFunc^);
  Inc(pKeyFunc);
  pVirtualProtect := Pointer(pKeyFunc^);

  PackedSectionDir := Pointer(PChar(PackedDir) + PackedDir^.PkSectionDirOffset);
  xp := PackedSectionDir;
  for i := 0 to PackedDir^.PkSectionDirCount - 1 do
  begin
    if PackedSectionDir^.Length <> 0 then
    begin
      PackedData := Pointer(PChar(xp) + PackedSectionDir^.Offset);
      UnPackedData := Pointer(ImageBase + PackedSectionDir^.RVA);
      ApDepack(PackedData^, UnPackedData^);
    end;
    Inc(PackedSectionDir);
  end;          

  pBuf := pVirtualAlloc(nil, PackedDir^.ImpSize, MEM_COMMIT, PAGE_READWRITE);
  ImpDirPtr := Pointer(PChar(PackedDir) + PackedDir^.PkImpDirOffset);
  ApDepack(ImpDirPtr^, pBuf^);

  ImpDirPtr := pBuf;
  while ImpDirPtr^.ThunkRVA <> 0 do
  begin
    p := @ImpDirPtr^.Name[0];
    hDll := pGetModuleHandle(p);
    if hDll = 0 then
      hDll := pLoadLibrary(p);
    p := NextPChar(p);
    pp := Pointer(ImageBase + ImpDirPtr^.ThunkRVA);
    for i := 1 to ImpDirPtr^.ImpFuncCount do
    begin
      if PDWORD(p)^ and $FFFF0000 = 0 then
      begin
        pp^ := DWORD(pGetProcAddress(hDll, Pointer(PWORD(p)^)));
        p := PChar(NextDWORD(p));
      end
      else
      begin
        pp^ := DWORD(pGetProcAddress(hDll, p));
        p := NextPChar(p);
      end;
      inc(pp);
    end;
    ImpDirPtr := PImpDir(p);
  end;                                  

  PDWORD(cRegs.esp + SizeOf(TRegs))^ := ImageBase + PackedDir.EPRVA;    //覆蓋原來指向exitthread的指針

  pVirtualFree(pBuf, 0, MEM_RELEASE);

  PFileHeader := PImageFileHeader(ImageBase + DWORD(PImageDosHeader(ImageBase)^.e_lfanew) + 4);
  POptionalHeader32 := PImageOptionalHeader32(DWORD(PFileHeader) + IMAGE_SIZEOF_FILE_HEADER);

  pVirtualProtect(Pointer(ImageBase), $1000, PAGE_EXECUTE_READWRITE, @i);
  pResDir := PImageDataDirectory(@POptionalHeader32^.DataDirectory[0]);
  pResDir^.VirtualAddress := PackedDir^.ExpRVA;
  pResDir^.Size := PackedDir^.ExpSize;
  Inc(pResDir, 2);
  pResDir^.VirtualAddress := PackedDir^.ResRVA;
  pResDir^.Size := PackedDir^.ResSize;
  Inc(pResDir, 11);
  pResDir^.VirtualAddress := PackedDir^.DelayImpRVA;
  pResDir^.Size := PackedDir^.DelayImpSize;
  asm
    int 3            //拋出異常
  end;
end;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲理论在线观看| 蜜桃91丨九色丨蝌蚪91桃色| 欧美va天堂va视频va在线| 欧美日韩中文一区| 欧美日韩一区二区三区免费看| 91免费观看视频在线| www.久久久久久久久| 91在线观看免费视频| 一本色道久久综合精品竹菊| 91精彩视频在线| 91精品国产综合久久精品性色| 538在线一区二区精品国产| 日韩一区二区在线免费观看| 欧美大尺度电影在线| 国产欧美日韩在线| 亚洲乱码国产乱码精品精可以看| 一区二区三区免费网站| 首页国产丝袜综合| 国产一区91精品张津瑜| caoporn国产精品| 精品视频在线看| 精品人在线二区三区| 中文字幕第一区综合| 伊人夜夜躁av伊人久久| 美女在线观看视频一区二区| 大桥未久av一区二区三区中文| 91成人看片片| 欧美精品一区二区蜜臀亚洲| 国产精品久久久久久户外露出| 一区二区在线观看不卡| 久久国产精品99精品国产| 色综合久久中文字幕综合网| 欧美另类高清zo欧美| 久久网站最新地址| 亚洲一线二线三线久久久| 黑人巨大精品欧美黑白配亚洲| 成人av综合在线| 欧美一区二区三区人| 自拍偷拍欧美激情| 久久91精品久久久久久秒播| 一本久久a久久精品亚洲| 精品国产3级a| 亚洲高清在线视频| 东方欧美亚洲色图在线| 5858s免费视频成人| 亚洲四区在线观看| 国产一区二区三区四区五区美女| 日本高清视频一区二区| 国产午夜精品在线观看| 青青草国产精品97视觉盛宴| 欧洲一区在线电影| 自拍av一区二区三区| 国内精品久久久久影院一蜜桃| 欧美日韩一卡二卡| 亚洲码国产岛国毛片在线| 国产成人免费在线| 精品国产一区二区三区忘忧草| 亚洲国产欧美在线| 色8久久精品久久久久久蜜| 日本一区二区久久| 东方aⅴ免费观看久久av| 久久伊人蜜桃av一区二区| 日日骚欧美日韩| 欧美日韩激情在线| 视频一区中文字幕国产| 欧美日韩一区二区在线观看| 日韩理论片在线| 波多野结衣亚洲| 国产精品免费丝袜| 成人激情开心网| 国产精品欧美久久久久无广告 | 亚洲国产毛片aaaaa无费看| 99久久99久久精品国产片果冻| 国产视频911| 国产一区二区三区免费在线观看| 日韩精品影音先锋| 狠狠色丁香久久婷婷综合_中 | 亚洲国产精品麻豆| 一本大道久久a久久精二百| 1024亚洲合集| 欧美视频中文字幕| 午夜成人免费电影| 欧美一个色资源| 国产精品白丝jk黑袜喷水| 中文字幕不卡在线| 91视频免费播放| 亚洲成人一区二区| 日韩欧美的一区二区| 国产激情91久久精品导航 | 3751色影院一区二区三区| 日韩成人免费电影| 欧美精品一区二区三区在线播放| 精品一区二区三区影院在线午夜| 26uuu国产在线精品一区二区| 国产成人精品免费网站| 蓝色福利精品导航| 久久精品综合网| 色婷婷综合五月| 日本亚洲三级在线| 国产精品三级av| 欧美日韩国产色站一区二区三区| 久久国产精品99久久人人澡| 国产精品三级在线观看| 欧美性猛交xxxx乱大交退制版 | 欧美艳星brazzers| 日日摸夜夜添夜夜添精品视频| 精品久久一二三区| 99久久777色| 极品少妇一区二区| 亚洲欧美区自拍先锋| 91精品在线免费观看| 成人精品亚洲人成在线| 日本欧美久久久久免费播放网| 国产欧美一区二区精品性色| 色婷婷综合激情| 国产精品白丝av| 丝袜美腿亚洲一区二区图片| 中文字幕av一区 二区| 日韩一区二区三区av| 日本道色综合久久| 丁香婷婷深情五月亚洲| 日韩激情av在线| 亚洲精品ww久久久久久p站| 久久精品在线免费观看| 51精品国自产在线| 在线精品观看国产| 成人免费看片app下载| 男人操女人的视频在线观看欧美| 国产女主播在线一区二区| 日韩手机在线导航| 欧美日韩极品在线观看一区| 91香蕉国产在线观看软件| 国产成人综合网站| 国内偷窥港台综合视频在线播放| 亚洲国产欧美一区二区三区丁香婷| 国产精品成人午夜| 久久久欧美精品sm网站| 欧美色精品在线视频| 一本色道久久综合狠狠躁的推荐 | 国产精品乱人伦一区二区| 欧美精品乱码久久久久久| 成人一级片在线观看| 看片的网站亚洲| 免费美女久久99| 日韩精品久久理论片| 日本欧美久久久久免费播放网| 亚洲一本大道在线| 午夜电影网一区| 青青草国产成人av片免费| 国产日韩欧美精品在线| 日韩欧美aaaaaa| 91精品麻豆日日躁夜夜躁| 99国产精品久久久| 国产91精品一区二区麻豆亚洲| 美女视频黄免费的久久| 五月天欧美精品| 亚洲综合一区二区三区| 亚洲视频一区在线| 综合激情网...| 一区二区三区不卡视频 | 99久久综合狠狠综合久久| 国产精品69久久久久水密桃| 国产精品亚洲视频| av网站免费线看精品| 欧美一区二区三区在| 欧美草草影院在线视频| 精品卡一卡二卡三卡四在线| 日本一区二区综合亚洲| 一区二区中文字幕在线| 一区二区三区国产豹纹内裤在线| 午夜一区二区三区视频| 国产老妇另类xxxxx| av网站免费线看精品| 欧美精品v国产精品v日韩精品 | 成人在线综合网| 91在线国产观看| 欧美日韩成人在线一区| 久久久五月婷婷| 一区二区高清视频在线观看| 美女一区二区视频| 93久久精品日日躁夜夜躁欧美| 欧美日韩亚洲高清一区二区| 精品国产一区二区三区久久久蜜月| 精品乱码亚洲一区二区不卡| 国产精品免费视频观看| 日本亚洲三级在线| 福利一区在线观看| 欧美精品777| 亚洲精品一区二区三区99| 欧美日韩aaaaaa| 久久综合国产精品| 中文成人综合网| 亚洲已满18点击进入久久| 日本欧美一区二区| 国产成人在线视频播放| 色婷婷久久久久swag精品| 欧美一区二区三区白人| 国产亚洲欧洲一区高清在线观看| 亚洲综合偷拍欧美一区色| 成人理论电影网|