免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
delphi 字符串加密收集

昨天看見了甲殼蟲那里關(guān)于遠(yuǎn)程控制的免殺,其中用加密字符串來躲過殺軟,還有個(gè)叫“小壞”的發(fā)了個(gè)遠(yuǎn)控的源碼,里面有個(gè)“JIEMIDE“的函數(shù),居然刪除了,起始加密函數(shù)都差不多,我們只要自己寫個(gè)就可以,現(xiàn)在到網(wǎng)上收集幾個(gè),還有那灰鴿子里面有個(gè)加密的模塊,也可以調(diào)用,奇怪的是,我昨天找了FF115那個(gè)遠(yuǎn)控里的加密函數(shù),試驗(yàn)了點(diǎn)東西,我的卡巴2010版居然報(bào)毒呵呵!看來要自己寫加密函數(shù)了。

這里就收集幾個(gè),大家自己去擴(kuò)展思路吧!

我重來不玩遠(yuǎn)控那東西,只是感覺這個(gè)好玩,連什么惡意程序都沒寫過,就是感覺這個(gè)比較好玩,呵呵!
遠(yuǎn)控里的東西,也不難理解,至于寫遠(yuǎn)控,看了大家的都是堆積木,沒太大的技術(shù)含量,基本都是改來改去,沒什么技術(shù)含量了,菜鳥們拿去做免殺。其實(shí)只要自己稍微知道編程,免殺就很好做,至于一些經(jīng)驗(yàn)之談,網(wǎng)上都有,大家就拿來堆積木就是了。真正的高手是自己去探索新的思路,至于我這種小鳥,不是吃那飯的,隨便玩下!呵呵。。。

function   Encode(Str:String):String;
var//加密
TmpChr:AnsiChar;
i,Len:integer;
begin
Result:=Str;
Len:=Length(Result);
TmpChr:=Result[1];
    for   i:=1   to   Len-1   do
    Result[i]:=Result[i+1];
    Result[Len]:=TmpChr;
end;

function   Decode(Str:String):String;
var//解密
TmpChr:AnsiChar;
i,Len:integer;
begin
          Result:=Str;
          Len:=Length(Result);
          TmpChr:=Result[Len];
   for   i:=Len   DownTo   2   do
   Result[i]:=Result[i-1];
   Result[1]:=TmpChr;
end;

///////////////////////

功能:字符串加密和解密

作用:可用作密碼的和一些重要參數(shù)的保存,數(shù)據(jù)經(jīng)加密后保存即使被人看到了也無防。

首先定義一個(gè)常量數(shù)組

const

       XorKey:array[0..7] of Byte=($B2,$09,$AA,$55,$93,$6D,$84,$47); //字符串加密用

然后在程序里加入以下兩個(gè)函數(shù),具體用法就不用多說了吧!

function Enc(Str:String):String;//字符加密函數(shù)   這是用的一個(gè)異或加密
var
i,j:Integer;
begin
Result:='';
j:=0;
for i:=1 to Length(Str) do
    begin
      Result:=Result+IntToHex(Byte(Str[i]) xor XorKey[j],2);
      j:=(j+1) mod 8;
    end;
end;

function Dec(Str:String):String;//字符解密函數(shù)
var
i,j:Integer;
begin
Result:='';
j:=0;
for i:=1 to Length(Str) div 2 do
    begin
      Result:=Result+Char(StrToInt('$'+Copy(Str,i*2-1,2)) xor XorKey[j]);
      j:=(j+1) mod 8;
    end;
end;

function   Crypt(s:   string;   Key:   Word;
      const   bEncrypt:   boolean):   string;  
const  
      SeedA   =   787;   ///   常量,你可以修改
      SeedB   =   787;   ///   常量,你可以修改
var
      i:   integer;  
      ps,   pr   :   ^byte;  
begin  
      if   bEncrypt   then
          s   :=   s+#0;
      SetLength(Result,   Length(s));
      ps   :=   @s[1];
      pr   :=   @Result[1];
      for   i   :=   1   to   length(s)   do
      begin
          pr^   :=   ps^   xor   (Key   shr   8);
          if   bEncrypt   then  
              Key   :=   (pr^   +   Key)   *   SeedA   +   SeedB
          else
              Key   :=   (ps^   +   Key)   *   SeedA   +   SeedB;
          pr   :=   pointer(integer(pr)   +   1);
          ps   :=   pointer(integer(ps)   +   1);
      end;
end;

///////////////////

1.

