أي الطرق أفضل لتخزين معلومات الحماية
#11
بالنسبة للتوضيح, فسأحاول. أما المثال فأرجو أن تلتمس لي 70 عذرا.

تعلم أن المعلومات الرقمية أيا كان نوعها (نص, صورة, ملف...) يمكن اختزالها إلى جملة بسيطة مكونة من 32 حرفا/رقما, بحيث تكون هته الجملة (أو ما يسمى في العلم التشفير بالهاش)  ثابثة في الطول مهما كان طول النص أو الملف الأصلي و بالمقابل فهي تختلف جذريا باختلاف مهما كان طفيفا في النص أو الملف الأصلي. مع العلم أن الرجوع من الهاش إلى النص/الملف الأصلي مستحيل (لنقل مبدئا "مستحيل" فبحسب المقال على ويكيبيديا فإنه تم التوصل إلى اختراق بعض أول كل دوال الهاش).
حسنا, لنعد إلى حديثنا : إذا أنت قمت بحفظ الهاش الخاص بالسرال الذي تولده لبرنامجك و الخاص بجهاز معين, تحفظه ضمن قاعدة بيانات العميل صاحب الجهاز, فسأدعك تخمن الباقي.
هذا و لنقل أنك لم تشفر قاعدة البيانات أو حتى لم تحمها بكلمة المرور.
طبعا فيجب أن تقوم بحساب الهاش عند كل تشغيل للبرنامج و تقارنه بالمحفوظ في قاعدة البيانات.

هذا ما خطر ببالي في هذه العجالة و الله هو الموفق للبِر و الخير.

و لإثراء الموضوع أضيف أني أذكر -إذا لم تخني ذاكرتي الضعيفة- أن فريق عمل محرك قواعد البيانات MySQL يقومون بحفظ هاش كلمات المرور في ملف نص واضح للعلن و مخزن ضمن مجلد البرنامج.
هذه نقطة.
النقطة الأخرى, أن دوال التشفير منتشرة بالمنتدى. فبحث بسيط يدلك عليها.
النقطة الأخيرة, أن تشفير قاعدة البيانات بإحدى دوال التشفير أو أكثر يزيد من سرية و أمان السريال. و لكن تبقى نقطة الإرتكاز أضعف بكثير (أقصد بنقطة الإرتكاز : استعمال أداة الشرط if عند المقارنة).

وفقنا الله و إياكم لما فيه سداد الرأي و تمام العقل.
من قال حاد عن أصله أو قال مات فقد كذب
[-] كل من 2 users say قال شكرا ل h-farid على المشاركة المفيدة
  • أبو معاذ, wadoud
الرد
#12
إقتباس :في بعض الأحيان  نفس الزبون يطلب منك أن تثبي له البرنامج في جهازين مختلفين (من غير شبكة) ،
حيث يستطيع أن يقوم بنقل البيانات من جهازه الأول  إلى جهازه الثاني بغرض مراقبة البيانات و الاطلاع عليها في حاية سفره.


اعمل قاعدتين الاولى خاصة بتفعيل البرنامح وحفظ اعداداته ..
والثانية للاحدات التي تطرأ على البرنامج ... events
وفي حالتك يمكن نقل قاعدة الثانية فقط او مشاركتها الخ ...
يبفى كل شيئ  وارد ..
احيانا طلبات الزبون تكون محرجة وتتنافي مع الاسسس والقواعد المعمول بها 
الا ان هذه الطلبات تستهويني كي اجد لها حلول ...
الفاشلون نوعان : الأول : فكر ولم يفعل .. والآخر: فعل ولم يفكر
[-] كل من 1 user says قال شكرا ل Mr.DOS على المشاركة المفيدة
  • أبو معاذ
الرد
#13
(04-11-2016, 12:13 AM)Mr.DOS كتب : اعمل قاعدتين الاولى خاصة بتفعيل البرنامح وحفظ اعداداته ..
والثانية للاحدات التي تطرأ على البرنامج ... events
وفي حالتك يمكن نقل قاعدة الثانية فقط او مشاركتها الخ ...
يبفى كل شيئ  وارد ..
احيانا طلبات الزبون تكون محرجة وتتنافي مع الاسسس والقواعد المعمول بها 
الا ان هذه الطلبات تستهويني كي اجد لها حلول ...

فعلا هذا ما كنت أفكر فيه (أي قاعدتين للبرنامجي).

بالمناسبة ، ما العيب في حفظ المعلومات (أقصد معلومات الحماية)  في ملف ثنائي Binary File  أقوم بحفظه في مجلد System32  ؟
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#14
سلام عليكم

إقتباس :بالمناسبة ، ما العيب في حفظ المعلومات (أقصد معلومات الحماية)  في ملف ثنائي Binary File  أقوم بحفظه في مجلد System32  ؟
عن نفسي لم اجرب binary file 
لكن يبدو من السهل التعرف عليه وقراءته بعد مشاهدة بعض الامثلة التي تتكلم عن  binary file to string
بعض الامثلة  تستطيع من خلاله القراءة ... الخ  يكفي معرفة اسم الملف ومكان تواجده على القرص


كود :
procedure TForm1.Button1Click(Sender : TObject); var StStream: TStringStream; FStream: TFileStream; s: string; begin FStream := TFileStream.Create('d:\test.exe', fmOpenRead); StStream := TStringStream.Create(''); try StStream.CopyFrom(FStream, FStream.Size); s := StStream.DataString; if Pos('this', s) > 0 then ShowMessage('Found'); finally StStream.Free; FStream.Free; end; end;


