錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務,錦州廣廈維修電腦,公司IT外包服務
topFlag1 設為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務項目 服務報價 維修流程 IT外包服務 服務器維護 技術文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務技術文章
[原創] 澤文堂天心正運內存注冊機及劫持patch

作者: lmze2000  日期:2017-05-19 07:47:53   來源: 本站整理

 澤文堂天心正運內存注冊機及劫持patch

0x01、初步分析
前段時間學習了南方系列的注冊算法,這次給大家帶來了澤文堂的天心正運圖軟件,PEID掃描,是Delphi無殼的。降低了一半的難度。
通過運行軟件,得知在沒有注冊的時候,會限制時間在2016-12-31日,之后的日期無法進行推演。同時該款軟件是KeyFile的注冊模式。
軟件通過讀取zwtsoft.ini的注冊信息完成注冊。


 


0x02、注冊分析
由于知道是通過KeyFile來進行注冊,我們搜索字符串,找到zwtsoft.ini處下斷點,也可以下讀取、創建文件的api斷點。
 

[Asm] 純文本查看 復制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
0051AFB1    BA 58B25100     mov edx,CrackZWT.0051B258               ; zwtsoft.ini
0051AFB6    E8 6D9AEEFF     call CrackZWT.00404A28
0051AFBB    8B4D FC         mov ecx,dword ptr ss:[ebp-0x4]
0051AFBE    B2 01           mov dl,0x1
0051AFC0    A1 C8134400     mov eax,dword ptr ds:[0x4413C8]
0051AFC5    E8 AE64F2FF     call CrackZWT.00441478
0051AFCA    A3 C8995200     mov dword ptr ds:[0x5299C8],eax
0051AFCF    8D55 F4         lea edx,dword ptr ss:[ebp-0xC]
0051AFD2    B8 6CB25100     mov eax,CrackZWT.0051B26C               ; ID1
0051AFD7    E8 A0FBFFFF     call CrackZWT.0051AB7C                  ; 這是讀ini的ID1,一會修改里面的內容,。。。
0051AFDC    8B45 F4         mov eax,dword ptr ss:[ebp-0xC]
0051AFDF    50              push eax
0051AFE0    8D45 F0         lea eax,dword ptr ss:[ebp-0x10]
0051AFE3    E8 7868F6FF     call CrackZWT.00481860                  ; ID2讀取
0051AFE8    8B55 F0         mov edx,dword ptr ss:[ebp-0x10]
0051AFEB    58              pop eax
0051AFEC    E8 4BFCFFFF     call CrackZWT.0051AC3C                  ; 關鍵算法Call.....Call里面有大量的計算及斷點
0051AFF1    8BD0            mov edx,eax
0051AFF3    8B03            mov eax,dword ptr ds:[ebx]




機器碼的長度為6段24位長度,
 

