吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 54380|回复: 56
收起左侧

[原创] 一款智能门锁软件的破解。

  [复制链接]
隐藏英雄 发表于 2014-12-14 19:17
本帖最后由 隐藏英雄 于 2016-12-25 17:11 编辑

由于一朋友把一款门锁软件的授权卡丢失。找不到厂价售后,所以我本着为人民服务的态度逆向了这款软件,仅做测试与学习,并不用于商业用途。所以。。。
具体分析步骤如下。
首先安装好程序,对主程序进行查壳。是一款由delphi编写的程序。没有加壳。
然后我们载入OD,进行分析。搜索关键词后发现都是一些没用的信息。如下图。
到这里我们只能通过其他方法继续了,果断采用F12暂停法。结果发现找到的是通用按钮事件,会断掉很多按钮,并不是我们要的注册按钮事件。如下图
通过下查找#740E8BD38B83????????FF93????????#地址,反复使用ATRL+L来下断检测发现非常累而且每找到。
所以我们还得通过其他方法来解决此问题。首先考虑到程序是用delphi编写的,这样的话我们可以通过DEDE来查找按钮事件的关键CALL,于是用DEDE加载程序查看过程如下图。(Button1 此类事件即为按钮事件)
发现单元很多,按钮也很多。找了一会感觉太繁琐。点到窗体看了一下。如下图
看了几个窗体发现了相关东西,通过模块名。在过程中找到了关键按钮地址。如上面过程图片。中的btnregclick地址。在OD中来到此发现代码如下

[Asm] 纯文本查看 复制代码
005CE7F0 . E8 3778ECFF call PCloudLo.0049602C
005CE7F5 . C3 retn
005CE7F6 8BC0 mov eax,eax
005CE7F8 /. 55 push ebp
005CE7F9 |. 8BEC mov ebp,esp
005CE7FB |. B9 0C000000 mov ecx,0xC
005CE800 |> 6A 00 /push 0x0
005CE802 |. 6A 00 |push 0x0
005CE804 |. 49 |dec ecx
005CE805 |.^ 75 F9 \jnz XPCloudLo.005CE800
005CE807 |. 53 push ebx
005CE808 |. 56 push esi
005CE809 |. 57 push edi
005CE80A |. 8BD8 mov ebx,eax
005CE80C |. 33C0 xor eax,eax
005CE80E |. 55 push ebp
005CE80F |. 68 84EB5C00 push PCloudLo.005CEB84
005CE814 |. 64:FF30 push dword ptr fs:[eax]
005CE817 |. 64:8920 mov dword ptr fs:[eax],esp
005CE81A |. FF83 30030000 inc dword ptr ds:[ebx+0x330]

在005CE7F8处下断发现确实可以断下注册按钮,而且不影响到其他按钮事件。
于是往下看许多条件跳转,许多CALL,许多强制跳转(这些强制跳转都跳到了同一地址)。结果分析各个CALL,最终找到了注册成功的信息。上面许多验证CALL包括了。序列号检测,时间检测,注册码检测等等。同时有试用版注册成功,正式版注册成功等,如下图。

最终用一个jmp直接跳到试用版版注册成功,同时nop掉下面的跳转即完成了爆破任务。
具体代码如下:

