ajlajlajl نوشته است:پس اگه قراره بفروشی زودتر بجنب.
آخه یه نفر دیگه هم قراره تا یکی دو ماه آینده برنامشو بنویسه و توی کل ایرون پخش کنه.
سلام كي داره مي نويسه شايد بنونه يك جاهايي كمكم كنه در ضمن شما پيشنهادي براي رمزگزاري برنامه نداريد
اگه من بودم که فقط از دیتابیس استفاده میکردم و یه خرده کد کردن.
در ضمن . دارم میگم میخواد بفروشه. میگی بیاد کمکت کنه ؟؟؟!!!!!!
Di Di نوشته است:من تقریبا به این نتیجه رسیدم که با VB یا Delphy نمی شه سطح امنیت قابل قبولی ایجاد کرد. استفاده از شیوه های مختلف برنامه نویسی ، ساخت تردها ، ذخیره اطلاعات در پشته برنامه یا ریسورس یا فایلهای جانبی ، استفاده از متغیر به جای ثبات ها، اینکرپت کردن پسورد ، استفاده از CRC یا دیگر الگریتم های چک سام ، .... هیچ کدام قادر به تامین امنیت قابل قبول در برنامه نیستند.
ما با استفاده از این سکوها تنها قادر به تامین امنیت نسبی برای برنامه هستیم و در مواردی که امنیت بیشتری می خواهیم باید از زبان های سطح پائین تری مثل C استفاده کنیم.به نظر من بهتره به جای صرف وقت و هزینه فراوان برای رسیدن به بالاترین سطح امنیت، با در نظر گرفتن اطلاعات کاربر یا کاربران برنامه به تهیه طرح حفاظتی درخور سطح آنان بپردازیم.
در اینجا استفاده از روش "ذخیره پسورد کد شده در بانک اطلاعاتی" می تونه بهترین گزینه باشه. در این روش ، برنامه در ابتدا به بانک اطلاعاتی متصل می شود و سپس فیلدی از بانک اطلاعاتی که پسورد کد شده در آن قرار دارد را در یک متغیر ذخیره می کند.
در مرحله بعدی از کاربر رمز ورود را گرفته و کد می کند و آن را با پسورد کد شده ای که در متغیر ذخیره کرده بود مقایسه کرده و چنانچه پسوردها مطابقت داشت، اجازه ورود کاربر را خواهد داد.( چنانچه از هیچ بانک اطلاعاتی در برنامه استفاده نکرده اید می توانید پسورد را داخل یک فایل ذخیره نمایئد )
سلام didi جان خب این بانک هم که برای مطابقت کدهای توش خونده میشن و میان رو حافضه و دیگه...................
تازه اگه بانکت اونقدر امنیت داشته باشه تا از inject کردن محافظت بشه
تمامی راهها قابل دور زدن هستند ولی مهم اینه که با انجام این کارها کاری کنیم که کار کرک برای کرکر سخت و طولانی بشه
آقا من كه اولش گفتم بايد يه امنيت نسبي رو فراهم كرد.
اينجا محافظت تنها به وسيله يك پسورد ساده كه داخل بانك به صورت كد شده ذخيره مي شه مي تونه كافي باشه چون كاربراني كه از برنامه استفاده مي كنن احتمالا اونقدرها وارد نباشن و هرگز وسوسه نخواهند شد كه به سورس برنامه سرك بكشن و سر از كارش دربيارن.
خوب چند تا راه واسه زخیره کردن پسورد تو خود فایل اجرای هست اگه برنامت قراره برای هر یزر
یک پسورد داشته باشه میشه تو وقتی میخوای برنامه رو به یزر خواست بدی پسورد مخصوص اون یزر رو
با یه الگوریت که نوشتی درست کنی با هر کلیدی که خودت میدونی .بعد از دزست کردن پسورد کد شده رو توی یک جای خالی از فایل اجراییت زخیره کنی مثلا در بایت ۴۰۰۰ بعد بیای تو برنامت بگی زمانی که کاربرت پسورد رو وارد کرد و دکمه را زد برنامت خودش رو پیدا کنه که میشه با تابع ای پل آی (GetModuleFileName) و (GetCurrentDirectory)به دست آورد و بعد خودش رو به صورت باینری باز کنه بعد بیاد از بایت ۴۰۰۰ به بعد شروع به خوندن کنه تا اون تعداد بایتی که طول پسورد شماست و در یک متغیر زخیره کنه ومورد مقایسه قرار بده .....چند تا نکته هست که بگم خوبه اول اینکه برنامه تموم شدت رو فایل اجراییش رو یک بار بعد ازاتمام برنامه با یه هگز ادیتور باز کن و یه جای خالیش رو در نظر بگیر جاهای خالی همون جاهایی هستند که در هگز ادیتور با 00 نشون داده میشن ....نکته بعدی اینکه بعد از انتخاب جای خالی برای خودت یه ادیتور بنویس که هر بار فقط پسورد را در اون وارد کنی و اون پسورد یزر بعدی رو تو برنامت وارد کنه .....نکته بعدی اینکه طول بایت هایی رو که به فضای خالی ازافه میکنی به همون مقدار باید از فضای خالی کم کنی....نکته آخر اینکه هر فضای خالی رو قادر به ویرایش نیستی مگر اینکه خیلی حرفیی باشید وا ساختمان آون فایل رو کاملن بشناس مخصوصا ۱۰۲۴ بایت اول رو به هیچ اونوان دست کاری نکن مگر اینکه بدونی داری چی کار میکنی .............موفق باشی...در ضمن این روش قدیمی و شاید خیلی قدیمی تروجان نویس ها برای ادیت فایل های سرورشون بود
خب اگه تعداد کاربرها از 5 تا بیشتره بهتره از یه databaseکه کار باهاش راحت و بین کاربرها زیاد رایج نباشه و هش md5 استفاده کنی یعنی اطلاعات تو بانک هش بشه و وقتی کاربر مقادیر رو وارد کرد این مقادیر هم هش بشه و با هم مقایسه بشه البته میتونین به جای بانک از فایل هم استفاده کنین ولی موارد امنیتیشو فراموش نکنین
دوست عزیز آقای mojtabamalaekehمن کهذ کاملا در نوشته خودم توضیح دادم راههای این کار رو شما کم تلاش کنی امکان پذیر خواهد شد شما شرو ع به نوشتن بکن اگر به مشگل خوردی حتما اگر کمکی از دسته من یادیگر دوستان بر بیاد انجام خواهیم داد