吾愛破解 - LCG - LSG |安卓破解|病毒分析|破解軟件|www.mlqcje.live

 找回密碼
 注冊[Register]

QQ登錄

只需一步,快速開始

搜索
查看: 1075|回復: 15
上一主題 下一主題

[原創] CrackMe第三題追碼+注冊機

[復制鏈接]
跳轉到指定樓層
樓主
growuphappily 發表于 2020-2-17 18:44 回帖獎勵
本帖最后由 growuphappily 于 2020-2-23 19:26 編輯

0x00 前言

最近真的沒有什么帖子好寫了,在無意中發現了這個:
http://www.mlqcje.live/thread-709699-1-1.html
于是我就打算每天做一道CrackMe的題目
第一題:http://www.mlqcje.live/forum.php?mod=viewthread&tid=1107523
第二題:http://www.mlqcje.live/forum.php?mod=viewthread&tid=1107888
第三題:http://www.mlqcje.live/thread-1108487-1-1.html
第四題:http://www.mlqcje.live/thread-1109140-1-1.html
第五題:太變態了,算了
第六題:http://www.mlqcje.live/thread-1111030-1-1.html
第七題:http://www.mlqcje.live/thread-1112318-1-1.html
第八題:http://www.mlqcje.live/thread-1113163-1-1.html
第九題算法:http://www.mlqcje.live/thread-1114003-1-1.html
第九題爆破:http://www.mlqcje.live/thread-1113295-1-1.html
0x01 正文開始

