熱度 2
CopperCAM是個非常強的專業制作PCB雕刻軟件,可以用PROTEL設計的電路GERBER文件轉換成雕刻機認識的G代碼。可以產生隔離,銑削,鉆孔,銑邊等功能,可以做雙面板。使用簡單,是電子愛好者不可多得的軟件,但是試用版最多只給生成25個焊孔和路徑線條,所以需要對這個軟件進行仔細分析:
0. 試用版生成的雕刻刀圖:
1. CopperCAM09/07/2017,可以在www.coppercam.com網站中下載
2. OllyDbg工具
3. 閑話不多說,打開OllyDbg,裝載CopperCAM.exe文件:
4. 點擊運行按鈕,出現CopperCAM窗口:
5. 在CopperCAM中打開一個AD制作的電路板圖:
6. 生成雕刻刀圖,出現告警框,說明這個軟件沒有注冊:
7. 回到OllyDbg界面,點擊M按鈕,打開內存窗口,右鍵菜單選擇查找條目:
8. 在查找對話框中輸入在告警框中出現的字符串"Demonstration version":
9. 內存中的搜索結果如下圖所示:
10. 點擊字符串中任意字符,然后右鍵菜單設置斷點-->內存訪問:
11. 按Ctrl+F9(執行到返回)
12. 點擊CopperCAM中告警框的確定按鈕,此時程序中斷在系統返回處:
13. 此時的程序中斷在系統運行庫當中,需要返回到程序本身的領空。連續點擊Ctrl+F9(大概30多下)直到返回程序領空,向下移動匯編代碼行,可以看到在返回代碼前有兩個CALL,其中一個call就是調用系統庫函數MessageBoxExA的,說明程序中斷路徑正確。
14. 繼續點擊Ctrl+F9,回到上一個調用,看看匯編代碼有什么變化,如果沒有的話,繼續返回,直到出現一些可疑信息:
15. 向上回看代碼,直到看到頭大也沒有發現什么特別的,看樣子是信息不全,那么先在軟件注冊窗口中隨便填一些信息以增加代碼分析的提示:
16. ok,繼續Ctrl+F9返回上一級調用,在此下斷點重新分析這個模塊代碼:
17. 重新運行雕刻刀圖生成命令,程序在彈出警告框前先斷在此處,看樣子有戲,點擊F7進入,仔細檢查這個調用模塊,發現先前注冊窗口輸入的信息出現在這個模塊中,哈哈,接近成功了!
18. 仔細檢查附近的代碼行,看到什么了?對,就是這行:
19. 16進制的0x19,就是10進制的25,難道25個焊盤限制就在這,這么簡單,試試看,把下一行的判斷跳轉命令改成直接跳轉命令,看有什么情況發生?
20. 對頭,警告框,沒了,生成的雕刻刀圖也完整了:
21. 選中修改的這行代碼,右鍵菜單-->復制到可執行文件-->所有修改,在彈出窗口選擇全部復制,在隨后彈出的窗口右鍵菜單-->保存文件,將文件另存為一個可執行文件:
22. 享受軟件的樂趣吧!