PDA

View Full Version : قفل تلفنی ساده



hamednazarzadeh
دوشنبه 07 فروردین 1391, 20:43 عصر
با سلام
من می خوام یه قفل تلفنی با سطح امنیت معمولی یا حتی پایین با زبان c# بنویسم . نحوه کلی کار رو تقریبا میدونم که باید یه شماره سریال یکتا با استفاده از سخت افزار کاربر تولید و با توجه به اون یه کد فعال سازی تولید کنم.
ولی یه مثال کاربردی می خوام
اگه کسی از دوستان براش امکان داره یه مثال ساده و کامل از قفل تلفنی
ترجیحا به زبان c# قرار بده . ممنون

Nima NT
دوشنبه 07 فروردین 1391, 21:01 عصر
بهتر بود سوالتون رو با توجه به تعیین محدوده مورد نظر ( زبان #C ) در تالار برنامه نویسی #C مطرح میکردید. اونجا مسلما" زودتر به نتیجه میرسید ( البته فکر کنم قبل ها در این تالار مواردی مشابه رو دیده بودم شاید با جستجو به مطلب مورد نظرتون برسید )

hamednazarzadeh
دوشنبه 07 فروردین 1391, 21:09 عصر
الان چند ساعته که دارم search میکنم . توی تالار سی شارپ چیز خاصی پیدا نکردم . یکی دو نفر هم که این بحث رو مطرح کرده بودند ، در آخر بهشون پیشنهاد شده بود توی تالار امنیت این بحث رو مطرح کنند.
به هر حال اونجا هم میپرسم . امیدوارم زودتر به نتیجه برسم . ممنون از پیشنهادتون
اگر از دوستان کسی بتونه کمکم کنه ممنون میشم.

mansour01
سه شنبه 08 فروردین 1391, 05:59 صبح
الان چند ساعته که دارم search میکنم . توی تالار سی شارپ چیز خاصی پیدا نکردم . یکی دو نفر هم که این بحث رو مطرح کرده بودند ، در آخر بهشون پیشنهاد شده بود توی تالار امنیت این بحث رو مطرح کنند.
به هر حال اونجا هم میپرسم . امیدوارم زودتر به نتیجه برسم . ممنون از پیشنهادتون
اگر از دوستان کسی بتونه کمکم کنه ممنون میشم.
در اینجا (http://www.codeproject.com/Articles/28678/Generating-Unique-Key-Finger-Print-for-a-Computer) نمونه کامل با ضریب امنیتی که شما می خواهید وجود داره :

حتما به این موارد توجه کنید ، چون دقیقا درست میگه :

Suggestions

I have a few suggestions in this regard:


Generate a key from only the Motherboard, Processor and BIOS since the user normally doesn't change these parts.
Don't use MAC ID, Graphics Card ID AND Disk ID since it's very common to change these devices.
It takes significant time to get IDs of devices. So make the finger print generating function static and save it in a static variable so that it generates the key only once in the whole application.


موفق باشید

hamednazarzadeh
سه شنبه 08 فروردین 1391, 09:46 صبح
ببخشید . اینجا که جایی نیست . میشه آدرس جایی که میگین نمونه کار مد نظر من وجود داره رو بگین؟

mansour01
سه شنبه 08 فروردین 1391, 10:19 صبح
در اینجا (http://www.codeproject.com/Articles/28678/Generating-Unique-Key-Finger-Print-for-a-Computer) نمونه کامل با ضریب امنیتی که شما می خواهید وجود داره :

حتما به این موارد توجه کنید ، چون دقیقا درست میگه :

موفق باشید


ببخشید . اینجا که جایی نیست . میشه آدرس جایی که میگین نمونه کار مد نظر من وجود داره رو بگین؟
درود
پوزش از وجود ":" در آخر خط که باعث سردرگمی شما شد ، لینک در خود کلمه "اینجا" قرار داده شده . به هر صورت من آدرس رو می نویسم :

http://www.codeproject.com/Articles/28678/Generating-Unique-Key-Finger-Print-for-a-Computer
در صورتی که کفایت نکرد ، بگید بطور ساده برای شما خودم یک مثال آماده کنم ، البته ممکن هست کمی طول بکشد .
موفق باشید

hamednazarzadeh
یک شنبه 13 فروردین 1391, 15:31 عصر
ممنون از لینکتون
مثال رو دیدم . ولی نمیدونم چطور باید ازش استفاده کنم . میشه با استفاده از همین مثال ، یه برنامه که با استفاده از قفل تلفنی شماره سریال فعالسازی بخواد و برنامه keygen مربوطش رو بنویسید .
مورد بعدی اینکه وقتی که برنامه با استفاده از کد فعالسازی فعال شد ، چکار کنیم تا دفعه بعد دیگه کد فعالسازی نخواد و خودش اتوماتیک اجرا بشه؟
اگه میشه این مورد رو هم توی مثالتون لحاظ کنید . با تشکر.

mansour01
دوشنبه 14 فروردین 1391, 05:29 صبح
اگر زودتر از 13 فرودین می فرمودین حتما وقت بیشتری برای اینکارها بود ، ولی چشم اگر وقت شد یک نمونه میذارم ، احتمالا با جستجویی در بخش برنامه نویسی خواهید توانست نمونه های مشابه را پیدا کنید .
این کلاس هم یک ID یونیکد تولید می کند همونطور که شما خواستید .
در Vb.net ابتدا کلاس را به dll کامپایل کنید و سپس به رفرس اضافه کنید .
در c# هم که باید کلاس را فراخوانی کنید .
بعد از بدست امدن id یونیک حالا باید با توجه به اون سریال تولید شده ، کد فعال سازی را بنویسید . مثلا سریال را بگیر و فلان الگوریتم را روی آن پیدا کن { الگوریتمی که نوشتید } ، و نتیجه می شود کد فعالسازی ما :
{حالت کلی توضیح میدم ، در مورد امنیت باید این بخش رو کاملا مطالعه کنید که دوستان مطالب پرباری قرار دادند }
مثلا سریال یونیک کامپیوتر مشتری شماره 1 هست 99889988 {به عنوان نمونه }
جایگزین کن جای هر 8 یک 7 که می شود : 99779977
حالا اگر کاربر کد فعالسازی 99779977 را وارد کرد برنامه فعال میشه . بعد کد فعال سازی رو بصورت key.dat ذخیره می کنید و هربار اجرا ابتدا بررسی می کنید که کد داخل فایل مطابق الگوریتم شما هست یا خیر ، اگر هست برنامه فول هست .
**** توجه !!! اینها مثال نمونه هست و تمام قوانین امنیتی در مورد امنیت نرم افزار رو نقص میکنه ، ساده ترین حالتی بود که بشه در این مورد توضیح داد . در صورتی که وقت شد نمونه ساده ای میگذارم .

موفق باشید

*** از مدیران تقاضا میشود این تاپیک به بخش برنامه نویسی دات نت c# انتقال پیدا کند .

hamednazarzadeh
دوشنبه 14 فروردین 1391, 22:20 عصر
لطفا یه نفر کمک کنه...

hamednazarzadeh
چهارشنبه 16 فروردین 1391, 10:15 صبح
آقای mansour01 (http://barnamenevis.org/member.php?45744-mansour01) عزیز
ممنون از راهنمایی های خوبتون .
فقط یه مشکل کوچیک هست . این کدی که لینکش رو دادین فقط روی ویندوز 7 کار میکنه . کدی دارین که روی ویندوز اکس پس هم کار کنه؟
اگه براتون مقدور هست لطفا یه نمونه مثال قرار بدین . با تشکر

mansour01
چهارشنبه 16 فروردین 1391, 20:26 عصر
آقای mansour01 (http://barnamenevis.org/member.php?45744-mansour01) عزیز
ممنون از راهنمایی های خوبتون .
فقط یه مشکل کوچیک هست . این کدی که لینکش رو دادین فقط روی ویندوز 7 کار میکنه . کدی دارین که روی ویندوز اکس پس هم کار کنه؟
اگه براتون مقدور هست لطفا یه نمونه مثال قرار بدین . با تشکر
درود
پست هایی از قبیل "یک نفر کمک کنه" و ... شامل نقض قوانین سایت میشن ، از جهت یادآوری عرض کردم.
کلاس مربوطه ربطی به ویندوز xp و ویستا و سون و ... نداره ، شما دارید در دات نت فریم ورک کار می کنید { در ویندوز اکس پی دات نت فریم ورک را نصب کنید } و ضمن اینکه این یک مثال هست و شما میتونید مطابق با اون کلاس رو گسترش بدید یا کلاس خودتون رو بنویسید .
نمونه ای ساده قرار میدهم ، اگر وقت شد خودم اگر نشد از میان نمونه ها ، صبور باشید .
موفق باشید

hamednazarzadeh
پنج شنبه 17 فروردین 1391, 17:47 عصر
روی ویندوز xp که من تست کردم دات نت فریم ورک 3.5 نصب هست . اجرا نمیشه و خطا میده . ولی روی ویندوز 7 که تست می کنم مشکلی نداره . نمی دونم . شایدم حق با شماست . ولی من که تست کردم جواب نداد.تگه مشکلش رو متوجه شدم همین جا مطرح میکنم.
ممنون از پاسختون

hamednazarzadeh
جمعه 18 فروردین 1391, 18:45 عصر
از دوستان کسی کد fingerprint جناب mansour01 رو توی ویندوز xp تست کرده؟
اگه کسی تست کرده بگه آیا توی ویندوز ایکس پی کد سخت افزاری اجزای مختلف رو میده یا error میده . ممنون