[Asm] 純文本查看 復制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
0051A98C    55              push ebp                                ; 這個Call的段首,,在此Call中,開始注冊碼的相關計算工作。重點關注。
0051A98D    8BEC            mov ebp,esp
0051A98F    83C4 9C         add esp,-0x64
0051A992    53              push ebx
0051A993    33C9            xor ecx,ecx
0051A995    894D 9C         mov dword ptr ss:[ebp-0x64],ecx
0051A998    894D A0         mov dword ptr ss:[ebp-0x60],ecx
0051A99B    8BDA            mov ebx,edx
0051A99D    8945 FC         mov dword ptr ss:[ebp-0x4],eax
0051A9A0    8B45 FC         mov eax,dword ptr ss:[ebp-0x4]
0051A9A3    E8 68A2EEFF     call CrackZWT.00404C10
0051A9A8    33C0            xor eax,eax
0051A9AA    55              push ebp
0051A9AB    68 27AA5100     push CrackZWT.0051AA27
0051A9B0    64:FF30         push dword ptr fs:[eax]
0051A9B3    64:8920         mov dword ptr fs:[eax],esp
0051A9B6    8D45 A4         lea eax,dword ptr ss:[ebp-0x5C]
0051A9B9    E8 A6FEFFFF     call CrackZWT.0051A864
0051A9BE    8D45 A0         lea eax,dword ptr ss:[ebp-0x60]
0051A9C1    B9 3CAA5100     mov ecx,CrackZWT.0051AA3C               ; gxcwljnxz
0051A9C6    8B55 FC         mov edx,dword ptr ss:[ebp-0x4]
0051A9C9    E8 9EA0EEFF     call CrackZWT.00404A6C
0051A9CE    8B45 A0         mov eax,dword ptr ss:[ebp-0x60]
0051A9D1    E8 4AA0EEFF     call CrackZWT.00404A20                  ; 404A20Call是取長度的
0051A9D6    50              push eax
0051A9D7    8D45 9C         lea eax,dword ptr ss:[ebp-0x64]
0051A9DA    B9 50AA5100     mov ecx,CrackZWT.0051AA50               ; 澤文堂易學軟件
0051A9DF    8B55 FC         mov edx,dword ptr ss:[ebp-0x4]
0051A9E2    E8 85A0EEFF     call CrackZWT.00404A6C                  ; 該Call拼接注冊碼與用戶名
0051A9E7    8B45 9C         mov eax,dword ptr ss:[ebp-0x64]
0051A9EA    E8 31A2EEFF     call CrackZWT.00404C20
0051A9EF    8BD0            mov edx,eax
0051A9F1    8D45 A4         lea eax,dword ptr ss:[ebp-0x5C]
0051A9F4    59              pop ecx
0051A9F5    E8 9EFEFFFF     call CrackZWT.0051A898                  ; 明白了,是用0x26的長度截取0x2B的固定長度
0051A9FA    8BD3            mov edx,ebx                             ; 0003-06C3-BFEB-FBFF-7FDA-FBBF澤文堂易學軟件!!!取這個的0x26的長度
0051A9FC    8D45 A4         lea eax,dword ptr ss:[ebp-0x5C]
0051A9FF    E8 14FFFFFF     call CrackZWT.0051A918                  ; 這里注冊碼出來了。。。跟進去




在上面的Call中,將機器碼與固定字符串"澤文堂易學軟件"、“gxcwljnxz”分別進行拼接。
 

[Asm] 純文本查看 復制代碼
1
2
EBP-13E7AC 0018FCAC            002CE458  ASCII "0003-06C3-BFEB-FBFF-7FDA-FBBF澤文堂易學軟件"                長度:0x2b
EBP-13E7A8 0018FCB0            002BA0A8  ASCII "0003-06C3-BFEB-FBFF-7FDA-FBBFgxcwljnxz"                        長度:0x26


 

[Asm] 純文本查看 復制代碼
1
2
3
0018FCC4                          30 30 30 33 2D 30 36 43          0003-06C
0018FCD4  33 2D 42 46 45 42 2D 46 42 46 46 2D 37 46 44 41  3-BFEB-FBFF-7FDA
0018FCE4  2D 46 42 42 46 D4 F3 CE C4 CC C3 D2 D7 D1        -FBBF澤文堂易?.



同時使用用字串2的長度截取字串1的ASC碼。