function EncrypStr(Src, Key: String): String;//字符串加密函數(shù)
//對(duì)字符串加密(Src:源 Key:密匙)
var KeyLen :Integer;
    KeyPos :Integer;
    offset :Integer;
    dest :string;
    SrcPos :Integer;
    SrcAsc :Integer;
    Range :Integer;
begin
   KeyLen:=Length(Key);
   if KeyLen = 0 then key:='delphi';
   KeyPos:=0;
   Range:=256;
   Randomize;
   offset:=Random(Range);
   dest:=format('%1.2x',[offset]);
   for SrcPos := 1 to Length(Src) do
      begin
         SrcAsc:=(Ord(Src[SrcPos]) + offset) MOD 255;
         if KeyPos < KeyLen
         then KeyPos:= KeyPos + 1
         else KeyPos:=1;
         SrcAsc:= SrcAsc xor Ord(Key[KeyPos]);
         dest:=dest + format('%1.2x',[SrcAsc]);
         offset:=SrcAsc;
      end;
   Result:=Dest;
end;
end;

function UncrypStr(Src, Key: String): string;//字符串解密函數(shù)
//對(duì)字符串解密(Src:源 Key:密匙)
var KeyLen :Integer;
    KeyPos :Integer;
    offset :Integer;
    dest :string;
    SrcPos :Integer;
    SrcAsc :Integer;
    TmpSrcAsc :Integer;
begin
   KeyLen:=Length(Key);
   if KeyLen = 0 then key:='delphi';
   KeyPos:=0;
   offset:=StrToInt('$'+ copy(src,1,2));
   SrcPos:=3;
   repeat
      SrcAsc:=StrToInt('$'+ copy(src,SrcPos,2));
      if KeyPos < KeyLen
      Then KeyPos := KeyPos + 1
      else KeyPos := 1;
      TmpSrcAsc := SrcAsc xor Ord(Key[KeyPos]);
      if TmpSrcAsc <= offset
      then TmpSrcAsc := 255 + TmpSrcAsc - offset
      else TmpSrcAsc := TmpSrcAsc - offset;
      dest:=dest + chr(TmpSrcAsc);
      offset:=srcAsc;
      SrcPos:=SrcPos + 2;
   until SrcPos >= Length(Src);
   Result:=Dest;
end;

//***************************************************************************************

2.

//********************************************************
//             加密解密 (利用異或運(yùn)算)    (方式2)          
//********************************************************

function encryptstr(const s:string; skey:string):string;//加密
var
    i,j: integer;
    hexS,hexskey,midS,tmpstr:string;
    a,b,c:byte;
begin
    hexS   :=myStrtoHex(s);
    hexskey:=myStrtoHex(skey);
    midS   :=hexS;
    for i:=1 to (length(hexskey) div 2)   do
    begin
        if i<>1 then midS:= tmpstr;
        tmpstr:='';
        for j:=1 to (length(midS) div 2) do
        begin
            a:=strtoint('$'+midS[2*j-1]+midS[2*j]);
            b:=strtoint('$'+hexskey[2*i-1]+hexskey[2*i]);
            c:=a xor b;
            tmpstr := tmpstr+myStrtoHex(chr(c));
        end;
    end;
    result := tmpstr;
end;

function decryptstr(const s:string; skey:string):string;//解密
var
    i,j: integer;
    hexS,hexskey,midS,tmpstr:string;
    a,b,c:byte;
begin
    hexS :=s;//應(yīng)該是該字符串
    if length(hexS) mod 2=1 then
    begin
        showmessage('密文錯(cuò)誤!');
        exit;
    end;
    hexskey:=myStrtoHex(skey);
    tmpstr :=hexS;
    midS   :=hexS;
    for i:=(length(hexskey) div 2) downto 1 do
    begin
        if i<>(length(hexskey) div 2) then midS:= tmpstr;
        tmpstr:='';
        for j:=1 to (length(midS) div 2) do
        begin
            a:=strtoint('$'+midS[2*j-1]+midS[2*j]);
            b:=strtoint('$'+hexskey[2*i-1]+hexskey[2*i]);
            c:=a xor b;
            tmpstr := tmpstr+myStrtoHex(chr(c));
        end;
    end;
    result := myHextoStr(tmpstr);
end;

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
DELPHI加密字串(異或運(yùn)算加密)
Delphi加密解密算法
Delphi7升級(jí)到Delphi 2010、Delphi XE、Delphi XE2總結(jié) .
Delphi Unicode 轉(zhuǎn) 中文
delphi 字符串 加密 解密 函數(shù)
Delphi讀取excel數(shù)據(jù)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服