[Asm] 纯文本查看 复制代码
005CE7F0   .  E8 3778ECFF   call PCloudLo.0049602C
005CE7F5   .  C3            retn
005CE7F6      8BC0          mov eax,eax
005CE7F8  /.  55            push ebp
005CE7F9  |.  8BEC          mov ebp,esp
005CE7FB  |.  B9 0C000000   mov ecx,0xC
005CE800  |>  6A 00         /push 0x0
005CE802  |.  6A 00         |push 0x0
005CE804  |.  49            |dec ecx
005CE805  |.^ 75 F9         \jnz XPCloudLo.005CE800
005CE807  |.  53            push ebx
005CE808  |.  56            push esi
005CE809  |.  57            push edi
005CE80A  |.  8BD8          mov ebx,eax
005CE80C  |.  33C0          xor eax,eax
005CE80E  |.  55            push ebp
005CE80F  |.  68 84EB5C00   push PCloudLo.005CEB84
005CE814  |.  64:FF30       push dword ptr fs:[eax]
005CE817  |.  64:8920       mov dword ptr fs:[eax],esp
005CE81A  |.  FF83 30030000 inc dword ptr ds:[ebx+0x330]
005CE820  |.  83BB 30030000>cmp dword ptr ds:[ebx+0x330],0x3
005CE827      7E 21         jle XPCloudLo.005CE84A                   ;  不大于3时转移到 005ce84a
005CE829      8D45 E8       lea eax,dword ptr ss:[ebp-0x18]
005CE82C  |.  8B15 F88F5D00 mov edx,dword ptr ds:[0x5D8FF8]          ;  PCloudLo.005DAEA0
005CE832  |.  81C2 F98A0000 add edx,0x8AF9
005CE838  |.  E8 435EE3FF   call PCloudLo.00404680                   ;  小于等于3则跳,大于则CLL连续3次错误,重新读取授权卡
005CE83D  |.  8B45 E8       mov eax,[local.6]
005CE840  |.  E8 87CAE6FF   call PCloudLo.0043B2CC
005CE845  |.  E9 ED020000   jmp PCloudLo.005CEB37
005CE84A  |>  8D55 E4       lea edx,[local.7]
005CE84D  |.  A1 20945D00   mov eax,dword ptr ds:[0x5D9420]
005CE852  |.  8B00          mov eax,dword ptr ds:[eax]
005CE854  |.  E8 9FA7E3FF   call PCloudLo.00408FF8                   ;  检测是否读过授权卡
005CE859  |.  837D E4 00    cmp [local.7],0x0
005CE85D      75 21         jnz XPCloudLo.005CE880
005CE85F  |.  8D45 E0       lea eax,[local.8]
005CE862  |.  8B15 F88F5D00 mov edx,dword ptr ds:[0x5D8FF8]          ;  PCloudLo.005DAEA0
005CE868  |.  81C2 C28B0000 add edx,0x8BC2
005CE86E  |.  E8 0D5EE3FF   call PCloudLo.00404680                   ;  没有读授权卡无法得到序列号
005CE873  |.  8B45 E0       mov eax,[local.8]
005CE876  |.  E8 51CAE6FF   call PCloudLo.0043B2CC
005CE87B  |.  E9 B7020000   jmp PCloudLo.005CEB37
005CE880  |>  8D55 D8       lea edx,[local.10]
005CE883  |.  8B83 10030000 mov eax,dword ptr ds:[ebx+0x310]
005CE889  |.  E8 169CEAFF   call PCloudLo.004784A4
005CE88E  |.  8B45 D8       mov eax,[local.10]
005CE891  |.  8D55 DC       lea edx,[local.9]
005CE894  |.  E8 5FA7E3FF   call PCloudLo.00408FF8
005CE899  |.  837D DC 00    cmp [local.9],0x0
005CE89D      75 21         jnz XPCloudLo.005CE8C0
005CE89F  |.  8D45 D4       lea eax,[local.11]
005CE8A2  |.  8B15 F88F5D00 mov edx,dword ptr ds:[0x5D8FF8]          ;  PCloudLo.005DAEA0
005CE8A8  |.  81C2 8B8C0000 add edx,0x8C8B
005CE8AE  |.  E8 CD5DE3FF   call PCloudLo.00404680                   ;  没有检测到输入的注册码,提示输入注册码
005CE8B3  |.  8B45 D4       mov eax,[local.11]
005CE8B6  |.  E8 11CAE6FF   call PCloudLo.0043B2CC
005CE8BB  |.  E9 77020000   jmp PCloudLo.005CEB37
005CE8C0  |>  E8 639BFBFF   call PCloudLo.00588428
005CE8C5  |.  84C0          test al,al
005CE8C7      75 21         jnz XPCloudLo.005CE8EA
005CE8C9  |.  8D45 D0       lea eax,[local.12]
005CE8CC  |.  8B15 F88F5D00 mov edx,dword ptr ds:[0x5D8FF8]          ;  PCloudLo.005DAEA0
005CE8D2  |.  81C2 96B40000 add edx,0xB496
005CE8D8  |.  E8 A35DE3FF   call PCloudLo.00404680                   ;  检测本地时间是否错误
005CE8DD  |.  8B45 D0       mov eax,[local.12]
005CE8E0  |.  E8 E7C9E6FF   call PCloudLo.0043B2CC
005CE8E5  |.  E9 4D020000   jmp PCloudLo.005CEB37
005CE8EA  |>  E8 99CEE3FF   call PCloudLo.0040B788
005CE8EF  |.  83C4 F8       add esp,-0x8
005CE8F2  |.  DD1C24        fstp qword ptr ss:[esp]
005CE8F5  |.  9B            wait
005CE8F6  |.  B8 9CEB5C00   mov eax,PCloudLo.005CEB9C                ;  Index
005CE8FB  |.  E8 089AFBFF   call PCloudLo.00588308
005CE900  |.  8D55 EC       lea edx,[local.5]
005CE903  |.  B8 ACEB5C00   mov eax,PCloudLo.005CEBAC                ;  CurrReaderInfoEx1
005CE908  |.  E8 078EFBFF   call PCloudLo.00587714
005CE90D  |.  8D55 CC       lea edx,[local.13]
005CE910  |.  8B83 10030000 mov eax,dword ptr ds:[ebx+0x310]
005CE916  |.  E8 899BEAFF   call PCloudLo.004784A4
005CE91B  |.  8B45 CC       mov eax,[local.13]
005CE91E  |.  8B55 EC       mov edx,[local.5]
005CE921  |.  E8 025FE3FF   call PCloudLo.00404828
005CE926      75 21         jnz XPCloudLo.005CE949
005CE928  |.  8D45 C8       lea eax,[local.14]
005CE92B  |.  8B15 F88F5D00 mov edx,dword ptr ds:[0x5D8FF8]          ;  PCloudLo.005DAEA0
005CE931  |.  81C2 AF8F0000 add edx,0x8FAF
005CE937  |.  E8 445DE3FF   call PCloudLo.00404680                   ;  注册失败
005CE93C  |.  8B45 C8       mov eax,[local.14]
005CE93F  |.  E8 88C9E6FF   call PCloudLo.0043B2CC
005CE944  |.  E9 EE010000   jmp PCloudLo.005CEB37
005CE949  |>  33C0          xor eax,eax
005CE94B  |.  8945 F8       mov [local.2],eax
005CE94E  |.  B8 C8EB5C00   mov eax,PCloudLo.005CEBC8                ;  CurrReaderInfo
005CE953  |.  E8 2C8FFBFF   call PCloudLo.00587884
005CE958  |.  8BF0          mov esi,eax
005CE95A  |.  8D4D FC       lea ecx,[local.1]
005CE95D  |.  8D55 F8       lea edx,[local.2]
005CE960  |.  8BC3          mov eax,ebx
005CE962  |.  E8 A9020000   call PCloudLo.005CEC10
005CE967  |.  84C0          test al,al
005CE969      75 21         jnz XPCloudLo.005CE98C
005CE96B  |.  8D45 C4       lea eax,[local.15]
005CE96E  |.  8B15 F88F5D00 mov edx,dword ptr ds:[0x5D8FF8]          ;  PCloudLo.005DAEA0
005CE974  |.  81C2 E68E0000 add edx,0x8EE6
005CE97A  |.  E8 015DE3FF   call PCloudLo.00404680                   ;  注册码错误
005CE97F  |.  8B45 C4       mov eax,[local.15]
005CE982  |.  E8 45C9E6FF   call PCloudLo.0043B2CC
005CE987  |.  E9 AB010000   jmp PCloudLo.005CEB37
005CE98C  |>  3B75 FC       cmp esi,[local.1]
005CE98F      74 21         je XPCloudLo.005CE9B2
005CE991  |.  8D45 C0       lea eax,[local.16]
005CE994  |.  8B15 F88F5D00 mov edx,dword ptr ds:[0x5D8FF8]          ;  PCloudLo.005DAEA0
005CE99A  |.  81C2 E68E0000 add edx,0x8EE6
005CE9A0  |.  E8 DB5CE3FF   call PCloudLo.00404680
005CE9A5  |.  8B45 C0       mov eax,[local.16]
005CE9A8  |.  E8 1FC9E6FF   call PCloudLo.0043B2CC
005CE9AD  |.  E9 85010000   jmp PCloudLo.005CEB37
005CE9B2  |>  E8 71CDE3FF   call PCloudLo.0040B728
005CE9B7  |.  83C4 F8       add esp,-0x8
005CE9BA  |.  DD1C24        fstp qword ptr ss:[esp]
005CE9BD  |.  9B            wait
005CE9BE  |.  8B45 F8       mov eax,[local.2]
005CE9C1  |.  E8 D2CEECFF   call PCloudLo.0049B898                   ;  试用版注册成功
005CE9C6  |.  E8 AD42E3FF   call PCloudLo.00402C78
005CE9CB  |.  8BF0          mov esi,eax
005CE9CD  |.  C1EE 10       shr esi,0x10
005CE9D0  |.  8BF8          mov edi,eax
005CE9D2  |.  81E7 FFFF0000 and edi,0xFFFF
005CE9D8  |.  E8 DF41E3FF   call PCloudLo.00402BBC
005CE9DD  |.  B8 FEFFFF7F   mov eax,0x7FFFFFFE
005CE9E2  |.  E8 E944E3FF   call PCloudLo.00402ED0
005CE9E7  |.  8BD0          mov edx,eax
005CE9E9  |.  C1EA 10       shr edx,0x10
005CE9EC  |.  25 FFFF0000   and eax,0xFFFF
005CE9F1  |.  8945 F4       mov [local.3],eax
005CE9F4  |.  8BCF          mov ecx,edi
005CE9F6  |.  C1E1 10       shl ecx,0x10
005CE9F9  |.  03CA          add ecx,edx
005CE9FB  |.  8B7D F4       mov edi,[local.3]
005CE9FE  |.  C1E7 10       shl edi,0x10
005CEA01  |.  03FE          add edi,esi
005CEA03  |.  8BC1          mov eax,ecx
005CEA05  |.  33D2          xor edx,edx
005CEA07  |.  52            push edx
005CEA08  |.  50            push eax
005CEA09  |.  E8 7E9BFBFF   call <jmp.&PYHDKey2004.ReSore>
005CEA0E  |.  8BF0          mov esi,eax
005CEA10  |.  8BC7          mov eax,edi
005CEA12  |.  33D2          xor edx,edx
005CEA14  |.  52            push edx
005CEA15  |.  50            push eax
005CEA16  |.  E8 719BFBFF   call <jmp.&PYHDKey2004.ReSore>
005CEA1B  |.  8BF8          mov edi,eax
005CEA1D  |.  8BC7          mov eax,edi
005CEA1F  |.  33D2          xor edx,edx
005CEA21   .  52            push edx
005CEA22   .  50            push eax
005CEA23   .  8D55 B8       lea edx,dword ptr ss:[ebp-0x48]
005CEA26   .  33C0          xor eax,eax
005CEA28   .  E8 93ABE3FF   call PCloudLo.004095C0
005CEA2D   .  8B45 B8       mov eax,dword ptr ss:[ebp-0x48]
005CEA30   .  8D4D BC       lea ecx,dword ptr ss:[ebp-0x44]
005CEA33   .  BA 08000000   mov edx,0x8
005CEA38   .  E8 5382FBFF   call PCloudLo.00586C90
005CEA3D   .  8B45 BC       mov eax,dword ptr ss:[ebp-0x44]
005CEA40   .  50            push eax
005CEA41   .  8BC6          mov eax,esi
005CEA43   .  33D2          xor edx,edx
005CEA45   .  52            push edx
005CEA46   .  50            push eax
005CEA47   .  8D55 B0       lea edx,dword ptr ss:[ebp-0x50]
005CEA4A   .  33C0          xor eax,eax
005CEA4C   .  E8 6FABE3FF   call PCloudLo.004095C0
005CEA51   .  8B45 B0       mov eax,dword ptr ss:[ebp-0x50]
005CEA54   .  8D4D B4       lea ecx,dword ptr ss:[ebp-0x4C]
005CEA57   .  BA 08000000   mov edx,0x8
005CEA5C   .  E8 2F82FBFF   call PCloudLo.00586C90
005CEA61   .  8B55 B4       mov edx,dword ptr ss:[ebp-0x4C]
005CEA64   .  8D45 F0       lea eax,dword ptr ss:[ebp-0x10]
005CEA67   .  59            pop ecx
005CEA68   .  E8 BB5CE3FF   call PCloudLo.00404728
005CEA6D   .  817D F8 70010>cmp dword ptr ss:[ebp-0x8],0x170
005CEA74      EB 2A         jmp XPCloudLo.005CEAA0
005CEA76   .  817D F8 85010>cmp dword ptr ss:[ebp-0x8],0x185
005CEA7D   .  74 21         je XPCloudLo.005CEAA0
005CEA7F   .  8D45 AC       lea eax,dword ptr ss:[ebp-0x54]
005CEA82   .  8B15 F88F5D00 mov edx,dword ptr ds:[0x5D8FF8]          ;  PCloudLo.005DAEA0
005CEA88   .  81C2 AF8F0000 add edx,0x8FAF
005CEA8E   .  E8 ED5BE3FF   call PCloudLo.00404680
005CEA93   .  8B45 AC       mov eax,dword ptr ss:[ebp-0x54]
005CEA96   .  E8 31C8E6FF   call PCloudLo.0043B2CC
005CEA9B   .  E9 97000000   jmp PCloudLo.005CEB37
005CEAA0   >  817D F8 70010>cmp dword ptr ss:[ebp-0x8],0x170
005CEAA7      EB 1C         jmp XPCloudLo.005CEAC5
005CEAA9   .  8D45 A8       lea eax,dword ptr ss:[ebp-0x58]
005CEAAC   .  8B15 F88F5D00 mov edx,dword ptr ds:[0x5D8FF8]          ;  PCloudLo.005DAEA0
005CEAB2   .  81C2 78900000 add edx,0x9078
005CEAB8   .  E8 C35BE3FF   call PCloudLo.00404680
005CEABD   .  8B45 A8       mov eax,dword ptr ss:[ebp-0x58]
005CEAC0   .  E8 07C8E6FF   call PCloudLo.0043B2CC                   ;  试用版注册成功
005CEAC5   >  817D F8 85010>cmp dword ptr ss:[ebp-0x8],0x185
005CEACC      90            nop
005CEACD      90            nop
005CEACE   .  33C0          xor eax,eax
005CEAD0   .  8983 30030000 mov dword ptr ds:[ebx+0x330],eax
005CEAD6   .  BA E0EB5C00   mov edx,PCloudLo.005CEBE0                ;  ASCII "2007"
005CEADB   .  B8 F0EB5C00   mov eax,PCloudLo.005CEBF0                ;  ASCII "sum"
005CEAE0   .  E8 1B8FFBFF   call PCloudLo.00587A00
005CEAE5   .  8D45 A4       lea eax,dword ptr ss:[ebp-0x5C]
005CEAE8   .  8B15 F88F5D00 mov edx,dword ptr ds:[0x5D8FF8]          ;  PCloudLo.005DAEA0
005CEAEE   .  81C2 41910000 add edx,0x9141
005CEAF4   .  E8 875BE3FF   call PCloudLo.00404680
005CEAF9   .  8B45 A4       mov eax,dword ptr ss:[ebp-0x5C]
005CEAFC   .  E8 CBC7E6FF   call PCloudLo.0043B2CC                   ;  正式版注册成功
005CEB01   >  8B55 F0       mov edx,dword ptr ss:[ebp-0x10]
005CEB04   .  B8 FCEB5C00   mov eax,PCloudLo.005CEBFC                ;  ASCII "CurrReaderInfoEx"
005CEB09   .  E8 F28EFBFF   call PCloudLo.00587A00
005CEB0E   .  8D55 A0       lea edx,dword ptr ss:[ebp-0x60]
005CEB11   .  8B83 10030000 mov eax,dword ptr ds:[ebx+0x310]
005CEB17   .  E8 8899EAFF   call PCloudLo.004784A4
005CEB1C   .  8B55 A0       mov edx,dword ptr ss:[ebp-0x60]
005CEB1F   .  B8 ACEB5C00   mov eax,PCloudLo.005CEBAC                ;  ASCII "CurrReaderInfoEx1"
005CEB24   .  E8 D78EFBFF   call PCloudLo.00587A00
005CEB29   .  E8 CA92FBFF   call PCloudLo.00587DF8
005CEB2E   .  DDD8          fstp st
005CEB30   .  8BC3          mov eax,ebx
005CEB32   .  E8 F574ECFF   call PCloudLo.0049602C
005CEB37   >  33C0          xor eax,eax                              ;  跳到这里的话点注册没反映 注册功能失效
005CEB39   .  5A            pop edx
005CEB3A   .  59            pop ecx
005CEB3B   .  59            pop ecx



