Delphi Asistant مطلب جالبی را نوشته ان که البته حق با اوست


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
ولی شما میتوانید در داخل کد خود در چند محل امکان تست مجموع بگذارید(summation code) . اینجوری اگر توسط debogger کد تغییر کند کد مجموع تغییر خواهد کرد. و برنامه کار نخواهد کرد که البته یک کراکر ماهر با صرف وقت باز هم باید به این کدهای تست سر زده و آنها را نیز اصلاح کند. در داس براحتی میشد حدس زد ، دستوراتی که پورت را چک میکنند کدهای اسمبلی مشابه out dx,3f8 و... داشته باشند و همچنین با دستکاری برخی از کدهای Jump مثل JB به JNB یا NOP (کد 90) , ویا تعقیب نقطه خروج تابع (کد ret یا C3H)) قفل شکسته می شد اما الان در ویندوز این روش عمومیت دارد یا نه نمیدانم آخه خیلی وقت که از اینکارا نکردم[/i][/quote]