לא אסמבלר, דיסאסמבלר...
בדרך כלל בשביל לכתוב תוכנה כזאת, משתמשים בתוכנה בשם disassembler (נראה לי ככה מאייתים). התוכנה בעיקרון לוקחת את קוד שפת המכונה בקובץ הexe והופכת אותו לקוד אסמבלי. אח"כ אפשר לעבוד על הקוד פקודה פקודה כמו שעושים בdebug, ואפשר לראות מתי משתנה ערך מסויים בתוך המשחק, למשך ברגע שאני מקבל עוד כסף, מתקיימת הפקודה:
mov ex:[bx],ax
לכן אפשר ברוב המקרים להסיק שהכתובת של המשתנה לכסף הוא בBX עם כתובת בסיס ששמורה בEX. זאת דרך אחת לעשות את זה, את התוכנה לא חייבים לכתוב באסמבלי, אבל בדרך משמשים בדיסאסמבלר בשביל להכין תוכנות כאלו. עוד דוגמא, למשל כשמכינים no cd crack, כלומר קובץ שמריץ את המשחק, אבל מבטל את הדרישה להכניס את הדיסק המקורי, עובדים עם דיסאמבלר, בודקים איפה הפקודה, או הקפיצה לתת-שגרה שגורמת לבדיקת הדיסק, מוחקים אותה ומקמפלים מחדש. עכשיו המשחק לא יבקש את הדיסק. וככה מכינים crack. ברור שיש עוד הרבה שיטות, וגם אילו הרבה יותר מסובכות בפועל, אבל בכללי ככה זה נעשה. נ.ב. כותב ההודעה לא ממליץ בשום ואופן לכתוב או להשתמש בcrackים או כל מיני דברים לא חוקיים למיניהם, והודעה זאת היא לא המלצה או דירבון (וגם לא פרובוקציה או סתירה, רוחמה אברהם) לעבור על חוק זכויות היוצרים הדיגיטלי.