[Asm] 純文本查看 復制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
0051A898    53              push ebx                                ; 注冊碼前身:
0051A899    56              push esi
0051A89A    57              push edi
0051A89B    55              push ebp
0051A89C    8BF9            mov edi,ecx
0051A89E    8BEA            mov ebp,edx
0051A8A0    8BF0            mov esi,eax
0051A8A2    8B46 10         mov eax,dword ptr ds:[esi+0x10]
0051A8A5    C1E8 03         shr eax,0x3
0051A8A8    83E0 3F         and eax,0x3F
0051A8AB    8BD7            mov edx,edi                             ; 機器碼+9gxcwljnxz位長度:0x26
0051A8AD    C1E2 03         shl edx,0x3                             ; 長度左移0x3位,相當于長度*2^3次方,
0051A8B0    0156 10         add dword ptr ds:[esi+0x10],edx         ; 0x18FCC4地址保存計算結果,!!第2次計算過來,累計求和
0051A8B3    3B56 10         cmp edx,dword ptr ds:[esi+0x10]
0051A8B6    76 03           jbe short CrackZWT.0051A8BB
0051A8B8    FF46 14         inc dword ptr ds:[esi+0x14]
0051A8BB    8BD7            mov edx,edi                             ; 將長度重新初始化Edx,繼續位移操作
0051A8BD    C1EA 1D         shr edx,0x1D                            ; 執行右移操作,0x1d
0051A8C0    0156 14         add dword ptr ds:[esi+0x14],edx         ; 開始新的Dword空間保存edx的值
0051A8C3    BB 40000000     mov ebx,0x40                            ; EBx賦值0x40///0d64
0051A8C8    2BD8            sub ebx,eax
0051A8CA    3BDF            cmp ebx,edi
0051A8CC    77 32           ja short CrackZWT.0051A900
0051A8CE    8D4406 18       lea eax,dword ptr ds:[esi+eax+0x18]
0051A8D2    8BCB            mov ecx,ebx
0051A8D4    8BD5            mov edx,ebp
0051A8D6    E8 25D1EEFF     call CrackZWT.00407A00                  ; 此Call作用是交換EAX,EDX
0051A8DB    8BD6            mov edx,esi
0051A8DD    8D46 18         lea eax,dword ptr ds:[esi+0x18]         ; 將機器碼與澤文黨的地址傳給EAX
0051A8E0    E8 4FF8FFFF     call CrackZWT.0051A134
0051A8E5    EB 0E           jmp short CrackZWT.0051A8F5
0051A8E7    8BD6            mov edx,esi
0051A8E9    8D441D 00       lea eax,dword ptr ss:[ebp+ebx]
0051A8ED    E8 42F8FFFF     call CrackZWT.0051A134
0051A8F2    83C3 40         add ebx,0x40
0051A8F5    8D43 3F         lea eax,dword ptr ds:[ebx+0x3F]
0051A8F8    3BF8            cmp edi,eax
0051A8FA  ^ 77 EB           ja short CrackZWT.0051A8E7
0051A8FC    33C0            xor eax,eax
0051A8FE    EB 02           jmp short CrackZWT.0051A902
0051A900    33DB            xor ebx,ebx
0051A902    8D4406 18       lea eax,dword ptr ds:[esi+eax+0x18]     ; ESi+eax*0x18,,0x18其中0x10=0123456789ABCDEFFEDCBA9876543210,,0x8的內容為,上段計算的左移與右移的數據。0x130/0x0
0051A906    8BCF            mov ecx,edi
0051A908    2BCB            sub ecx,ebx
0051A90A    8D541D 00       lea edx,dword ptr ss:[ebp+ebx]
0051A90E    E8 EDD0EEFF     call CrackZWT.00407A00


 

[Asm] 純文本查看 復制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
0051A0F8    56              push esi                                ; 出注冊碼的段首,,計算過程,還得要前溯
0051A0F9    8BF0            mov esi,eax
0051A0FB    8BC2            mov eax,edx
0051A0FD    8BD1            mov edx,ecx                             ; 壓參數0x2到Edx,Ecx做臨時變量使用!
0051A0FF    85D2            test edx,edx
0051A101    76 2F           jbe short CrackZWT.0051A132             ; 計算體
0051A103    8A0E            mov cl,byte ptr ds:[esi]                ; 從0x18fcc4+0x8,開始取數,進行and cl,0xff操作
0051A105    80E1 FF         and cl,0xFF
0051A108    8808            mov byte ptr ds:[eax],cl                ; 明白EAX中的0x18fc88的作用,是保存臨時結果的。
0051A10A    40              inc eax
0051A10B    8B0E            mov ecx,dword ptr ds:[esi]              ; 取Esi0x18fcc4,第一次是Byte,之后是Dword,4字
0051A10D    C1E9 08         shr ecx,0x8                             ; 右移0x8位,=1
0051A110    80E1 FF         and cl,0xFF                             ; and cl,0xff,,=1
0051A113    8808            mov byte ptr ds:[eax],cl
0051A115    40              inc eax
0051A116    8B0E            mov ecx,dword ptr ds:[esi]              ; 第3次取ESi,
0051A118    C1E9 10         shr ecx,0x10                            ; 右移0x10位,,ECx=0,,,,
0051A11B    80E1 FF         and cl,0xFF
0051A11E    8808            mov byte ptr ds:[eax],cl
0051A120    40              inc eax
0051A121    8B0E            mov ecx,dword ptr ds:[esi]
0051A123    C1E9 18         shr ecx,0x18                            ; 右移0x18位,,,
0051A126    80E1 FF         and cl,0xFF                             ; and cl,0xff,,,
0051A129    8808            mov byte ptr ds:[eax],cl
0051A12B    40              inc eax
0051A12C    83C6 04         add esi,0x4                             ; Esi+0x4,,,將偏移轉到0x18fcc4+0x4位置。
0051A12F    4A              dec edx
0051A130  ^ 75 D1           jnz short CrackZWT.0051A103
0051A132    5E              pop esi




