暴力破解Paragon CD Emulator時間及功能限制 (7千字)
暴力破解Paragon CD Emulator時間及功能限制
[下載]
已經很長時間了,估計應該在www.inhua.com下載,手裡的版本為1.02.007
[破解工具]
WDasm
IDA Pro
Trw2000
Regmonitor
Filemonitor
[破解過程]
透過使用軟體來收集資訊發現:
1. 軟體啟動的時候會跳出對話方塊,提示還有多少天的使用期。
2. 超過30天的試用期會提示過期了。程式呼叫一些功能時候也顯示過期了,拒絕呼叫。
3. Regmonitor發現程式找不到user和registration兩個登錄檔的值。
4. Add Image功能因為是Trial Version受到限制。
現在就可以開始動手術了。
使用WDasm和IDA Pro進行反彙編,檢視區別。
首先,cdman.exe經過反彙編,在WDasm的Import裡面,看到了對cdshell的函式的呼叫。看來程式還有一個cdshell.dll,
所以除了反彙編cdman.exe以外,還需要反彙編cdshell.dll。
浪費了許多時間後發現,程式的Trial Version和Full Version的版本號是不同的,因此似乎無法開啟註冊對話方塊來輸入
註冊碼,雖然使用ResHack可以看見註冊對話方塊。所以無法對上述3的資訊進行進一步操作。
IDA裡面甚至看到了license的檔名,cde.lic。不過,這個東東是為網路版應用的,個人版看來只需破解時間限制即可。
由於所有的提示資訊都可以在cdshell.dll的反彙編檔案中找到,所以,它成了主要目標。
既然是時間限制,很容易想到GetSystemTimeA;自從IDA配備了三個查詢Import,Export以及String Reference的plugin
以後,查詢的事情變得很簡單了。經過考慮,加上trw2000在這裡的跟蹤,注意力集中到了下面地方:
.........
.........
:1001C3C9 6800AB0410 push
1004AB00 <-------- IDA裡告訴我們,這裡是放入FlagEx
:1001C3CE 68B8A90410 push
1004A9B8 <-------- 這裡是登錄檔的路徑
:1001C3D3 E868160000 call
1001DA40
.........
.........
:1001C41A E811170000 call
1001DB30
:1001C41F 3BC3
cmp eax, ebx
:1001C421 7456
je 1001C479 <-------- 這裡不能跳,否則過期了。
:1001C423 8B54240C
mov edx, dword ptr [esp+0C]
:1001C427 51
push ecx
:1001C428 8BC4
mov eax, esp
:1001C42A 895E20
mov dword ptr [esi+20], ebx
:1001C42D 8D4C241C
lea ecx, dword ptr [esp+1C]
* Possible Reference to String Resource ID=00001: "Create CD Image File"
|
:1001C431 BB01000000 mov ebx,
00000001
:1001C436 8910
mov dword ptr [eax], edx
:1001C438 8D442414
lea eax, dword ptr [esp+14]
:1001C43C 50
push eax
:1001C43D E8BE160000 call
1001DB00
:1001C442 8B08
mov ecx, dword ptr [eax]
:1001C444 B807452EC2 mov eax,
C22E4507
:1001C449 F7E9
imul ecx
:1001C44B 03D1
add edx, ecx
:1001C44D 8BC3
mov eax, ebx
:1001C44F C1FA10
sar edx, 10
:1001C452 8BCA
mov ecx, edx
:1001C454 C1E91F
shr ecx, 1F
:1001C457 03D1
add edx, ecx <-------- edx顯示還有多少天。
:1001C459 895624
mov dword ptr [esi+24], edx <------- 這裡修改edx為1D(29天),程式會認為仍在使用期內
:1001C45C 5F
pop edi
:1001C45D 5E
pop esi
:1001C45E 5B
pop ebx
:1001C45F 83C408
add esp, 00000008
:1001C462 C3
ret
經過以上修改,發現程式沒有進行其他的過期檢測。第一步成功。
第二步來解它的NagScreen,就是提醒還有多少天的對話方塊。依舊在cdshell.dll裡面:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:10006EFD(C)
|
:10006F08 8B442430
mov eax, dword ptr [esp+30]
:10006F0C 85C0
test eax, eax
:10006F0E 0F84B6000000 je 10006FCA
<---------- 跳去顯示NagScreen,因為下面可見“cdshell.cdMessageBox”
:10006F14 8D4C2408
lea ecx, dword ptr [esp+08]
:10006F18 E8EB2B0300 call
10039B08
:10006F1D 8D4C2404
lea ecx, dword ptr [esp+04]
:10006F21 C744244000000000 mov [esp+40], 00000000
:10006F29 E8DA2B0300 call
10039B08
..............
..............
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:10006F0E(C)
|
* Possible Reference to String Resource ID=00048: "%s/s; %.3f kHz; %i Bits;
%s"
|
:10006FCA 6A30
push 00000030
* Possible Reference to String Resource ID=00062: "You work with the trial
version of the program.
This version"
|
:10006FCC 6A3E
push 0000003E
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:10006F03(U)
|
* Possible Reference to String Resource ID=00140: "Paragon CD Emulator Manager"
|
:10006FCE 688C000000 push
0000008C
* Reference To: cdshell.cdMessageBox
|
:10006FD3 E888FEFFFF call
10006E60
:10006FD8 83C40C
add esp, 0000000C
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:10006EF1(C)
|
:10006FDB 8B4C2438
mov ecx, dword ptr [esp+38]
:10006FDF 8BC6
mov eax, esi
:10006FE1 64890D00000000 mov dword ptr fs:[00000000],
ecx
:10006FE8 5E
pop esi
:10006FE9 83C440
add esp, 00000040
:10006FEC C3
ret
所以乾脆讓10006F0E跳到10006EF1來,結果,程式啟動時候以及以後的NagScreen都不見了。
=======此為 cdshell.dll反彙編的東東==========
Exported fn(): cdTrialInfo - Ord:0027h
:10007750 6A43
push 00000043
* Possible Reference to String Resource ID=00070: "
This function is unavailable in the trial version.
You can"
|
:10007752 6A46
push 00000046
* Reference To: cdshell.cdRestrictionInfo
|
:10007754 E8D7FDFFFF call
10007530
:10007759 83C408
add esp, 00000008
:1000775C C3
ret
=======此為 cdman.exe反彙編的東東==========
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0040A00F(C), :0040A018(C)
|
:0040A028 E8B39AFFFF call
00403AE0
:0040A02D 85C0
test eax, eax
:0040A02F 741F
je 0040A050 <-------------- 需要跳轉。
:0040A031 8B8500010000 mov eax, dword
ptr [ebp+00000100]
:0040A037 85C0
test eax, eax
:0040A039 7515
jne 0040A050
:0040A03B 8B8504010000 mov eax, dword
ptr [ebp+00000104]
:0040A041 85C0
test eax, eax
:0040A043 750B
jne 0040A050
* Reference To: cdshell.cdTrialInfo, Ord:0026h <--------------
要跳過這裡
|
:0040A045 FF15D4CE4500 Call dword
ptr [0045CED4]
:0040A04B E9C9040000 jmp 0040A519
總結一下需要修改的地方:
[cdshell.dll]
1. 1001C421 7456 ---> 9090
2. 1001C457 03D1
add edx, ecx
<---- 改成mov byte ptr [esi+24], 1D,由於
1001C459 895624
mov dword ptr [esi+24], edx <---- 原來6個位元組,改後成5個,要添一個90
3. 10006F0E 0F84B6000000 je
10006FCA ---> jmp 10006EF1
[cdman.exe]
1. 0040A02F 741F
je 0040A050 ---> jmp 0040A050
於是,破解完成了。:)
不過,希望有高手能講解一下它的時間是如何運算的。
相關文章
- 微信客服訊息時間限制2019-04-09
- 使用 Element+vue實現開始時間結束時間限制2020-12-03Vue
- 傳播小知識:timeout限制時間命令2020-09-13
- ubuntu 修改時區或時間 及網路同步時間2019-11-25Ubuntu
- Centos7使用DenyHosts防止ssh暴力破解2020-06-07CentOS
- 查詢時間從前7天到當前時間2019-04-12
- 直播軟體搭建,當前時間、既定時間後的時間及時間比較大小2023-11-03
- Laravel 登入失敗次數限制 等待時間遞增2018-10-20Laravel
- NTP網路時間伺服器原理及功能介紹(京準電子)2020-04-30伺服器
- centos7 時間自動同步2020-08-14CentOS
- 時間序列分析基本思想及時間序列建模步驟2021-12-22
- 定期刪除檔案,限制linux使用者登入時間2024-10-19Linux
- 【重溫基礎】7.時間物件2019-02-16物件
- Golang時間函式及測試函式執行時間案例2018-08-21Golang函式
- Java 時間類 Date、Calendar 及用法2020-09-02Java
- Java 中JDK7時間類與JDK8中的時間類2023-03-15JavaJDK
- Win10時間線怎麼關閉?關閉Win10時間線功能功能的兩種方法2018-12-28Win10
- 求問介面訪問有時間限制的壓測怎麼做?2020-06-19
- 艾司博訊:拼多多開店後有沒有時間限制2020-11-09
- 【Kubernetes系列】第7篇 CI/CD之元件部署2019-10-24元件
- Android AsyncLayoutInflater 限制及改進2018-08-13Android
- 歷經十年/頭髮都快掉光/秘鑰生成器終極版/機器碼/到期功能限制/執行時間限制/日期防篡改/跨平臺2024-10-04機器碼
- 暴力破解2020-12-17
- 【轉】理解 CI 和 CD 之間的區別2022-06-03
- 微軟釋出Azure Pipelines,開源專案可無限制使用CI/CD2018-09-24微軟
- go-carbon 1.2.2 版本釋出了,新增時間設定和時間差比較功能2020-10-22Go
- Mac系統解除安裝Paragon NTFS for mac2018-06-21MacGo
- 直播帶貨原始碼,日期時間選擇器 選擇範圍限制2023-02-22原始碼
- 某學院存在資訊洩露及暴力破解漏洞2024-11-25
- 還在用Jenkins?試試Gitlab的CI/CD功能吧2021-10-29JenkinsGitlab
- Linux Centos7 同步伺服器時鐘為北京時間2024-10-30LinuxCentOS伺服器
- centos7的時間同步機制:chrony使用2018-07-13CentOS
- 45%的長期失業者睡眠時間少於7小時,10.7%的人睡眠時間超過10小時。2020-10-12
- 在sqlnet.ora中設定引數限制使用者登入時間2018-08-23SQL
- CI和CD之間的真正區別 -Fire CI2019-12-02
- win7系統下列印ppt時去除列印時間的方法2018-11-11Win7
- Linux如何檢視系統/伺服器的執行時間及啟動時間?2022-03-01Linux伺服器
- windows10系統如何開啟時間線功能2018-10-10Windows
- Open Feign使用方法、等待時間、日誌列印功能2020-10-02