همونطور که میدونی کدهای هر زبانی مانند Delphi و Visual C پس از کامپایل تبدیل به کد باینری میشه. فرض کن تو یه برنامهنویس مظلوم و من هم یک Cracker ظالم. فرض کن تو برنامهات قفل رو اینجوری چک کرده باشی:
If hardlock.connection=true then
// run rest of code
else
// do something needed to prevent illegal use
خوب این کد تو برنامه شما تبدیل میشه به چیزی مانند (کد زیر بصورت هگز نمایش داده شده است) :
00 84 62 75 27 04 95 99
خوب حالا تنها کاری که بنده باید انجام بدم اینه که debugger رو اجرا کرده و با چند تا F8 زدن برسم به اون محل فوق. بعد رو اون شرط If شما که اکنون تبدیل به یک Jump ساده شده یک redirect کوچولو میذارم. کل این فرآیند برای من در مجموع 5 دقیقه هم وقت نمیگیره. اما نتیجه: قفل بی قفل. و اینجا مقصر کیه؟ جنابعالی !!!!!!!!!!
اما چرا جنابعالی حقته که قفلت شکسته بشه؟ چون احتمال شکسته شدن قفل تو برنامهات رو در نظر نگرفتهای.این فقط یه سرچشمه اتفاقی بود که ممکنه برات بیفته و باید بگم سادهترییییییییییییین روش ممکن هم بود!!!!!!!!!
پس حالا باید چکار کرد؟ اگه میدونی که هیچ. اگه نمیدونی بگو تا بگم :wink: