PDA

View Full Version : خبر: قفل نرم افزاری PS-27 نسخه 3.2.1.2



alimanam
پنج شنبه 24 بهمن 1392, 22:05 عصر
با سلام

نسخه به روز شده قفل نرم افزاری خودم رو که قبلاً نسخه های 1 و 2 اون رو در این تالار قرار داده بودم رو بازنویسی کردم . میتونین از اون رو دانلود کنین . یک سورس هم ضمیمه کردم که میتونین ازش استفاده کنین چون استفاده از این رفرنس که مثل نسخه 2 اون به صورت Add Reference به پروژه اضافه بشه بسیار ساده هستش من توضیح خاصی در موردش نمیدم و احتمالا اکثر کسانی که از نسخه های قبلی استفاده کردن نباید با این نسخه هم مشکلی داشته باشن .

تصویر Keygen
http://oi60.tinypic.com/255ombl.jpg


تصویر نرم افزار ثبت نشده
http://oi60.tinypic.com/2llzfgj.jpg

تصویر نرم افزار بعد از ثبت شدن
http://oi59.tinypic.com/6e18xz.jpg


نمونه کد استفاده از این نسخه :


Imports PS_27.Protector
Public Class Form1

''' <summary>
''' PS-27 Licensing
''' Please add dll by add reference to your project
''' ================================================== ===============
''' Programmer : Ali Dakhilzadeh
''' This assembly is free.
''' Copyright(c) 2014 by Ali Dakhilzadeh.All right reserved
''' ================================================== ===============
''' For More Info please contact me by visit my weblog or email
''' www.manamsoftware.mihanblog.com
''' alimanam@gmail.com
''' ================================================== ===============
''' </summary>
''' <remarks></remarks>

Private ps As New PS_27.Protector
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

lblHardwareid.Text = ps.GetHardwareID
If My.Computer.FileSystem.FileExists(Application.Star tupPath & "\License.lic") = False Then
GroupBox1.Enabled = True
PictureBox1.Image = My.Resources.notRegistred
lblregister.Text = "نرم افزار ثبت نشده است"
Else
Dim lic() As Byte = ps.License(Application.StartupPath & "\License.lic")
If ps.LicenseValidator(lic, "1234567890") Then
GroupBox1.Enabled = False
PictureBox1.Image = My.Resources.Registred
lblregister.Text = "نرم افزار ثبت شده است"
Else
GroupBox1.Enabled = True
PictureBox1.Image = My.Resources.notRegistred
lblregister.Text = "نرم افزار ثبت نشده است"
End If

End If
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Application.Exit()
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If ps.CheckLicense(txtLicense.Text, "1234567890") Then
ps.RegisterLicense(txtLicense.Text, Application.StartupPath & "\License.lic")
Application.Restart()
End If
End Sub

End Class



سورس طریقه استفاده به سی شارپ


using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Diagnostics;
using System.Windows.Forms;

