砸碎SLock, 我的一次破解. (3千字)

看雪資料發表於2015-11-15

上週六想解beyond compare2.0.1, 雖說是幾乎無功而返,但也不是沒有收穫, 我發現:
1. 用softice在4245279處將eax 強行改為 6, 軟體就可以正常執行(要發現這點這一點, 我想, 只要知道什麼是softice就行了)
CODE:04245276                cmp    eax, 9          ; eax == 6, All OK!
CODE:04245279                ja      loc_42454DD    ; default
於是, 就改成
mov eax, 6

2. 之後, 發現slock不會跟你善罷甘休, 跳過42441f0處的patch檢查函式也不行.


週日, 承蒙lajiaolz(辣椒子? :))給了一個可用的key, 嫌自己的版本太舊, 就下了一個build 178, 糟了, 這個key被回收了.再裝回到build 176也不行了 :(

不過, 總覺得離解放它只有一步之遙了.

今天接著幹, 看看它會不會開啟bc2.exe檢查, 如果是的話, 可不可以讓它檢查原版, 而執行我們改過的版本呢?, 於是
    bpx createfilea do "d esp->4"
果然它這樣幹了. 於是將沒有改動的版本複製一個成bcx.exe
將trail.key複製成bcx.key, 並改動一下複製檔名的程式碼, 成了!

CODE:04196A20 84 C9                            test    cl, cl
CODE:04196A22 74 07                            jz      short locret_4196A2B
CODE:04196A24 FE CD                            dec    ch
CODE:04196A26 75 E8                            jnz    short loc_4196A10
CODE:04196A28 48                                dec    eax
CODE:04196A29                 
CODE:04196A29                  loc_4196A29:                            ; CODE XREF: sub_41969D6+36.j
CODE:04196A29 88 28                            mov    [eax], ch
CODE:04196A2B                 
CODE:04196A2B                  locret_4196A2B:                        ; CODE XREF: sub_41969D6+42.j
CODE:04196A2B                                                          ; sub_41969D6+4C.j
CODE:04196A2B C3                                retn

改成:

CODE:04196A20 84 C9                            test    cl, cl
CODE:04196A22 74 07                            jnz      short locret_4196A10
CODE:04196A24 FE CD                            mov        byte ptr [eax-6], 'x' ; 將bc2.exe 改成 bcx.exe, 讓這個蠢東西去檢查原版!
CODE:04196A26 75 E8                            retn

CODE:04196A28 48                                dec    eax
CODE:04196A29                 
CODE:04196A29                  loc_4196A29:                            ; CODE XREF: sub_41969D6+36.j
CODE:04196A29 88 28                            mov    [eax], ch
CODE:04196A2B                 
CODE:04196A2B                  locret_4196A2B:                        ; CODE XREF: sub_41969D6+42.j
CODE:04196A2B                                                          ; sub_41969D6+4C.j
CODE:04196A2B C3                                retn

這樣一以來就象被脫了殼一樣,想怎麼fuck就怎麼fuck!

已知問題:
主程式沒問題了, 絕大部分使用已經夠了, 幾個附加外掛可能還會去檢查key, 這將是我下一個目標. 應該不會太難, 我想.

覺得比較幸運, 如果在上週六之前在slock的網站上(http://www.crypto-central.com/slock/slock_feature.html)看到以下資訊的話, 我可能就被嚇的不敢去解它了.
-Extremely High Security
SLockPK uses Public Key cryptography to ensure that your software cannot be made registered without your knowledge.
-SlockPK can increase the number of registrations that you receive from your shareware by making it almost impossible use unregistered shareware for extended periods.
現在看到這段話就想笑,覺得slock是一個善於吹牛,比較愚蠢的東東:)

相關文章