在此處進行3輪的循環,用來生成最終的注冊碼。跟蹤的太累,直接找到計算完成后的地址,
 

[Asm] 純文本查看 復制代碼
1
2
3
4
0051AC72    E8 3D000000     call CrackZWT.0051ACB4                  ; 這個call有計算過程。
0051AC77    8B55 F4         mov edx,dword ptr ss:[ebp-0xC]
0051AC7A    8B45 FC         mov eax,dword ptr ss:[ebp-0x4]
0051AC7D    E8 EA9EEEFF     call CrackZWT.00404B6C                  ; 定義為關鍵的Call




直接在此處51AC7A這里截取EDX中的內存,即為注冊碼。


 


0x03、注冊信息


將爆出的注冊碼寫進zwtsoft.ini中的ID1=后面的地方,Local=是你注冊的用戶名。可自行修改。
先生成注冊用的zwtsoft.ini文件,然后把內存注冊機生成的注冊碼保存進ini文件即可!

[Asm] 純文本查看 復制代碼
1
2
3
4
5
[zwtsoft]
Local=Lmze2000
User=澤文堂
ID1=43562ea3-75617234-40821625-55d047c2
ID2=0003-06C3-BFEB-FBFF-7FDA-FBBF



 


 



 




熱門文章
  • 機械革命S1 PRO-02 開機不顯示 黑...
  • 聯想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數和判...
  • IIS 8 開啟 GZIP壓縮來減少網絡請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅動時提示不包含數字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統快速共享打印機的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務區域: 遼寧錦州市區
    主要業務: 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網設置,IT服務外包,局域網組建,ADSL共享上網,路由器設置,數據恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    主站蜘蛛池模板: 国产真人无码作爱免费视频| 免费一区二区无码东京热| 久久亚洲精品AB无码播放| 色噜噜综合亚洲av中文无码| 一本色道无码道DVD在线观看| 成人免费无码大片a毛片软件| 中文字幕无码无码专区| 色欲aⅴ亚洲情无码AV蜜桃| 中文字幕丰满乱子无码视频| 亚洲av永久无码天堂网| 日韩网红少妇无码视频香港| 国产精品va无码免费麻豆| 无码人妻精品中文字幕免费| 亚洲中文字幕无码爆乳av中文| 中文字幕无码亚洲欧洲日韩| 国产午夜无码精品免费看| 无码国模国产在线无码精品国产自在久国产 | 伊人久久精品无码二区麻豆| 少妇特殊按摩高潮惨叫无码| 久久亚洲AV成人无码| 少妇人妻无码专区视频| 亚洲综合无码AV一区二区| 中文无码精品一区二区三区| 乱人伦人妻中文字幕无码久久网 | 国产午夜无码专区喷水| 老司机无码精品A| 爆乳无码AV一区二区三区| 亚洲AV无码专区亚洲AV桃| 亚洲中文字幕无码av在线| 无码精品A∨在线观看中文| 无码国产伦一区二区三区视频| 亚洲一区精品无码| 亚洲AV永久无码精品| 精品无码AV无码免费专区| 亚洲av福利无码无一区二区| 久久亚洲精品无码aⅴ大香| 中文无码热在线视频| 蜜臀亚洲AV无码精品国产午夜. | 亚洲永久无码3D动漫一区| 无码AV天堂一区二区三区| 精品无码久久久久久午夜|