免费评分

参与人数 9威望 +2 吾爱币 +1 热心值 +8 收起 理由
sudo777 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
贫僧已色 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!有考虑做个注册机没?
hcloveld + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩.
xsjb7734 + 1 我很赞同!
Hmily + 2 感谢发布原创作品,吾爱破解论坛因你更精彩.
Shark恒 + 1 我很赞同!
微笑嘻嘻 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
132177 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
逍遥枷锁 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

梦之幻爱随风 发表于 2016-1-25 02:32 来自手机
chengingcom 发表于 2016-1-14 20:27
你好 不知道你的门锁软件有没有遇到 2016不能读卡的问题。如果你解决了请告诉我一声谢谢。研究了几天 知道 ...

提醒一下,论坛禁止留QQ号
zk9320697 发表于 2014-12-15 00:33
感谢分享破路历程 。                                 
gueijiaochen 发表于 2014-12-14 19:20
逍遥枷锁 发表于 2014-12-14 19:27
果断给力,值得大力支持,谢谢。
头像被屏蔽
雨林木风 发表于 2014-12-14 19:29
提示: 作者被禁止或删除 内容自动屏蔽
kuwo911 发表于 2014-12-14 19:51
感谢分享破路历程    学习
132177 发表于 2014-12-14 19:56
楼主果然很强大啊!!!
xiafanyi123 发表于 2014-12-14 20:12
学习了,谢谢分享
长存 发表于 2014-12-14 20:14
感谢分享。你这不像是新手啊
小碎碎 发表于 2014-12-14 20:16 来自手机
楼楼好流弊呀。。学习了。
头像被屏蔽
小诺 发表于 2014-12-14 20:22
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

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

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-2 11:08

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表