مثال 2

كود :
function File2String(FileName: string): string; var MyStream: TFileStream; MyString: string; begin MyStream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyNone); try MyStream.Position := 0; SetLength(MyString, MyStream.Size); MyStream.ReadBuffer(Pointer(MyString)^, MyStream.Size); finally MyStream.Free; end; Result := MyString; end;
مثال 3

كود :
var f : file; s : string; begin AssignFile(f, 'D:\cpuspeed.txt'); FileMode := fmOpenRead; reset(f, 1); SetLength(s, FileSize(f)); BlockRead(f, s[1], length(s)); CloseFile(f); ShowMessage(s); end;
الفاشلون نوعان : الأول : فكر ولم يفعل .. والآخر: فعل ولم يفكر
[-] كل من 2 users say قال شكرا ل Mr.DOS على المشاركة المفيدة
  • أبو معاذ, mobile
الرد
#15
السلام عليكم ورحمة الله
مادام الزبون يريد ان يتنقل بالبرنامج من جهاز لاخر لما لا يكون بسريال الرام ديسك اي فلاش ديسك ؟ هل يصلح ؟
غير ان احسن فكرة للتنقل هي الدونقل لانه واحد يستطيع ان يصله باي جهاز
لست ادري كيف كيف تكون الحماية بالدونقل رغم ان لدي اكثر من 10 برامج للهواتف تعمل بالدونقل
شركة GPG هي من يقوم عموما بصناعة هته الدونقلات وهي قوية في هذا المجال
لأستهلنّ الصعب أو أدرك المنى    فما انقادت الآمال إلاّ لصابر
[-] كل من 1 user says قال شكرا ل mobile على المشاركة المفيدة
  • أبو معاذ
الرد
#16
إقتباس :لما لا يكون بسريال الرام ديسك اي فلاش ديسك ؟ هل يصلح ؟
اي بصمة عتاد Hardware Fingerprint تنفع، كلما اختلفت عن غيرك كان احسن
هناك حتى برامج تساعدك على استخدام الFlash Disk كDongle لكنها ليست احسن منه!
AntiDuplicate من atdisk.com لا انصح به لكن ذكرته كمثال للتوضيح فقط.
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
[-] كل من 2 users say قال شكرا ل محمد عبد العزيز على المشاركة المفيدة
  • أبو معاذ, mobile
الرد
#17
السلام عليكم ورحمة الله وبركاته ،
سؤالين فقط :
1- هل الدونقل يباع عندنا في الجزائر ؟ و إذا كان من الممكن إعطاء ثمنه؟
2- إذن الحماية لا تخرج عن الشرط If ... Then  ...Else   ؟
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#18
نعم يباع ولا ادري ما ثمنه الان، منذ حوالي 8 سنوات كان ثمنه ما يزيد قليلا عن ثلاث الاف دينار لكن الان المنتجات الصينة متوفرة باثمان اقل بكثير

ان كنت تتحقق من وجود الDongle فقط فهنا نعم هي مجرد if then
الDongle يسمح للك بكتابة قيم به، ولتكن شيئ حساس لبرنامجك
وهناك لن يعمل جزء من برنامجك بالشكل الصحيح دون تلك القيمة

من الجهة الاخرى هناك برامج packet sniffer لتحليل ما يتم من محادثة بين البرنامج والDongle
وهناك ايضا برامج dongle emulator تحاكي وجود الDongle...

يعني باختصار ركز أكثر على تطوير برنامجك واضافة خصائص جديدة...
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
[-] كل من 2 users say قال شكرا ل محمد عبد العزيز على المشاركة المفيدة
  • أبو معاذ, bassem_43
الرد
#19
(16-11-2016, 10:16 AM)B.M.AbdelAziZ كتب :
يعني باختصار ركز أكثر على تطوير برنامجك واضافة خصائص جديدة...

نعم و نِعمَ النصيحة.
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#20
وعليكم السلام ورحمة الله وبركاته

التي تباع هنا تباع مع برامجها ، اي ان اصحابها برمجوا برامج وسوقتها شركة GPG بدنقلات من صنعها  ، الدنقل قوي في الحماية لكن للاسف لم تسلم برامجه من القرصة فيصبح البرنامج يعمل من دون دنقل [صورة: sad.png]
يمكنك الاتصال بهم ان كان لك كمية معتبرة او توصية من يتسوقون للصين لياتيك بكمية قليلة تجرب عليها ، لدي اخ يتسوق احيانا للصين وبعض الاصدقاء يتسوقون وهذا عملهم مع شركة GPG يمكنني تزويدك بارقاهم او ان اتصل لك بهم فيزودوك بالتفاصيل
كود :
http://www.gpgindustries.com/

هم يبعدون عنك 20 كلم فقط Smile

نسيت ان اقول لك ان اصحاب هته البرامج اكبر حماية لهم هي التحديثات الكثيرة ولا يعطوها مرة واحدة
اي اذا وجد حلا ل 20 هاتفا جديد فيحدثو برنامجهم 5 هواتف عل شهرين مثلا اي حاول ان تضيف في كل مرة ميزة هامة جدا وليس في مرة واحدة
وما زلت انتظر منك موضوع الحماية في ملف ثنائي Smile
لأستهلنّ الصعب أو أدرك المنى    فما انقادت الآمال إلاّ لصابر
[-] كل من 1 user says قال شكرا ل mobile على المشاركة المفيدة
  • أبو معاذ
الرد


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


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