تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
خوارزمية متعبة
#1
السلام عليكم ورحمة الله وبركاته


كنت احاول ان اقوم بعمل كراك لبرنامج ولكن اتعبني جداً  ، البرنامج غير محمي ابداً ومبرمج بالفيجول بيسك 

تحليل البرنامج :

1. عند فتح البرنامج يتأكد من وجود usb فيها ملف التفعيل ، فأذا كان غير موجود لا يتخطى التفعيل
2. بأمكاني الدخول على Demo ولكن بشرط تفعيله بعدة خيارات ( اذا كان لدي مفتاح تفعيل ، طلب مفتاح تفعيل مؤقت ، من usb )


حاولت كسر هاتي الجزئيتين ولكن اتعبني جداً ، حاولت ايجاد المكان الذي يقوم بالمقارنة فيه لم استطع ذلك 




موقع البرنامج : يحتاج لتسجيل لتحميل البرنامج 32 او 64
إقتباس :https://www.sensoft.ca/products/ekko-project/overview/


الروتينات التي وجدتها :


1. الاول يقوم بالتاكد من ان البرنامج مفعل ام لا 
69E62110 | 55                       | PUSH EBP                                      |

2. الروتين الثاني لو دخلت على Demo ووضعت اي سيريال لحتى اعرف وين المقارنة 

69F9C3B0 | 55                       | PUSH EBP                                      |



3. وهذا الروتين الثالث اذا كان السيريال صحيح ام لا 

69E69FD0 | 55                       | PUSH EBP                                      |



https://imgur.com/V1ZIwL0


[صورة مرفقة: V1ZIwL0]
#2
لو رفعت ملف التنصيب على سيرقر خارجي و أرفقته في موضوعك لكان أفضل حتى يتسنى لنا المحاولة
#3
من الموقع نفسه ، يوجد نسختين 32 و 64
إقتباس :نسخه 32

https://www.mediafire.com/file/n9nbb4s0c...t.zip/file


نسخه 64 :
https://www.mediafire.com/file/cez6gf99b...t.zip/file
#4
أستسمحك للكتابة باللأنجليزي

this software uses a cryptolicense service, it uses (Crypkey license service) if you dig inside the installation folder you can find a dd named :  SoftwareRegistration2.dll
all the licensing logic is inside this dll
[صورة مرفقة: CulNSeQ.png]

see those functions inside the dll:

[صورة مرفقة: 36ce5Uo.png]
that was my simple examination of the target, I'll dig deep into the scheme and let you know...
#5
اخي ارجو فحص البرنامج البرنامج ليس فيجوال بيسك البرنامج مبرمج بالــ c++

داخل ملف SoftwareRegistration2.dll

هذه القفزة تحدد هل البرنامج كامل او غير مسجل يجب ان يكون قيمة EAX == 6

وهذا هو العنوان 
RVA = 21E4
[صورة مرفقة: 7FKsxlx.png]
#6
كلامك صحيح ليس فيجول بيسك، ، سقطت مني سهواً وليس قصداً

هل اقوم بتعديل المقارنه بكتابة
mov eax,6 ام انها غير صحيحه من ناحية التعديل
#7
(27-06-2020, 06:21 PM)Untold كتب : هل اقوم بتعديل المقارنه بكتابة
mov eax,6 ام انها غير صحيحه من ناحية التعديل

أفضل شيء هو إيجاد مكان كتابة القيمة والتعديل فيه.
من طلب العلا ... سهر الليالي
#8
عدلت هذا العنوان

680721DE | B8 06000000              | MOV EAX,0x6                                   |

واشتغل البرنامج ولكن مع رسالة خطأ ولكن اعتقد كل خصائصه غير شغاله 
العنوان كان قبل التعديل 

681921DE | 8D46 03                  | LEA EAX,DWORD PTR DS:[ESI+0x3]                |

هل هذا الباتش صحيح ام خاطئ ويجب ان ابحث افضل من ذلك
#9
من الأخطاء التي ممكن أن نرتكبها هي التطبيق دون فهم آلية العمل
ركز على ما يحمله المسجل eax و مقارنته مع العدد 6 و القفزة المشروطة  ja أي اقفز إذا كان الهدف فوق المصدر أي eax أعلى من 6 ثم بعدها قفزة غير مشروطة jmp إلى محتوى عنوان الذاكرة [65652874+eax*4] إذن المتغير الوحيد هنا هو المسجل eax و الذي يحدد الذهاب إلى العنوان المناسب أو هكذا أرى من خلال الصورة ربما أكون مخطئ لأني لم أجرب بشكل تطبيقي
#10
(27-06-2020, 11:53 PM)fantazma كتب : محتوى عنوان الذاكرة [65652874+eax*4] إذن المتغير الوحيد هنا هو المسجل eax و الذي يحدد الذهاب إلى العنوان المناسب

تحليلك صائب و لكن البرنامج يتطلب عمل باتش في عدة عناوين
العنوان المذكور أعلاه لا يحدد سوى نوع activation status و لا يحدد اذا كان البرنامج مسجل أو لا


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


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