網絡安全編程:制作注冊機的工具——KeyMake
本文介紹一款制作注冊機的工具——KeyMake,其界面如圖1所示。
圖1 KeyMake工具界面
KeyMake的功能非常多,這里主要介紹“其他”菜單下的功能,如圖2所示。
圖2 “其他”菜單下的功能
KeyMake菜單有3個主要功能,分別是“內存注冊機”、“制作文件補丁”和“制作內存補丁”。分別以三個程序例子來制作3個補丁程序。
首先來制作“內存注冊機”。在KeyMake的“其他”菜單下選擇“內存注冊機”,出現“設置注冊機信息”界面,如圖3所示。
圖3 “設置注冊機信息”界面
在圖3中的“程序名稱”處選擇前面寫的CrackMe程序,然后單擊“添加”按鈕,出現“添加數據”界面,添加相應的數據,如圖4所示。
圖4 “添加數據”界面
在圖4中,首先要添加中斷地址,在“中斷地址”處輸入“00401E9E”,在“中斷次數”處輸入“1”,在“第一字節(jié)”處輸入“E8”,在“指令長度”處輸入“5”。為什么這么填寫呢?對于“中斷地址”、“第一字節(jié)”和“指令長度”的填寫方法,參考圖5就能夠明白。“中斷次數”是指在中斷地址被斷下第幾次后去讀取數據。由于正確“密碼”在內存中,因此在“保存下列信息為注冊碼”窗口中選擇“內存方式”,選擇“寄存器”為“EDX”。這里也對照圖5就可以明白。填寫完上面的內容后,單擊“添加”按鈕則返回“設置注冊機信息”界面,然后單擊“生成”按鈕,將“內存注冊機”放在與CrackMe相同的目錄下即可。然后運行生成的注冊機,會出現CrackMe程序界面,隨便輸入一個“賬號”和“密碼”,單擊“確定”按鈕即可出現正確的注冊碼,如圖6所示。
圖5 調用strcmp()函數的地址
圖6 “內存注冊機”提示正確的注冊碼
制作“文件補丁”相對于“內存注冊機”要簡單很多。制作“文件補丁”的KeyMake界面如圖7所示。
圖7 “制作文件補丁”界面
在圖7中,在“原始的文件”處選擇破解前的文件,在“已破解文件”處選擇已經破解后的文件,然后單擊“制作”按鈕即可生成一個文件補丁程序。這里需要說明的是,之所以選擇“原始的文件”,是因為生成的文件補丁在對沒有破解的文件進行打補丁前需要對文件的CRC校驗和進行計算,以防止由于文件版本的不同而導致文件破壞。
最后介紹一下“內存補丁”。“內存補丁”的制作也是比較容易的,打開“內存補丁”的制作界面,然后依照圖8所示進行設置。
圖8 “制作內存補丁”界面
“制作內存補丁”界面中的“添加數據”窗口中的相應設置,請參考圖9進行設置。
圖9 00401EAE地址處反匯編