ورود

View Full Version : سوال: چگونگی قرار دادن قفل در برنامه



ناهيد نصيري
چهارشنبه 26 خرداد 1389, 07:41 صبح
من یک نمونه قفل نرم افزاری بر اساس شماره سریال هارد ایجاد کردم برای اینکه آن را در برنامه قرار دهیم باید آن را به صورت dll در آوریم ویا اینکه خود کد قفل را می توان درون کد برنامه قرار داد ؟؟؟؟؟؟؟؟

Raham
چهارشنبه 26 خرداد 1389, 09:01 صبح
من یک نمونه قفل نرم افزاری بر اساس شماره سریال هارد ایجاد کردم برای اینکه آن را در برنامه قرار دهیم باید آن را به صورت dll در آوریم ویا اینکه خود کد قفل را می توان درون کد برنامه قرار داد ؟؟؟؟؟؟؟؟


به تعداد انسان ها راه است برای رسیدن به هدف:
1.تزریق کد
2.ساخت پروتکتور + لایسنس منیجر
3.Share کردن سورس و قرار دادن در سورس برنامه!
4.استفاده از DLL بصورت معمولی
و ..........

که مورد 1 و 2 پیشنهاد میشن که شماره 2 خیلی سخته واسه شما همون 1 پیشنهاد میشه

ناهيد نصيري
چهارشنبه 26 خرداد 1389, 13:28 عصر
منظور از dll معمولي چيست ؟؟
يعني فايل exe نوشته شده را به dll تبديل كرد ؟؟
يك سوال ديگر اينكه بايد كليد رمز ورود را در براي اينكه كاربر هر دفعه كه برنامه را باز مي كند كد را نخواهد در داخل رجيستري قرار دهيم و در داخل برنامه از كدهاي خواندن در رجيستري استفاده كنيم ؟؟؟

ناهيد نصيري
چهارشنبه 26 خرداد 1389, 19:17 عصر
منظور از این dll به صورت معمولی چیست ؟؟

Raham
چهارشنبه 26 خرداد 1389, 20:13 عصر
معمولي يعني عادي!
يعني فايل dll بسازي بعد توي target رفرنس بدي به فايل. نياز به بحث نداره كاملا بديهي هستش.
در مقابل اين تكنيك همون تزريق كد هستش.
من به شدت توصيه ميكنم بيخيال شين. علت؟ اول C#؟ دات نت واسه قفل؟ دوم بحث امنيت شوخي بردار نيست نياز به تحقيق زياد داره. عجله نكنين

من متوجه نميشم واسه جي ملت مي خوان با c# قفل بنويسن تورو خدا يكم .فقط يكم بريد مطالعه كنين!
ملتمسانه خواهش مي كنم بيخيال دات نت شين.

ناهيد نصيري
یک شنبه 30 خرداد 1389, 08:48 صبح
برای اینکه نوع هارد را بفهمیم از داخل system info
در کدام قسمت قرار دارد ؟؟؟

ASKaffash
دوشنبه 31 خرداد 1389, 07:50 صبح
من متوجه نميشم واسه جي ملت مي خوان با C#‎ قفل بنويسن تورو خدا يكم .فقط يكم بريد مطالعه كنين!
ملتمسانه خواهش مي كنم بيخيال دات نت شين.
سلام
یک سئوال اگر کسی یک برنامه کاربردی با #C نوشته است قفل آن را باچی بنویسد ؟

Raham
دوشنبه 31 خرداد 1389, 08:42 صبح
سلام
یک سئوال اگر کسی یک برنامه کاربردی با C#‎ نوشته است قفل آن را باچی بنویسد ؟

یعنی شما به عنوان یه برنامه نویس چارچوب دات نت اسم
Cross Platform & Cross Lanuguage

به گوشت نخورده؟

در ضمن اگه شما قرار برنامه تجاری (غیر رایگان) بنویسی استفاده از دات نت اشتباه است.

ASKaffash
دوشنبه 31 خرداد 1389, 14:29 عصر
سلام
یعنی مایکروسافت دات نت را برای تولید نرم افزارهای تجاری غیر رایگان تولید نکرده ؟ پس همیشه باید با زبانهای قدیمی برنامه نویسی تجاری کرد ؟ مثلا دلفی 7 یا Vb6 و ... چون java هم ظاهرا در این وسط بی نصیب نیست.
شما بخاطر ریسورس شدن کد در دات نت این ایده را دارید ؟ یا علت دیگری متصور است ؟

Raham
دوشنبه 31 خرداد 1389, 16:41 عصر
اگه به امنیت اهمیت میدین بله باید بی خیال دات نت شید.
من شخصا علاقه شدیدی به دات نت دارم:قلب: اما متاسفانه به خاطر DeCompile شدن راحت زبان MSIL چاره ای نیست.
کی گفت شما بروز نباشین؟
مثلا Delphi 2010 یا Visual C++.Net 2010 - ANSI Coding چه اشکالی داره؟ کاملا بروز هستند.
علاوه بر این دات نت به علت JIT سرعت افتضاحی داره هرچند قابلیت حملش خیلی زیاده.