打開程序就看到了一個Nag:
去Nag參考這篇文章:http://www.mlqcje.live/thread-612982-1-1.html
rtcMsgBox斷點
輸入假碼,注冊
(注意這里要輸入數字,不然報錯)
斷下了
在段首下斷,再次注冊
斷下了
貼出第一部分代碼:
這一部分主要是把name長度乘以15B38再加上第一個字符的ASCII再轉換為十進制
[Asm] 純文本查看 復制代碼
004081E3    FF15 18B14000   call dword ptr ds:[<&MSVBVM50.__vbaHresultCh>; MSVBVM50.__vbaHresultCheckObj
004081E9    8B95 50FFFFFF   mov edx,dword ptr ss:[ebp-0xB0]
004081EF    8B45 E4         mov eax,dword ptr ss:[ebp-0x1C]
004081F2    50              push eax
004081F3    8B1A            mov ebx,dword ptr ds:[edx]
004081F5    FF15 F8B04000   call dword ptr ds:[<&MSVBVM50.__vbaLenBstr>] ; MSVBVM50.__vbaLenBstr
004081FB    8BF8            mov edi,eax                                  ; 把edi的值設置為name的長度
004081FD    8B4D E8         mov ecx,dword ptr ss:[ebp-0x18]              ; ecx設置為name
00408200    69FF 385B0100   imul edi,edi,0x15B38                         ; 將edi乘以0x15B38
00408206    51              push ecx
00408207    0F80 B7050000   jo AfKayAs_.004087C4
0040820D    FF15 0CB14000   call dword ptr ds:[<&MSVBVM50.#rtcAnsiValueB>; MSVBVM50.rtcAnsiValueBstr
00408213    0FBFD0          movsx edx,ax                                 ; edx為第一個字符的ASCII碼
00408216    03FA            add edi,edx                                  ; 把edi加上edx
00408218    0F80 A6050000   jo AfKayAs_.004087C4
0040821E    57              push edi                                     ; MSVBVM50.__vbaObjSet
0040821F    FF15 F4B04000   call dword ptr ds:[<&MSVBVM50.__vbaStrI4>]   ; MSVBVM50.__vbaStrI4
00408225    8BD0            mov edx,eax                                  ; edx為edi轉換為十進制之后

這部分和上次差不多
第二部分:
就是把第一部分算出來的值+2
[Asm] 純文本查看 復制代碼
004082E7    8B19            mov ebx,dword ptr ds:[ecx]
004082E9    FF15 74B14000   call dword ptr ds:[<&MSVBVM50.__vbaR8Str>]   ; 把edx壓入浮點寄存器,此時ST0為266713
004082EF    D905 08104000   fld dword ptr ds:[0x401008]                  ; 把10壓入浮點寄存器,此時ST0為10,ST1為266713
004082F5    833D 00904000 0>cmp dword ptr ds:[0x409000],0x0
004082FC    75 08           jnz short AfKayAs_.00408306
004082FE    D835 0C104000   fdiv dword ptr ds:[0x40100C]                 ; 把ST0除以5,此時ST0 = 2
00408304    EB 0B           jmp short AfKayAs_.00408311
00408306    FF35 0C104000   push dword ptr ds:[0x40100C]
0040830C    E8 578DFFFF     call <jmp.&MSVBVM50._adj_fdiv_m32>
00408311    83EC 08         sub esp,0x8                                  ; 把esp減去0x8
00408314    DFE0            fstsw ax
00408316    A8 0D           test al,0xD
00408318    0F85 A1040000   jnz AfKayAs_.004087BF
0040831E    DEC1            faddp st(1),st                               ; 把ST0與ST1相加,推出ST0
00408320    DFE0            fstsw ax

第三部分
這一部分比較簡單,把第二部分算出來的值再乘以3減去2
[Asm] 純文本查看 復制代碼
004083F5    FF15 74B14000   call dword ptr ds:[<&MSVBVM50.__vbaR8Str>]   ; 把edx壓入ST0
004083FB    DC0D 10104000   fmul qword ptr ds:[0x401010]                 ; 把ST0乘以3
00408401    83EC 08         sub esp,0x8
00408404    DC25 18104000   fsub qword ptr ds:[0x401018]                 ; 減去2
0040840A    DFE0            fstsw ax

第四部分
這一部分更簡單了,就是加上15
[Asm] 純文本查看 復制代碼
004084DF    FF15 74B14000   call dword ptr ds:[<&MSVBVM50.__vbaR8Str>]   ; 把第三部分的值壓入ST0
004084E5    DC25 20104000   fsub qword ptr ds:[0x401020]                 ; 減去-15
004084EB    83EC 08         sub esp,0x8
004084EE    DFE0            fstsw ax
004084F0    A8 0D           test al,0xD
004084F2    0F85 C7020000   jnz AfKayAs_.004087BF
004084F8    DD1C24          fstp qword ptr ss:[esp];推出ST0

所以我們可以得到公式:
注冊碼 = (name長度 * 88888 + name第一個字符的ASCII + 2)* 3 - 2 +15
可以寫注冊機了:
[Python] 純文本查看 復制代碼
#KeyGen2
name = input()
key = (len(name) * 88888 + ord(name[0]) + 2) * 3 -2 +15
print(key)

演示圖:

0x03 最后

做這個帖子花費了我不少時間和精力,所以,
評分不要錢!評分不要錢評分不要錢!

免費評分

參與人數 17吾愛幣 +23 熱心值 +12 收起 理由
Hmily + 7 + 1 歡迎分析討論交流,吾愛破解論壇有你更精彩!
1213141 + 1 + 1 用心討論,共獲提升!
木木夕土竟 + 1 日常膜拜大佬
問荊 + 1 + 1 用心討論,共獲提升!
solly + 1 + 1 我很贊同!
heshao123 + 1 + 1 我很贊同!
man666 + 1 + 1 用心討論,共獲提升!
笑己可笑 + 1 用心討論,共獲提升!
clevey + 1 我很贊同!
eden88888 + 1 + 1 我很贊同!
殘劍丶 + 1 歡迎分析討論交流,吾愛破解論壇有你更精彩!
破解者灬祿 + 1 + 1 我很贊同!
moxiaowei + 1 + 1 [email protected]
wasdzjh + 1 + 1 用心討論,共獲提升!
MaoKing + 1 + 1 用心討論,共獲提升!
zhenfengchun + 1 + 1 用心討論,共獲提升!
七個漲停一倍 + 1 [email protected]

查看全部評分

發帖前要善用論壇搜索功能,那里可能會有你要找的答案或者已經有人發布過相同內容了,請勿重復發帖。

推薦
 樓主| growuphappily 發表于 2020-2-18 17:47 <
YenKoc 發表于 2020-2-18 17:11
老哥,我想問,感覺寫注冊機出來,是不是需要對匯編非常非常熟悉,我經常是call跳進去了,一大堆匯編命令, ...

簡單的不太需要,而且一般都是在關鍵的語句上寫注釋,這樣才有助于寫注冊機
有時候可以看函數的返回值來確定這個函數是什么意思
比如說:在call一個call之前,push了一個字符串,然后返回了一個數字,這個數值又是字符串的長度,
這樣就可以看出這個cal就是計算字符串的長度
如果push了注冊碼和賬號,返回值是1或0,那么這個call很可能是驗證注冊碼的call
還有很多,我就不一一說了
推薦
YenKoc 發表于 2020-2-18 17:11
老哥,我想問,感覺寫注冊機出來,是不是需要對匯編非常非常熟悉,我經常是call跳進去了,一大堆匯編命令,能知道啥意思,但是組合起來,得不出這函數是啥意思,能解答一下嗎
沙發
七個漲停一倍 發表于 2020-2-17 19:07
3#
amovokiss 發表于 2020-2-17 19:28
好好學習下
4#
qwert0312 發表于 2020-2-17 20:32
那個開機畫面可以去掉嗎?我搞不定
5#
 樓主| growuphappily 發表于 2020-2-17 20:45 <
qwert0312 發表于 2020-2-17 20:32
那個開機畫面可以去掉嗎?我搞不定

可以,參考這篇:http://www.mlqcje.live/thread-612982-1-1.html
6#
moxiaowei 發表于 2020-2-17 22:18
這個可以爆破嗎?
7#
定南吳彥祖 發表于 2020-2-17 23:53
非常有用,感謝分享
8#
 樓主| growuphappily 發表于 2020-2-18 07:48 <
moxiaowei 發表于 2020-2-17 22:18
這個可以爆破嗎?

可以,我主要是寫的注冊機  
9#
ioajp 發表于 2020-2-18 08:03
學習學習。好技術。
10#
eden88888 發表于 2020-2-18 08:41
墨水喝的少看不懂哈支持一下
您需要登錄后才可以回帖 登錄 | 注冊[Register]

本版積分規則 警告:本版塊禁止灌水或回復與主題無關內容,違者重罰!

快速回復 收藏帖子 返回列表 搜索

RSS訂閱|小黑屋|聯系我們|吾愛破解 - LCG - LSG ( 京ICP備16042023號 | 京公網安備 11010502030087號 )

GMT+8, 2020-4-8 07:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表
内蒙古11选5开奖查询百度 河北11选5今天开 四川宜宾麻将下载 河南11选5开奖走势图 微乐贵阳捉鸡麻将下 lpl全球总决赛冠 辽宁11选5基本走 浙江20选5走势风釆 红太阳配资 打牌网安顺捉鸡麻将下载安装 好运南京麻将 云南快乐十分一定牛开奖结果. 黑龙江p62福彩 旺能环境股票吧 辽宁十一选五中奖规则 七乐彩近一百期开奖号码 四川快乐12任五走