تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
Pc Guard v5 Keygen Algorithm
#1
Hello I am sharing the pc guard v5 keygen algorithm with you.


الملفات المرفقة
.txt   Pc Guard v5 Keygen Algorithm.txt (الحجم : 743 bytes / التحميلات : 116)
أعضاء أعجبوا بهذه المشاركة : 0b3l1sk , KaMaN99
#2
(18-09-2021, 09:36 PM)vosiyons كتب : Hello I am sharing the pc guard v5 keygen algorithm with you.
 ? how to create pc guard v5 keygen
plz share video tutorial sir
أعضاء أعجبوا بهذه المشاركة :
#3
(18-09-2021, 09:36 PM)vosiyons كتب : Hello I am sharing the pc guard v5 keygen algorithm with you.
 
 !!! Useless
...Incomplete C++ builder code
.Attached VC++ 6 (MFC) source from Tuts4you


الملفات المرفقة
.zip   PCGuardKeygen_src_VC6.zip (الحجم : 45.88 KB / التحميلات : 90)
أعضاء أعجبوا بهذه المشاركة : rce3033
#4
Useless!!! 
...Incomplete C++ builder code
.Attached VC++ 6 (MFC) source from Tuts4you

@overlap 





Hello bro @overlap 

I wrote keygen for pcguard v5 and v6. The important thing is to find the constant value used by the programmer in the keygen.
PC Guard is in great pain here.
If the correct serial corresponding to the site code is known, I can find this fixed value in 5 minutes. It's also found with brute force, but it's a long job.
XXXX I found it with brute force in the program.
It has been a long time since the v5 and v6 keygen and serial control algorithms were released.

An important note:
PCGuard key tool can't do nothing if you don't have a valid key "Activation Code" or "Program ID" and also the program has any PE section encrypted.
أعضاء أعجبوا بهذه المشاركة :
#5
! PCGuard Protection mechanism it's not my main interest
...I found your snippet useless and incomplete because it doesn't meet learning requirement to build it easily

...Instead of these few lines, better way is to share the entire source project
أعضاء أعجبوا بهذه المشاركة :
#6
@overlap

تحليل مفصل لخوارزمية إنشاء المفاتيح لبرنامج PC Guard v5:

1. **تحويل ProgramID إلى نص سداسي عشر:**
   ```cpp
   ProgramID = StrToHex(aux);
   ```
   يتم تحويل ProgramID إلى نص سداسي عشر. aux هنا هو سلسلة نصية يتم تحويلها إلى نص سداسي عشر.

2. **التحويل الأول لـ ProgramID:**
   ```cpp
   ProgramID = (ProgramID ^ SiteCode) * 2;
   ```
   يتم تطبيق عملية XOR بين ProgramID و SiteCode، ثم يتم مضاعفة الناتج.

3. **تحويل SiteCode:**
   ```cpp
   SiteCode = SiteCode - UserCode;
   ```
   يتم طرح UserCode من SiteCode.

4. **التحويل الثاني لـ ProgramID:**
   ```cpp
   ProgramID = (ProgramID ^ FString) ^ SiteCode;
   ```
   يتم تطبيق عملية XOR مرة أخرى على ProgramID، هذه المرة مع FString و SiteCode.

5. **تحويل UserCode:**
   ```cpp
   UserCode = UserCode * 2;
   ```
   يتم مضاعفة UserCode.

6. **عملية القسمة والباقي لـ SiteCode:**
   ```cpp
   SiteCode = (SiteCode / 0x9A4) * (SiteCode % 0x9A4);
   ```
   يتم قسمة SiteCode على 0x9A4 (2468) وضرب الناتج في الباقي.

7. **التحويل النهائي لـ ProgramID:**
   ```cpp
   ProgramID = (((ProgramID ^ SiteCode) - 0xA6B38164) ^ LString) + UserCode;
   ```
   يتم تطبيق عملية XOR بين ProgramID و SiteCode، ثم طرح 0xA6B38164 من الناتج. بعد ذلك، يتم تطبيق عملية XOR مع LString وإضافة UserCode.

8. **تحويل FString و LString إلى نص سداسي عشر:**
   ```cpp
   strcpy(aux, eFString->Text.c_str());
   FString = StrToHex(aux);
   strcpy(aux, eLString->Text.c_str());
   LString = StrToHex(aux);
   ```
   يتم تحويل النصوص في eFString و eLString إلى نصوص سداسية عشرية.

9. **تشكيل السلسلة النهائية:**
   ```cpp
   TVarRec sd[] = {(int)LString, (int)ProgramID, (int)FString};
   String String;
   String = Format("%4X-%8X-%4X", sd, 3);
   eInitCode->Text = String;
   ```
   يتم تشكيل مصفوفة تحتوي على LString، ProgramID، و FString، ثم يتم تنسيقها إلى سلسلة نصية بنمط %4X-%8X-%4X، ويتم تعيين الناتج إلى eInitCode->Text.

### شرح تفصيلي
هذه الخوارزمية تأخذ المدخلات ProgramID، SiteCode، و UserCode وتقوم بسلسلة من العمليات الرياضية ومعالجة النصوص السداسية عشرية لإنشاء مفتاح. العمليات تتضمن XOR، الضرب، القسمة، والطرح، مما يجعل من الصعب توقع المفتاح الناتج بدون معرفة المدخلات الأصلية وجميع التفاصيل في الخوارزمية.

هذه العملية تهدف إلى توليد مفاتيح فريدة وصعبة التخمين استنادًا إلى القيم المدخلة، مما يعزز من أمان البرنامج ضد الاستخدام غير المصرح به.
أعضاء أعجبوا بهذه المشاركة : [email protected] , sitifis , alihmoda1970
#7
نفس الشفرة المصدرية لكن بلغة الـ C# لمن يرغب:
 
// EAX = ProgramID
// EDX = SiteCode
// EBX = UserCode
int ProgramID = StrToHex(aux);
ProgramID = (ProgramID ^ SiteCode) * 2;
SiteCode = SiteCode - UserCode;
ProgramID = (ProgramID ^ FString) ^ SiteCode;
UserCode = UserCode * 2;
SiteCode = (SiteCode / 0x9A4) * (SiteCode % 0x9A4);
ProgramID = (((ProgramID ^ SiteCode) - 0xA6B38164) ^ LString) + UserCode;
aux.Text = eFString.Text;
FString = StrToHex(aux);
aux.Text = eLString.Text;
LString = StrToHex(aux);
var sd = new[] { (int)LString, (int)ProgramID, (int)FString };
var String = string.Format("{0:X4}-{1:X8}-{2:X4}", sd);
eInitCode.Text = String;

SiteCode = (SiteCode / 0x9A4) * (SiteCode % 0x9A4);
أعضاء أعجبوا بهذه المشاركة : alihmoda1970 , Cyperior


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 3 ) ضيف كريم