using PS_27;
namespace How_to_use_PS_27_CSHARP
{
public partial class Form1
{

/// <summary>
/// PS-27 Licensing
/// Please add dll by add reference to your project
/// ================================================== ===============
/// Programmer : Ali Dakhilzadeh
/// This assembly is free.
/// Copyright(c) 2014 by Ali Dakhilzadeh.All right reserved
/// ================================================== ===============
/// For More Info please contact me by visit my weblog or email
/// www.manamsoftware.mihanblog.com
/// alimanam@gmail.com
/// ================================================== ===============
/// </summary>
/// <remarks></remarks>

internal Form1()
{
InitializeComponent();
}

private PS_27.Protector ps = new PS_27.Protector();
private void Form1_Load(object sender, System.EventArgs e)
{

lblHardwareid.Text = ps.GetHardwareID;
if (System.IO.File.Exists(Application.StartupPath + "\\License.lic") == false)
{
GroupBox1.Enabled = true;
PictureBox1.Image = Properties.Resources.notRegistred;
lblregister.Text = "نرم افزار ثبت نشده است";
}
else
{
byte[] lic = ps.License(Application.StartupPath + "\\License.lic");
if (ps.LicenseValidator(lic, "1234567890"))
{
GroupBox1.Enabled = false;
PictureBox1.Image = Properties.Resources.Registred;
lblregister.Text = "نرم افزار ثبت شده است";
}
else
{
GroupBox1.Enabled = true;
PictureBox1.Image = Properties.Resources.notRegistred;
lblregister.Text = "نرم افزار ثبت نشده است";
}

}
}

private void Button2_Click(object sender, System.EventArgs e)
{
Application.Exit();
}

private void Button1_Click(object sender, System.EventArgs e)
{
if (ps.CheckLicense(txtLicense.Text, "1234567890"))
{
ps.RegisterLicense(txtLicense.Text, Application.StartupPath + "\\License.lic");
Application.Restart();
}
}



دانلود نمونه سورس WPF (http://bayanbox.ir/id/76973565826944627?info)

موفق باشید./

armin8651
پنج شنبه 24 بهمن 1392, 23:39 عصر
ممنون، خیلی خوبه که کد فعال سازی کوتاهتر شده
فقط این فایل لایسنس که ایجاد میشه، به کمک اون چه جوری میشه برنامه رو ثبت کرد؟
فایل لایسنس باید تو مسیر پروژه کپی بشه؟

alimanam
جمعه 25 بهمن 1392, 00:04 صبح
با سلام


فقط این فایل لایسنس که ایجاد میشه، به کمک اون چه جوری میشه برنامه رو ثبت کرد؟

وقتی کدفعال سازی ایجاد میشه یک فایل لایسنس مخصوص اون مشتری ( که شماره مشتری اش رو در قسمت مورد نظر وارد کردین ) ایجاد میشه . شما یا باید این فایل لایسنس رو بدین به مشتری یا کد فعال سازی که به صورت عدد استخراج میشه هر کدوم رو بدین برنامه فعال میشه .


فایل لایسنس باید تو مسیر پروژه کپی بشه؟

دوست عزیز چرا اینقدر مشکلش میکنین ؟!!! از سورس که مشخه دیگه هر کجا که شما ( برنامه نویس ) تصمیم بگیری لایسنس رو چک میکنه من با سورسی که گذاشتم فرض رو بر این گرفتم که کنار فایل اجرایی نرم افزار مثال باشه شما با هر مسیر و هر نامی میتونین این کار رو انجام بدین فقط کافیه سورس رو بر حسب نیازتون تغییر بدین ( مسیر ها رو عوض کنین ) .

موفق باشید./

hamed.alinejad
شنبه 26 بهمن 1392, 10:55 صبح
گزرواژه مخفی چی هست ؟
از کجا پیدا کنیم ؟
تو سورس هست ؟

hamed.alinejad
شنبه 26 بهمن 1392, 10:58 صبح
و یه سوال دیگه این کد مشتری بر اساس چی تولید میشه ؟

و اگه الان که نرم افزار تائید شده و فایل لایسنس ایجاد شده و کنار فایلمون هست روی سیستم دیگه ببریم یعنی اونجا دیگه کار نمیکنه ؟
میگه ثبت نشده است در حالی که فایل لایسنس کنارش هست ؟

hamed.alinejad
شنبه 26 بهمن 1392, 11:04 صبح
و راستی این کد فعالسازی برای این یه سیستم همیشه ثابت هست کاش یه جوری بود دیگه برنامه که لایسنسش حذف میشد دیگه با کد قبلی ثبت نشه

دوما روی زمانی کردن لایسنس هم کار کن که مهمتر از همه زمانی بودن لایسنس هست این که یه بار لایسنس بخواد هر برنامه نویسی میتونه بنویسه

alimanam
شنبه 26 بهمن 1392, 14:07 عصر
با سلام


گزرواژه مخفی چی هست ؟
از کجا پیدا کنیم ؟
تو سورس هست ؟

دوست عزیز , شما 2 تا تابع به نام LicenseValidator و CheckLicense دارین که دومین آرگومان اونها به اسم secKey هستش این همون گذرواژه مخفی هستش که باید توسط شما به رشته وارد بشه . این دقیقاً همون کلید قفل شما میشه و نباید به هیچ عنوان توسط مشتری خونده بشه ( در سورس نرم افزارتون ) . من توضیحات کافی در مورد چگونگی محافظت از رشته رو در تاپیک نسخه 2 ذکر کردم و با توضیحاتی که در پست اول دادم فرض رو بر این گرفتم که شما در وهله اول یک برنامه نویس آشنا با قفل بنده هستید اگر نیستید مطالب تاپیک مذکور رو مطالعه بفرمائید مشکلتون حل میشه .

تاپیک نسخه 2 (http://barnamenevis.org/showthread.php?249864-%D9%82%D9%81%D9%84-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1%DB%8C-PS-27-%D9%88%D8%B1%DA%98%D9%86-2)


و یه سوال دیگه این کد مشتری بر اساس چی تولید میشه ؟

این سوال هم 10000 بار پاسخ داده شده بود ! ( در تاپیک نسخه 2 ) .......... توسط مشخه منحصر بفرد هارد دیسک + CPU در صورت وجود اگر در دسترس نبود فقط هارد دیسک


و اگه الان که نرم افزار تائید شده و فایل لایسنس ایجاد شده و کنار فایلمون هست روی سیستم دیگه ببریم یعنی اونجا دیگه کار نمیکنه ؟

بله دقیقاً . این لایسنسی که شما به مشتری نرم افزارتون میدین فقط مال همون سیستم هستش و نه سیستم دیگه ( چون قفل مشخه مشتری رو خودش استخراج میکنه و با اطلاعات لایسنس مطابقت میده در صورت یکسان بودن مقدار تابع برگشتی True و در صورت یکسان نبودن مقدار بازگشتی False هستش . شما برای هر نرم افزاری که تولید میکنید باید در سورس برنامه گذرواژه مخفی منحصر بفردی رو ذکر کنین .


و راستی این کد فعالسازی برای این یه سیستم همیشه ثابت هست کاش یه جوری بود دیگه برنامه که لایسنسش حذف میشد دیگه با کد قبلی ثبت نشه

جمله بندی شما کمی تا حدی ! غیر فنی هستش چون با ذات لایسنسینگ متضاد هستش ( لایسنس معتبر اگر محدودیت زمانی نداشته باشه نباید با استفاده چند بار برای اون سیستم هیچ مشکلی داشته باشه )


دوما روی زمانی کردن لایسنس هم کار کن که مهمتر از همه زمانی بودن لایسنس هست این که یه بار لایسنس بخواد هر برنامه نویسی میتونه بنویسه

قبلا کار شده ( فایل لایسنس دارای چندین پارامتر بود که برنامه نویس میتونست بطور مثال لایسنسی تولید کنه که مشخصات کامل اون لایسنس رو قید کنه اعم از نام شرکت یا خریدار لایسنس + مشخصات سیستم اعم از کد +سیستم عامل وووو + تاریخ ایجاد + تاریخ انقضاء و خیلی پارامترهای دیگه ) البته اون پروژه یک پروژه کاملاً سفارشی بود و بنده حق انتشار اون رو ندارم و باید با یک نام و امکانات جدیدتر بازنویسی اش کنم که خارج از حوصله بنده در حال حاضر هستش .

در مورد تاریخ انقضاء لایسنس بسیاری از متدها لاجرم محکوم به شکست هست چون به صورت عادی درگیر و وابسته به تاریخ سیستم عامل هستش و در صورت استفاده از متدهای سخت گیرانه برای کاربر که نتونه تاریخ سیستم رو تغییر بده هم کمی محدویت قائل شدن برای کاربر محسوب میشه .

در انتها باید بازم برای مرتبه 1000رم خاطر نشان کنم که سورس برنامه ایی که از این نسخه از قفل بنده استفاده میکنه باید و بازم باید از ابزارهای محافظت از سورس کد استفاده کنه که سورس نرم افزار تا حد زیادی مبهم سازی بشه و گذرواژه مخفی به هیچ عنوان نباید دست مشتری باشه . این حساسیت در نسخه تجاری قفل نرم افزاری PS-27 که از اینجا (http://manamsoftware.mihanblog.com/post/31) قابل دانلود شدن هست به هیچ عنوان وجود نداره چون کل نرم افزار شما با الگوریتم های خیلی مطمئن رمزنگاری میشه و به هیچ عنوان قابل نفوذ توسط هکر از این بابت نیست . ضریب اطمینان در این روش تا قبل از دادن لایسنس معتبر به مشتری در حد 100% هستش یعنی احتمال اینکه کسی بتونه به نرم افزار شما که توسط این قفل ایمن شده دسترسی به سورس یا شکستن قفل اون کنه 0 هستش .

موفق باشید./

behrooz69
دوشنبه 28 بهمن 1392, 02:43 صبح
داداش علی ممنون از کمکت به دوستان . ! 1 سوال من برنامه رو تست کردم خیلی هم عالی و لطفت متعالی .

حالا بعد اینکه ثبت شد هربار که برنامه تستی که گذاشتی میاد بالا همون فرم ثبت نرم افزار میاد بالا و میگه برنامه ثبت شد .

چه کنیم که بعد ثبت نرم افزار دیگه این فرم هیچ وقت نمایش داده نشه ؟؟

hamed.alinejad
سه شنبه 29 بهمن 1392, 09:12 صبح
سلام
آقای behrooz69 (http://barnamenevis.org/member.php?196803-behrooz69) من هم توی نرم افزار خودم استفاده کردم یه فرم لودینگ گذاشتم که اونجا چک میکنه اگه نرم افزار ثبت نشده بود به صفحه لایسنس انتقال میده و اگه ثبت شده بود ادامه میده

اینم هم کد ها به شکل زیر میتونی استفاده کنی




Dim lblHardwareid = ps.GetHardwareID

If My.Computer.FileSystem.FileExists(Application.Star tupPath & "\License.lic") = False Then

MsgBox("نرم افزار ثبت نشده است انتقال به صفحه ثبت و بستن فرم لودینگ")


Else
Dim lic() As Byte = ps.License(Application.StartupPath & "\License.lic")

If ps.LicenseValidator(lic, "123456789") Then

MsgBox("نرم افزار ثبت شده است و ادامه مراحل لودینگ")
Else

MsgBox("نرم افزار ثبت نشده است انتقال به صفحه ثبت و بستن فرم لودینگ")

End If

End If

hamed.alinejad
سه شنبه 29 بهمن 1392, 09:14 صبح
منم یه پیشنهاد به برنامه نویس این نرم افزار داشتم و یه سوال
دوست عزیز وقتی کد لایسنس رو به نرم افزار میدی وقتی لایسنس اشتباه وارد میکنی هیچ خطایی نمیده که کد اشتباه بود

ممنون میشم

alimanam
سه شنبه 29 بهمن 1392, 10:36 صبح
با سلام


دوست عزیز وقتی کد لایسنس رو به نرم افزار میدی وقتی لایسنس اشتباه وارد میکنی هیچ خطایی نمیده که کد اشتباه بود

از تابع CheckLicense استفاده کن کدش در رویداد کلیک باتن 1 در پست اول اومده . من به این خاطر خطایی برای این مورد در نظر نگرفتم چون بهتره اینجوری باشه دلیلشم اصولی هست که باید برای امنیت بیشتر نرم افزارهایی که با قفل نرم افزاری یا سخت افزاری محافظت میشن در نظر گرفت یکی از این اصول ها اینه که قفل بهتره واکنشی حداقل به صورت Msgbox برای ورود لایسنس غیر معتبر نشون نده .

موفق باشید./

alimanam
سه شنبه 29 بهمن 1392, 23:15 عصر
با سلام


حالا بعد اینکه ثبت شد هربار که برنامه تستی که گذاشتی میاد بالا همون فرم ثبت نرم افزار میاد بالا و میگه برنامه ثبت شد .

چه کنیم که بعد ثبت نرم افزار دیگه این فرم هیچ وقت نمایش داده نشه ؟؟

در ابتدا در تنظیمات پروژه خودتون قسمت ShutDown Mode رو به When last form closes تغییر بدین و کدهای لود فرم رو به کدهای زیر تغییر بدین :

http://www.xum.ir/images/2014/02/18/2et34t.png


Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
lblHardwareid.Text = ps.GetHardwareID
If My.Computer.FileSystem.FileExists(Application.Star tupPath & "\License.lic") = False Then
GroupBox1.Enabled = True
PictureBox1.Image = My.Resources.notRegistred
lblregister.Text = "نرم افزار ثبت نشده است"
Else
Dim lic() As Byte = ps.License(Application.StartupPath & "\License.lic")
If ps.LicenseValidator(lic, "1234567890") Then
Form2.Show()
Me.Close()
Else
GroupBox1.Enabled = True
PictureBox1.Image = My.Resources.notRegistred
lblregister.Text = "نرم افزار ثبت نشده است"
End If
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub


موفق باشید./

hamed.alinejad
پنج شنبه 01 اسفند 1392, 15:37 عصر
داداش روی دو تا سیستم تست که کردم شناسه مشتری رو یه عدد داد
این
1519-8216-5217-3142

alimanam
پنج شنبه 01 اسفند 1392, 20:51 عصر
با سلام


داداش روی دو تا سیستم تست که کردم شناسه مشتری رو یه عدد داد

2 تا احتمال داره

1- باید برنامه رو به صورت ادمین اجرا کنین چون نیاز به دسترسی ادمین داره .
2- برنامه رو احتمالا روی یک ویندوز مجازی ( با استفاده از نرم افزار VMware Virtualization یا نرم افزار مشابه ) تست کردین .

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

موفق باشید./

hamed.alinejad
پنج شنبه 01 اسفند 1392, 22:47 عصر
داداش روی سه تا سیستم حالا تست کردم و همشون یه شناسه میدن
فایل لایسنس توی همه کامپیوتر ها اجرا میشه
کامپیوتر ها مجزا هستن

alimanam
پنج شنبه 01 اسفند 1392, 22:54 عصر
با سلام


داداش روی سه تا سیستم حالا تست کردم و همشون یه شناسه میدن
فایل لایسنس توی همه کامپیوتر ها اجرا میشه
کامپیوتر ها مجزا هستن

شما از فایل ضمیمه پست قبلی استفاده کن همینطور به نکاتی که ذکر کردم توجه کن مطمئناً مشکل حل خواهد شد .

موفق باشید./

hamed.alinejad
پنج شنبه 01 اسفند 1392, 22:58 عصر
خب داداش وقتی run as administrator میزنم یه کد جدید میده
ولی داداش این که یه ایراد خیلی بزرگ هست
چطوری اینو حل کنم
به کار بر که نمیشه گفت اینطوری بزن تا ازت سریال بخواد درست

hamed.alinejad
پنج شنبه 01 اسفند 1392, 23:00 عصر
داداش از فایل استفاده کردم معمولی اجرا میکنم خطا میده میگه دسترسی امکان پذیر نیست
ولی با run as... میزنم کد درست میده و متفاوت
خب فقط یه راهی برای این باشه

alimanam
پنج شنبه 01 اسفند 1392, 23:20 عصر
داداش از فایل استفاده کردم معمولی اجرا میکنم خطا میده میگه دسترسی امکان پذیر نیست
ولی با run as... میزنم کد درست میده و متفاوت
خب فقط یه راهی برای این باشه

دوست عزیز من که بارها عرض کردم قفل PS-27 برای استخراج مشخصات سخت افزاری سیستم ها از چندین روش استفاده میکنه از جمله WMI و استفاده از API ویندوز به طبع برای اینکار نیاز به دسترسی ادمین داره این یک ! دوماً بارها و بارها عرض کردم برنامه ایی که داره از این قفل استفاده میکنه باید در تنظیمات نرم افزارش این دسترسی رو به کاربر بده که نرم افزار به صورت Run as Admin اجرا بشه من که نمیتونم براتون این کار رو انجام بدم !!!!! فایل قفل یک فایل dll هست نه فایل اجرایی ! شما خودتون باید در قسمت تنظیمات پروژه این دسترسی رو ست کنین .

http://www.xum.ir/images/2014/02/20/45OHyc.jpg

موفق باشید./

hamed.alinejad
پنج شنبه 01 اسفند 1392, 23:38 عصر
داداش شرمنده ها میشه تنظیم این سطح دسترسی رو یه اوضیح بدی و از کجا میشه دقیق؟

hamed.alinejad
جمعه 02 اسفند 1392, 00:07 صبح
داداش این گزینه رو دقیقا فعال کردم و اینطوری نوشتم ولی بازم admin اجرا نشد میشه کمکم کنی

Vahab
جمعه 02 اسفند 1392, 14:36 عصر
سلام دوست عزیز

نمیخوام کارتونو بی ارزش کنم ولی با 5 دقیقه کار کردن روی فایل PS-27.dll تونستم متود چک کردن کد فعال سازی رو دور بزنم الان با هر کدی برنامه فعال میشه

امیدوارم این پست من باعث بشه یک اصلاح اصولی روی قفلتون انجام بدید

alimanam
جمعه 02 اسفند 1392, 15:21 عصر
با سلام


سلام دوست عزیز

نمیخوام کارتونو بی ارزش کنم ولی با 5 دقیقه کار کردن روی فایل PS-27.dll تونستم متود چک کردن کد فعال سازی رو دور بزنم الان با هر کدی برنامه فعال میشه

امیدوارم این پست من باعث بشه یک اصلاح اصولی روی قفلتون انجام بدید

خواهش میکنم دوست خوبم چرا باید بی ارزش بشه ؟! من سعی میکنم به زودی یک Crack me واستون آماده کنم که از PS-27 نسخه رایگان استفاده میکنه تست کنین . لازم به ذکره که به هیچ وجه نباید فایل قفل کنار فایل اجرایی باشه این مطلب رو قبلاً بارها گفتم ( در تاپیک نسخه 2 هست میتونین مطالعه کنین ) حتما باید Merge بشه . احتمال میدم از این متد (http://barnamenevis.org/showthread.php?440504) استفاده کرده باشین .

لطفاً شناسه کاربری خودتون رو بدین که Crack Me رو بر اساس سیستم شما بنویسم .

موفق باشید./

Vahab
جمعه 02 اسفند 1392, 15:43 عصر
با سلام



خواهش میکنم دوست خوبم چرا باید بی ارزش بشه ؟! من سعی میکنم به زودی یک Crack me واستون آماده کنم که از PS-27 نسخه رایگان استفاده میکنه تست کنین . لازم به ذکره که به هیچ وجه نباید فایل قفل کنار فایل اجرایی باشه این مطلب رو قبلاً بارها گفتم ( در تاپیک نسخه 2 هست میتونین مطالعه کنین ) حتما باید Merge بشه . احتمال میدم از این متد (http://barnamenevis.org/showthread.php?440504) استفاده کرده باشین .

لطفاً شناسه کاربری خودتون رو بدین که Crack Me رو بر اساس سیستم شما بنویسم .

موفق باشید./

بله من تاپیکهای شمارو دنبال میکنم ولی این مطلب رو اینجا نوشتم که دوستانی که از قفل شما(یا هر قفل دیگه) استفاده میکنن صرفا به اضافه کردن قفل به برنامه و 4 تا if زدن نمیتونن امنیت برنامشون رو تامین کنن.
البته خودتون هم میدونید این ساده ترین راه برای کرک کردن برنامه های .NET هستش از متودهای پیچیده تری هم میشه استفاده کرد
ممنظورتون رو از شناسه کاربری متوجه نشدم!

alimanam
جمعه 02 اسفند 1392, 20:55 عصر
با سلام


بله من تاپیکهای شمارو دنبال میکنم ولی این مطلب رو اینجا نوشتم که دوستانی که از قفل شما(یا هر قفل دیگه) استفاده میکنن صرفا به اضافه کردن قفل به برنامه و 4 تا if زدن نمیتونن امنیت برنامشون رو تامین کنن.

بله 100% با صحبتتون موافقم . بنده هم چندین بار عرض کردم نمیشه با این روش ها امنیت خیلی زیادی متصور شد و فقط مانعی برای اکثر کاربران نرم افزار هستش چون دانش کافی برای انگولک کردن سورس نرم افزار ندارن هستش نه بیشتر در ضمن استفاده توام از نرم افزارهای مبهم ساز میتونه تا حدی این موانع رو فقط بهبود ببخشه .


البته خودتون هم میدونید این ساده ترین راه برای کرک کردن برنامه های .NET هستش از متودهای پیچیده تری هم میشه استفاده کرد

بله یکی از روش ها هستش به میزان تجربه شما و دیگر عزیزان میتونه مربوط باشه که از چه متدی استفاده کنن روش های میشه پیاده سازی کرد .


ممنظورتون رو از شناسه کاربری متوجه نشدم!

چون دقیقاً خواستم کرک می رو بر اساس اطلاعات شناسه سخت افزاری شما بنویسم عرض کردم . به هر حال من با استفاده از چند روشی که بلد بودم چندین سطح امنیتی رو در این کرک می قرار دادم تست کنین نتیجه رو اعلام کنین . پیشاپیش از وقتی که میزارین سپاسگذارم .

موفق باشید./

Vahab
شنبه 03 اسفند 1392, 16:58 عصر
با سلام



بله 100% با صحبتتون موافقم . بنده هم چندین بار عرض کردم نمیشه با این روش ها امنیت خیلی زیادی متصور شد و فقط مانعی برای اکثر کاربران نرم افزار هستش چون دانش کافی برای انگولک کردن سورس نرم افزار ندارن هستش نه بیشتر در ضمن استفاده توام از نرم افزارهای مبهم ساز میتونه تا حدی این موانع رو فقط بهبود ببخشه .



بله یکی از روش ها هستش به میزان تجربه شما و دیگر عزیزان میتونه مربوط باشه که از چه متدی استفاده کنن روش های میشه پیاده سازی کرد .



چون دقیقاً خواستم کرک می رو بر اساس اطلاعات شناسه سخت افزاری شما بنویسم عرض کردم . به هر حال من با استفاده از چند روشی که بلد بودم چندین سطح امنیتی رو در این کرک می قرار دادم تست کنین نتیجه رو اعلام کنین . پیشاپیش از وقتی که میزارین سپاسگذارم .

موفق باشید./
سلام
من برنامه رو آنپک کردم بقیش هم که خودتون بهتر میدونید با کمی وقت گذاشتن حل میشه / نگاه اجمالی که به کد انداختم گویا از طریق وب سایتتون سریال رو چک میکنید
http://www.*******.somee.com/GetActivationLicense
البته این رو داخل فایل PS_27_Service.dll که همراه با برنامتون پک کرده بودید دیدم
دیگه من برنامه رو کرک نکردم ولی یک موردی به ذهنم رسید برنامه ای یکی از دوستان که برای کرک در اختیارم گذاشته بود رو نگاه میکردم ایشون هم از طریق وب پروسه فعالسازی رو چک میکردن ولی یک اشتباه وحشتناک داشتن توی برنامه که بعد از ثبت , اطلاعات رو وارد دیتابیس سایت میکردن(یوز و پس SQL بعد از کرک کردن برنامه مشخص بود) همین اشتباه باعث میشد که شخص کرکر به راحتی به دیتابیس دسترسی داشته باشه

alimanam
شنبه 03 اسفند 1392, 17:40 عصر
با سلام


من برنامه رو آنپک کردم بقیش هم که خودتون بهتر میدونید با کمی وقت گذاشتن حل میشه / نگاه اجمالی که به کد انداختم گویا از طریق وب سایتتون سریال رو چک میکنید
http://www.*******.somee.com/GetActivationLicense
البته این رو داخل فایل PS_27_Service.dll که همراه با برنامتون پک کرده بودید دیدم

بله درسته , خوب الان برنامه رو کرک کردین ؟ اصلش کرک کردن Crack Me هستش لطفاً در صورت کرک کردن اعلام کنین که چک کنم . البته من فکر نمیکنم به دلیل ماهیت متدی که برای امنیت کرک می استفاده کردم به راحتی بشه اون رو دور بزنین من احتمال کرک , کرک می رو در حد 0 میدونم ولی باز از اینکه وقت میزارین سپاسگذارم دوست خوبم . راستی سطح امنیت این کرک می رو اگر امکان داره از دید خود بگین ( از 0 تا 10 )



ولی یک موردی به ذهنم رسید برنامه ای یکی از دوستان که برای کرک در اختیارم گذاشته بود رو نگاه میکردم ایشون هم از طریق وب پروسه فعالسازی رو چک میکردن ولی یک اشتباه وحشتناک داشتن توی برنامه که بعد از ثبت , اطلاعات رو وارد دیتابیس سایت میکردن(یوز و پس SQL بعد از کرک کردن برنامه مشخص بود) همین اشتباه باعث میشد که شخص کرکر به راحتی به دیتابیس دسترسی داشته باشه

بله من از طریق وب سرویس این امکان رو به برنامه نویس دادم که لایسنس فعال سازی رو در اختیار مشتری نرم افزارش بزاره , البته هیچگونه ویرایشی چه بعد و چه قبل از فعال سازی در دیتابیس صورت نمیگیره .
موفق باشید./

Vahab
شنبه 03 اسفند 1392, 18:37 عصر
با سلام



بله درسته , خوب الان برنامه رو کرک کردین ؟ اصلش کرک کردن Crack Me هستش لطفاً در صورت کرک کردن اعلام کنین که چک کنم . البته من فکر نمیکنم به دلیل ماهیت متدی که برای امنیت کرک می استفاده کردم به راحتی بشه اون رو دور بزنین من احتمال کرک , کرک می رو در حد 0 میدونم ولی باز از اینکه وقت میزارین سپاسگذارم دوست خوبم . راستی سطح امنیت این کرک می رو اگر امکان داره از دید خود بگین ( از 0 تا 10 )


بله من از طریق وب سرویس این امکان رو به برنامه نویس دادم که لایسنس فعال سازی رو در اختیار مشتری نرم افزارش بزاره , البته هیچگونه ویرایشی چه بعد و چه قبل از فعال سازی در دیتابیس صورت نمیگیره .
موفق باشید./

خیر Crack Me رو کرک نکردم همینطور که خودتون فرمودید این متودی که استفاده کردید نیازمند آنالیز دقیق هستش که متاسفانه وقت برای این کار ندارم
ولی خب اگر یک برنامه واقعی باشه(حسابداری و ........) انگیزه برای کرکر بالاتر میره فقط یهچیزیرو متوجه نشدم بعداز اینکه برنامه رجیستر میشه(Crack Me) توی اجرای بعدی بازم همون Form1 نمایش داده میشه؟یا اتفاق خاص دیگه ای قراره بیافته؟

alimanam
شنبه 03 اسفند 1392, 22:48 عصر
با سلام


خیر Crack Me رو کرک نکردم همینطور که خودتون فرمودید این متودی که استفاده کردید نیازمند آنالیز دقیق هستش که متاسفانه وقت برای این کار ندارم

ممنونم . بله نیاز به آنالیز دقیق داره ولی بازم راه به جایی نمیبره :لبخندساده: چون در نهایت بدون داشتن لایسنس معتبر نمیتونین برنامه رو کرک کنین :چشمک:


بعداز اینکه برنامه رجیستر میشه(Crack Me) توی اجرای بعدی بازم همون Form1 نمایش داده میشه؟یا اتفاق خاص دیگه ای قراره بیافته؟

در صورت داشتن لایسنس معتبر برنامه لایسنس معتبر رو کنار فایل اجرایی ایجاد میکنه و برای بار بعدی ( اجرای بعدی ) با خوندن لایسنس در حافظه اجرا میشه . از وقتی که گذاشتین ممنونم اگه وقت کردین سر فرصت روش کار کنین اگر کرکش کردین در این تاپیک اعلام کنین .

با فایل ضمیمه شناسه سخت افزاری خودتون رو بگین تا یک Crack Me جدید بهتون بدم که بهتر بتونین کار کرک کردن رو تست و آنالیز کنین ( در صورت تمایل البته )

http://www.xum.ir/images/2014/02/22/echoid.png


موفق باشید./

barnamenevisjavan
پنج شنبه 08 اسفند 1392, 09:02 صبح
سلام علی آقا خسته نباشید چند نکته خواستم ذکر کنم :
این نسخه جدید با WPF هماهنگی داره؟ بشدت بهش نیاز دارم.
در نسخه 2 یکسری مشکلات داشتم آیا این مشکلات در این نسخه رفع شده؟
فایل های dll در خود برنامه Merge نمیشوند و خطایی مربوط به dll قفل شما میدن.
برخی از برنامه ها هم وقتی عمل مرگ رو انجام میدن برنامه از کار میوفته.
من از برنامه BoxedApp Packer برای پک کردن برنامم استفاده کردم ولی متاسفانه به خاطر قفل شما برنامه از کار میوفته و خطا میده و....
پکر های زیادی رو تست کردم این تنها پکری بود که وقتی با برنامه PEID برنامه رو باز کردم هیچ اطلاعاتی راجب به کدنویسیش بهم نداد و توی Reflector هم غیرقابل نفوذ بود.
اگر ممکنه قفل رو با اینجور برنامه ها هماهنگ کنید.

alimanam
پنج شنبه 08 اسفند 1392, 12:09 عصر
با سلام


این نسخه جدید با WPF هماهنگی داره؟ بشدت بهش نیاز دارم. در نسخه 2 یکسری مشکلات داشتم آیا این مشکلات در این نسخه رفع شده؟

بله مشکلی با WPF نداره نمونه کد جهت استفاده در پست شماره 1 ( در انتهای پست ) لینک داده شده میتونید استفاده کنید .


فایل های dll در خود برنامه Merge نمیشوند و خطایی مربوط به dll قفل شما میدن.
برخی از برنامه ها هم وقتی عمل مرگ رو انجام میدن برنامه از کار میوفته.
من از برنامه BoxedApp Packer برای پک کردن برنامم استفاده کردم ولی متاسفانه به خاطر قفل شما برنامه از کار میوفته و خطا میده و....
پکر های زیادی رو تست کردم این تنها پکری بود که وقتی با برنامه PEID برنامه رو باز کردم هیچ اطلاعاتی راجب به کدنویسیش بهم نداد و توی Reflector هم غیرقابل نفوذ بود.
اگر ممکنه قفل رو با اینجور برنامه ها هماهنگ کنید.

طی چند آینده اگر وقت کنم کمی روش کار میکنم که این مورد هم حل بشه .

موفق باشید./

armin8651
پنج شنبه 28 فروردین 1393, 09:35 صبح
سلام
این قفل رو روی یکی از برنامه هام گذاشتم بعد با خود VS اومدم فایل ستاپ بسازم برای برنامه، در ارتباط با قفل این خطا رو میده:

Unable to update the dependencies of the project. The dependencies for the object 'PS-27.DLL' cannot be determined

این خطا هم میده که نمیدونم مربوط به قفل هست یا نه:

An error occurred while validating. HRESULT = '80131124'

قبلاً از قفل ورژن 2 رو این برنامه استفاده کرده بودم که مشکلی نداشت، ولی الان دیگه با ورژن 2 هم میخوام ستاپ بسازم این خطا رو میده.

لطفا راهنمایی کنید که چه طور برطرفش کنم. ممنون

alimanam
پنج شنبه 28 فروردین 1393, 10:52 صبح
با سلام


سلام
این قفل رو روی یکی از برنامه هام گذاشتم بعد با خود VS اومدم فایل ستاپ بسازم برای برنامه، در ارتباط با قفل این خطا رو میده:

Unable to update the dependencies of the project. The dependencies for the object 'PS-27.DLL' cannot be determined

این خطا هم میده که نمیدونم مربوط به قفل هست یا نه:

An error occurred while validating. HRESULT = '80131124'

قبلاً از قفل ورژن 2 رو این برنامه استفاده کرده بودم که مشکلی نداشت، ولی الان دیگه با ورژن 2 هم میخوام ستاپ بسازم این خطا رو میده.

لطفا راهنمایی کنید که چه طور برطرفش کنم. ممنون

از فایل ضمیمه به جای dll پست اول استفاده کنین مشکلتون حل خواهد شد .

موفق باشید./

armin8651
پنج شنبه 28 فروردین 1393, 11:19 صبح
با سلام


از فایل ضمیمه به جای dll پست اول استفاده کنین مشکلتون حل خواهد شد .

موفق باشید./

ممنون از جوابتون
از این dll استفاده می کنم برای کد Imports PS_27.Protector هشداز زیر رو میده:

Namespace or type specified in the Imports 'PS_27.Protector' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases.

و برای کد Private ps As New PS_27.Protector هم خطای زیر رو میده:

Type 'PS_27.Protector' is not defined

من از کدهای پست اول استفاده کردم، اسم کلاسی یا تابعی ... تو این dll تغییر کرده؟

alimanam
پنج شنبه 28 فروردین 1393, 11:47 صبح
با سلام


از این dll استفاده می کنم برای کد Imports PS_27.Protector هشداز زیر رو میده:

دوباره دانلود کنین ( فایل ضمیمه ) آپدیت شد . و مشکلی که گفتین رو دیگه نداره .

موفق باشید./

amir-aa
شنبه 04 مرداد 1393, 02:34 صبح
ببینم دوستان فقط جنبه تمرینی داره یا میشه در پروژه های کوچک استفادش کرد؟؟!

barnamenevisjavan
سه شنبه 07 مرداد 1393, 14:50 عصر
ببینم دوستان فقط جنبه تمرینی داره یا میشه در پروژه های کوچک استفادش کرد؟؟!
من نسخه قدیمیش 2 رو توی یه برنامه استفاده کردم بدون مشکل جواب داد چند نسخه هم فروختم

Mojtaba0
یک شنبه 02 شهریور 1393, 03:06 صبح
من با استفاده از چند روشی که بلد بودم چندین سطح امنیتی رو در این کرک می قرار دادم تست کنین نتیجه رو اعلام کنین . پیشاپیش از وقتی که میزارین سپاسگذارم .

موفق باشید./

سلام
حفاظت هایی که گذاشتین رو میشه بگین.

alimanam
دوشنبه 17 شهریور 1393, 21:54 عصر
سلام
حفاظت هایی که گذاشتین رو میشه بگین.

با سلام

در این کرک می از پک کردن گرفته تا اینکریپت کردن سورس کد و رشته ها و همینطور استفاده از وب سرویس برای فعال سازی کرک می استفاده کردم . البته با استفاده از نرم افزارهای مبهم ساز هم موانعی ایجاد شده است .

موفق باشید./

mehdiba3
شنبه 08 آذر 1393, 10:26 صبح
سلام.
برنامه ای نوشتم و باید به زودی تحویل مشتری بدم و با توجه به اینکه فرصت ندارم خودم یک قفل درست کنم میخواستم از شما کمک بگیرم تا ار همین قفلی که اینجا معرفی شده استفاده کنم.
من تمام مطالب مربوط به این قفل رو خوندم ولی متاسفانه اصلا خوب توضیح داده نشده که چطوری پیاده سازیش کنیم.
من متوجه شدم یک باید در فرم اول برنامه ( مثلا فرم login) بیام چک کنم که برنامه فعال شده یا نه و اگه نشده فرم مربوط به regester رو برای کاربر بیارم تا بتونه برنامه رو فعال کنه و اگه فعال بود که دیگه این عملیات صورت نمیگیره و فرم login باز میشه.

خوب من تا اونجا که فهمیدم مراحل رو انجام دادم ولی متاسفانه نمیتونم درک صحیحی داشته باشم و قفل هم عمل نمیکنه. ار دوستانی که از این قفل استفاده کردن خواهش می کنم من رو راهنمایی کنند چون اصلا فرصت ندارم.

خیلی ممنون

alimanam
شنبه 08 آذر 1393, 11:13 صبح
با سلام

توضیحات خوبی در این تاپیک ارائه شده شما کجاش مشکل دارین ؟!!!!! کدها که از آب خوردن هم ساده تر هستند کجاش واستون مبهمه ؟

swallow.pa
چهارشنبه 12 آذر 1393, 19:03 عصر
دوست گرامي از شما ممنونم
اگه براتون امكان داره در مورد الگوريتم و تئوري قفل توضيح بدبد
ممنونم

niknam_mh
سه شنبه 18 آذر 1393, 18:17 عصر
داداش علی
ممنون از این قفلی که قرار داداید خیلی عالیه . وجود افرادی مثل شما در این سایت باعث دلگرمیه.
داداش سوال من این هست که این ورژن جدید رو اگه بخوایم مثل ورژن 2 استفاده کنیم یعنی شروع نرم افزارمون با یه فرم استارتر باشه باید چکار کنیم؟

nazari546
پنج شنبه 20 آذر 1393, 19:46 عصر
سلام دوست عزیز

نمیخوام کارتونو بی ارزش کنم ولی با 5 دقیقه کار کردن روی فایل PS-27.dll تونستم متود چک کردن کد فعال سازی رو دور بزنم الان با هر کدی برنامه فعال میشه

امیدوارم این پست من باعث بشه یک اصلاح اصولی روی قفلتون انجام بدید

دوست عزیز میشه این پست رو ببینی / ممنون میشم کمک کنی
http://barnamenevis.org/showthread.php?478915-%D8%AF%D9%88%D8%B3%D8%AA%D8%A7%D9%86-%D8%8C-%D9%84%D8%B7%D9%81%D8%A7%D9%8B-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%BE%DB%8C%D9%88%D8%B3%D8%AA%DB%8C-%D8%B1%D9%88-%DA%86%DA%A9-%DA%A9%D9%86%DB%8C%D8%AF-%28%D8%A2%DB%8C%D8%A7-%D9%85%DB%8C%D8%B4%D9%87-%D8%AD%DA%A9-%D8%B4-%DA%A9%D8%B1%D8%AF%29

younes221
یک شنبه 14 دی 1393, 11:18 صبح
سلام علی جان ،

چرا در Keygen Generator نمیشه شناسه ی مشتری رو تغییر داد؟ فقط شناسه سیستم خودم رو نشون می ه
فکر کنم Read-Only کردی !

alimanam
یک شنبه 14 دی 1393, 12:02 عصر
سلام علی جان ،

چرا در Keygen Generator نمیشه شناسه ی مشتری رو تغییر داد؟ فقط شناسه سیستم خودم رو نشون می ه
فکر کنم Read-Only کردی !

با سلام

مشکلی نداره Read Only نیست !!!

موفق باشید./

ehsan5749
جمعه 15 اسفند 1393, 01:03 صبح
سلام
من سلطان مبتدی هام !
من یک برنامه سی شارپ خیلی ساده تهیه کردم.
می خوام به کمک برنامه شما روش رمز بزارم.

برنامه من Form1 و Form2 داره.
میشه راهنمایی کنید کدام کدهارو باید کجا کپی پیست کنم؟

le5454
پنج شنبه 28 دی 1396, 10:15 صبح
سلام و عرض ادب بنده قصد خرید نسخه تجاری این نرم افزار رو دارم ولی لینک دانلودی که داخل وبلاگتون قرار دادین مشکل داره

از جای دیگه پیدا کردم و دانلود کردم ولی موقع ثبت نام ارور عدم دسترسی به اینترنت میده

لطفا بررسی و راهنمایی بفرمایید