به نظرم دات نت برای Open Source و Web Based Developing بیشتر مناسبه هرچند تو زمینه Web Based از نظر سرعت PHP سرتره.

دیگه خود دانی

Asad.Safari
دوشنبه 31 خرداد 1389, 16:45 عصر
در ضمن اگه شما قرار برنامه تجاری (غیر رایگان) بنویسی استفاده از دات نت اشتباه است.

پس به نظر شما با Java نوستن هم اشتباهه ؟ بدلیل اینکه نیاز به JDK داره و به قول شما Cross Platform نخواهد بود ؟

موفق باشید

Raham
دوشنبه 31 خرداد 1389, 18:40 عصر
من موندم واقعا شما چطوری از حرف من به این نتیجه رسیدین؟:متفکر:
اینکه گفتم از Cross Platform استفاده کنید جواب سوال اون دوستی بود که می گفت حالا اومدیم برنامه رو با سی شارپ نوشتیم . تکلیف قفلش چیه؟

اینطور که پیداس شما چیزی از Cross Platform نمی دونین.
نیاز به JDK چیه ربطی به این قضیه داره اخه؟

Asad.Safari
دوشنبه 31 خرداد 1389, 18:51 عصر
یعنی شما به عنوان یه برنامه نویس چارچوب دات نت اسم
Cross Platform & Cross Lanuguage

به گوشت نخورده؟

در ضمن اگه شما قرار برنامه تجاری (غیر رایگان) بنویسی استفاده از دات نت اشتباه است.


من موندم واقعا شما چطوری از حرف من به این نتیجه رسیدین؟:متفکر:
اینکه گفتم از Cross Platform استفاده کنید جواب سوال اون دوستی بود که می گفت حالا اومدیم برنامه رو با سی شارپ نوشتیم . تکلیف قفلش چیه؟

اینطور که پیداس شما چیزی از Cross Platform نمی دونین.
نیاز به JDK چیه ربطی به این قضیه داره اخه؟

ممنون از اینکه Cross Platform رو معنی فرمودید, پیشنهاد می کنم به لینک های زیر برای افزایش آگاهی تون مراجعه فرمایید :

http://en.wikipedia.org/wiki/Cross-platform
http://www.webopedia.com/TERM/C/cross_platform.html

موفق باشید

Raham
دوشنبه 31 خرداد 1389, 19:16 عصر
[quote=SIR_asad;1020371]ممنون از اینکه Cross Platform رو معنی فرمودید, پیشنهاد می کنم به لینک های زیر برای افزایش آگاهی تون مراجعه فرمایید :

http://en.wikipedia.org/wiki/Cross-platform
http://www.webopedia.com/TERM/C/cross_platform.html

موفق باشید


In computing, cross-platform, or multi-platform, is an attribute conferred to computer software (http://en.wikipedia.org/wiki/Computer_software) or computing methods and concepts that are implemented and inter-operate on multiple computer platforms (http://en.wikipedia.org/wiki/Computer_platform)[1] (http://en.wikipedia.org/wiki/Cross-platform#cite_note-Sun-Web-00-0)[2] (http://en.wikipedia.org/wiki/Cross-platform#cite_note-Magenta-Glossary-1). Cross-platform software may be divided into two types; one requires individual building or compilation for each platform that it supports, and the other one can be directly run on any platform without special preparation, e.g., software written in an interpreted language (http://en.wikipedia.org/wiki/Interpreted_language) or pre-compiled portable bytecode (http://en.wikipedia.org/wiki/Bytecode) for which the interpreters or run-time packages are common or standard components of all platforms.


A platform is a combination of hardware and software used to run software applications. A platform can be described simply as an operating system or computer architecture, or it could be the combination of both. Probably the most familiar platform is Microsoft Windows (http://en.wikipedia.org/wiki/Microsoft_Windows) running on the x86 architecture (http://en.wikipedia.org/wiki/X86_architecture).

علاوه بر اون چیزی که فکر میکنین
استفاده از چند سکو برنامه نویسی در یه برنامه به عنوان چند سکویی شناخته میشه
منظور بنده هم این بود که شما اگه برنامتون رو با سی شارپ نوشتین لطف کنید حداقل بخش قفلشو با VC++.Net بنویسید مثلا.
این طور هم نوعی چند سکویی محسوب میشه

ASKaffash
سه شنبه 01 تیر 1389, 10:12 صبح
سلام
اینقدر هم آماتور نیستم از Vc++.net بخش قفل را Native تولید می کنم ولی باز هم اگر کسی برنامه #C را ریسورس کنه می تونه کد ارتباطی با DLL تولید شده با VC++.net را ببیند

Raham
سه شنبه 01 تیر 1389, 13:45 عصر
ساده ترین روش استفاده از DLL است ولی این روش هم به شدت تابلو و راحت دور زده میشه
یه روش خیلی بهتر وجود داره که جایی گفته نمیشه - باید خودتون پیداش کنید
البته از کدتون مواظبت نمیکنه - فقط قفله همین

یا علی