軟體名稱:某國產軟體 V.32
簡 介:一個很不錯的象棋軟體
破解目的:解掉它的時間限制(未註冊只能用30天)實現上只是一個Nag視窗,主要是解除其只能下50步的功能限制
所需工具:Ollydbg、win32api.chm
說 明:我乃一隻菜鳥,本文只作技術交流,
文中若有不當之處,還請“大蝦米”們多多指教,謝謝!
open “檔案.exe”,按Ctrl+F8執行。進入提示畫面。
0042DEF1 |. E8 11E10000 CALL 0043C007
在Ollydbg中看到游標停在這行上,按下F2設定斷點
0042DEF1 |. E8 11E10000
CALL 0043C007
重新用Ollydbg的Debug下的Restore
裝入程式,再按Ctrl+F8執行,游標再次停在了這行上,按下F2取消斷點,再按6次F7後,再按Ctrl+F8
004463FF
|. FF50 50 CALL [DWORD DS:EAX+50]
這次停在了這裡,按下F2設定斷點,重新用Ollydbg的Debug下的Restore
裝入程式,再按Ctrl+F8執行,
004463FF |. FF50 50
CALL [DWORD DS:EAX+50]
一樣停要這裡,按F7跟進,再按Ctrl+F8 繼續
00418AA4
E8 67610200 CALL 0043EC10
<-進入NAG視窗
00418AA9 83F8 01
CMP EAX,1
<-比較選擇 繼續與退出
00418AAC 74 2D
JE 00418ADB
<-繼續就跳00418ADB
這次停在這裡,仔細研究發現這裡就是NAG視窗的Call,
改:
在 00418AA4 E8 67610200 CALL 0043EC10
行處直接按空格輸入NOP,用Shift加游標選擇紅色行,
點滑鼠右鍵Copy to executable file 在新視窗的陰影行點右鍵 save
files 儲存
在 00418AAC 74 2D
JE 00418ADB 行處直接按空格輸入JMP 00418ADB ,用Shift加游標選擇紅色行,
點滑鼠右鍵Copy
to executable file 在新視窗的陰影行點右鍵 save files 儲存
時間限制已經解除,但試用版只能下50步棋。想了幾天都不知道從什麼地方下手解除,原來檢視win32api.chm函式手冊發現
這個捕獲滑鼠的SetCapture函式,再次用Ollydbg執行,先下幾步,
在Ollydbg的CPU視窗中Search for name(label)
在USER32.SetCapture行點右鍵 set breakpoint on every reference 然後移動棋字,就可以跟到這裡,要多跟幾次。
0041CD3A |. 8B5424 10 MOV EDX,[DWORD SS:ESP+10]
0041CD3E |. 8BCE MOV ECX,ESI
0041CD40 |. 52 PUSH EDX
0041CD41
|. 55 PUSH EBP
0041CD42 |.
C746 40 010000>MOV [DWORD DS:ESI+40],1
0041CD49 |. E8 12D0FFFF
CALL 00419D60
0041CD4E |. 50
PUSH EAX
0041CD4F |. 8BCE
MOV ECX,ESI
0041CD51 |. E8 5AFEFFFF CALL 0041CBB0
0041CD56 |. 8B46 1C MOV EAX,[DWORD DS:ESI+1C]
0041CD59 |. 50 PUSH EAX
0041CD5A |. E9 BC000000 JMP 0041CE1B
0041CD5F
|> 83B8 8C110000 >CMP [DWORD DS:EAX+118C],64 <-
來回50步=100 100=64H
0041CD66 |. 0F8D 27010000 JGE 0041CE93
<- 等於
64 就跳
0041CD6C |. 8B4E 74 MOV ECX,[DWORD
DS:ESI+74]
0041CD6F |. 8BC3 MOV EAX,EBX
0041CD71 |. 2BC1 SUB EAX,ECX
0041CD73 |. 99 CDQ
改:
在 0041CD66 |. 0F8D 27010000 JGE 0041CE93 行處直接按空格輸入NOP,用Shift加游標選擇紅色行,
點滑鼠右鍵Copy to executable file 在新視窗的陰影行點右鍵 save files 儲存
好了,搞定收工!本次破解到此結束,因為是第一次寫東西,有什麼不對的地方請大家指出!謝謝了!
OICQ:2806369