蓝蓝深海 发表于 2016-9-3 15:59:22

一款租车行管理系统的不完美破解

本帖最后由 蓝蓝深海 于 2016-9-3 16:02 编辑

本想练练手,结果水平不行呀,不算完美。


软件说明:
本软件可以帮助租车行轻松管理车辆、车辆出租、车辆归还信息,让您的 租车行经营更轻松!

功能:
车辆基本信息管理:出租价格、牌照、照片等基本信息及车辆缴费、保险信息。
出租信息管理:出租时间、租用客户信息、出租时车辆状态(如里程数),预收金额等。
还车信息管理:还车时间,实收租金等。(以红色显示当天到期应还车辆。)
客户信息管理,记录客户的联系方式、照片(有摄像头拍照功能)、证件等相关资料。黑名单提醒功能:在预约、租借操作时,对已经列入的黑名单(姓名、证件号、联系电话)的客户业务进行提醒。
分析统计功能:可以析统计汽车的出租率,对经营管理提供帮助。
记帐本功能:提供了收入、支出记帐功能,及时把握经营效益。
预约(预订)信息登记、违章信息查询等。
如果您有更多业务要求,需在现有系统的基础上进行二次开发,我们很愿 意为您服务。可以直接将您的需求通过QQ或者邮件告诉我们,保证满足您 的需求。

下载地址:http://www.sharebank.com.cn/soft/SoftView_21394.htm




下面附上我的分析数据不对的请指正,    算法我始终找不到。
感觉他这个是序列号、注册码、固定字符串   每一段都在比较然后拼接   但我太菜了找不到呀         只能爆破   

但爆破的也不完美,   软件重新启动的时候      还是会提示未注册版窗口       窗口事件也找到了   太菜了   分析不出有用数据。

由于水平有限,找不到算法和重启验证具体在什么位置,请各位大侠不吝赐教







004E418C/.55            PUSH    EBP                              ; 注册按钮事件
004E418D|.8BEC          MOV   EBP, ESP
004E418F|.B9 04000000   MOV   ECX, 0x4
004E4194|>6A 00         /PUSH    0x0
004E4196|.6A 00         |PUSH    0x0
004E4198|.49            |DEC   ECX
004E4199|.^ 75 F9         \JNZ   SHORT Rent.004E4194
004E419B|.51            PUSH    ECX
004E419C|.53            PUSH    EBX
004E419D|.8BD8          MOV   EBX, EAX
004E419F|.33C0          XOR   EAX, EAX
004E41A1|.55            PUSH    EBP
004E41A2|.68 F6434E00   PUSH    Rent.004E43F6
004E41A7|.64:FF30       PUSH    DWORD PTR FS:
004E41AA|.64:8920       MOV   DWORD PTR FS:, ESP
004E41AD|.8D55 FC       LEA   EDX, DWORD PTR SS:
004E41B0|.8B83 04030000 MOV   EAX, DWORD PTR DS:
004E41B6|.E8 7903F8FF   CALL    Rent.00464534
004E41BB|.8B45 FC       MOV   EAX, DWORD PTR SS:      ;取假码
004E41BE|.E8 E90DF2FF   CALL    Rent.00404FAC                  ;取假码长度
004E41C3|.83F8 0C       CMP   EAX, 0xC
004E41C6|.74 3F         JE      SHORT Rent.004E4207            ;长度必须12位




004E4222|.E8 0D03F8FF   CALL    Rent.00464534                  ;取本机序列号



004E4232|.E8 55EFFFFF   CALL    Rent.004E318C                  ;关键CALL
004E4237|.84C0          TEST    AL, AL
004E4239|.0F84 30010000 JE      Rent.004E436F                  ;不跳 即注册成功       //爆破点





004E31D2   .E8 D51DF2FF   CALL    Rent.00404FAC
004E31D7   .83F8 09       CMP   EAX, 0x9                         ;效验位数 9   ????
004E31DA   .7D 07         JGE   SHORT Rent.004E31E3




004E320A   .50            PUSH    EAX
004E320B   .8B45 F0       MOV   EAX, DWORD PTR SS:
004E320E   .E8 991DF2FF   CALL    Rent.00404FAC                  ;取注册码后8位
004E3213   .8BC8          MOV   ECX, EAX
004E3215   .83E9 04       SUB   ECX, 0x4
004E3218   .BA 03000000   MOV   EDX, 0x3
004E321D   .8B45 F0       MOV   EAX, DWORD PTR SS:
004E3220   .E8 E71FF2FF   CALL    Rent.0040520C                  ;再一次取8位的中间4位
004E3225   .8B45 EC       MOV   EAX, DWORD PTR SS:
004E3228   .E8 B768F2FF   CALL    Rent.00409AE4                  ;取中间4位的16进制   
004E322D   .8BD8          MOV   EBX, EAX
004E322F   .8D45 E8       LEA   EAX, DWORD PTR SS:
004E3232   .50            PUSH    EAX
004E3233   .B9 08000000   MOV   ECX, 0x8
004E3238   .BA 05000000   MOV   EDX, 0x5
004E323D   .8B45 F8       MOV   EAX, DWORD PTR SS:
004E3240   .E8 C71FF2FF   CALL    Rent.0040520C
004E3245   .8B45 E8       MOV   EAX, DWORD PTR SS:
004E3248   .E8 9768F2FF   CALL    Rent.00409AE4                  ;这个CALL就是取注册码和序列号的16进制
004E324D   .8BF0          MOV   ESI, EAX
004E324F   .B9 4BC70700   MOV   ECX, 0x7C74B
004E3254   .8BD3          MOV   EDX, EBX
004E3256   .8BC6          MOV   EAX, ESI
004E3258   .E8 6BFDFFFF   CALL    Rent.004E2FC8
004E325D   .52            PUSH    EDX
004E325E   .50            PUSH    EAX
004E325F   .8D45 E4       LEA   EAX, DWORD PTR SS:
004E3262   .50            PUSH    EAX
004E3263   .8B45 FC       MOV   EAX, DWORD PTR SS:
004E3266   .E8 411DF2FF   CALL    Rent.00404FAC                  ;取位数27   ASCII "718555775072825253567569710"//这个好像是固定字符
004E326B   .8BD0          MOV   EDX, EAX
004E326D   .83EA 03       SUB   EDX, 0x3
004E3270   .B9 04000000   MOV   ECX, 0x4
004E3275   .8B45 FC       MOV   EAX, DWORD PTR SS:
004E3278   .E8 8F1FF2FF   CALL    Rent.0040520C                  ;取他后4位 ASCII "718555775072825253567569710"
004E327D   .8B45 E4       MOV   EAX, DWORD PTR SS:




00409AE4/$53            PUSH    EBX
00409AE5|.56            PUSH    ESI
00409AE6|.83C4 F4       ADD   ESP, -0xC
00409AE9|.8BD8          MOV   EBX, EAX
00409AEB|.8BD4          MOV   EDX, ESP
00409AED|.8BC3          MOV   EAX, EBX
00409AEF|.E8 BC9BFFFF   CALL    Rent.004036B0                  ;EAX=取假码和序列号还有那个随机字符的16进制
00409AF4|.8BF0          MOV   ESI, EAX
00409AF6|.833C24 00   CMP   DWORD PTR SS:, 0x0
00409AFA|.74 19         JE      SHORT Rent.00409B15
00409AFC|.895C24 04   MOV   DWORD PTR SS:, EBX
00409B00|.C64424 08 0BMOV   BYTE PTR SS:, 0xB
00409B05|.8D5424 04   LEA   EDX, DWORD PTR SS:
00409B09|.A1 64C65100   MOV   EAX, DWORD PTR DS:
00409B0E|.33C9          XOR   ECX, ECX
00409B10|.E8 A7F7FFFF   CALL    Rent.004092BC
00409B15|>8BC6          MOV   EAX, ESI
00409B17|.83C4 0C       ADD   ESP, 0xC
00409B1A|.5E            POP   ESI
00409B1B|.5B            POP   EBX
00409B1C\.C3            RETN



00404D10/$53            PUSH    EBX                              ;算法CALL????
00404D11|.56            PUSH    ESI
00404D12|.89C3          MOV   EBX, EAX
00404D14|.89D6          MOV   ESI, EDX
00404D16|>8B13          /MOV   EDX, DWORD PTR DS:
00404D18|.85D2          |TEST    EDX, EDX
00404D1A|.74 1A         |JE      SHORT Rent.00404D36
00404D1C|.C703 00000000 |MOV   DWORD PTR DS:, 0x0
00404D22|.8B4A F8       |MOV   ECX, DWORD PTR DS:
00404D25|.49            |DEC   ECX
00404D26|.7C 0E         |JL      SHORT Rent.00404D36
00404D28|.F0:FF4A F8    |LOCK DEC DWORD PTR DS:
00404D2C|.75 08         |JNZ   SHORT Rent.00404D36
00404D2E|.8D42 F8       |LEA   EAX, DWORD PTR DS:
00404D31|.E8 86DEFFFF   |CALL    Rent.00402BBC
00404D36|>83C3 04       |ADD   EBX, 0x4
00404D39|.4E            |DEC   ESI
00404D3A|.^ 75 DA         \JNZ   SHORT Rent.00404D16
00404D3C|.5E            POP   ESI
00404D3D|.5B            POP   EBX
00404D3E\.C3            RETN









00518ECB|.803D 30DE5100>CMP   BYTE PTR DS:, 0x0            //搜索此行, 可能我太菜了,没啥用找不到关键点
00518ED2|.75 40         JNZ   SHORT Rent.00518F14            ;必跳       // 算暗装吧
00518ED4|.6A 40         PUSH    0x40
00518ED6|.8D55 C4       LEA   EDX, DWORD PTR SS:
00518ED9|.A1 ACC85100   MOV   EAX, DWORD PTR DS:
00518EDE|.8B00          MOV   EAX, DWORD PTR DS:
00518EE0|.E8 CBBDF6FF   CALL    Rent.00484CB0
00518EE5|.8B45 C4       MOV   EAX, DWORD PTR SS:
00518EE8|.E8 BFC2EEFF   CALL    Rent.004051AC
00518EED|.50            PUSH    EAX
00518EEE|.68 38935100   PUSH    Rent.00519338                  ;非注册版可以设置,但不能保存!


xieshenqi 发表于 2016-9-3 21:41:29

感谢楼主分享

sdwlzjj 发表于 2016-9-4 06:42:10

感谢楼主分享!!!赞一个

lwtzxb 发表于 2016-9-4 18:16:28

很简单,半个字节就搞定

蓝蓝深海 发表于 2016-9-4 20:29:30

lwtzxb 发表于 2016-9-4 18:16
很简单,半个字节就搞定

能指点下吗?我找半天找不到呀

xieshenqi 发表于 2016-9-4 23:29:17

感谢楼主分享

1552759476@ 发表于 2016-9-5 14:45:30

太牛了,我们谢谢你

相遇 发表于 2016-9-5 15:18:37

感谢楼主的分析,我也研究看下

1552759476@ 发表于 2016-9-5 20:55:57

傲世的高手,你很厉害

蓝蓝深海 发表于 2016-9-5 21:29:09

xlcomputer 发表于 2016-9-5 09:18
改:
005174D4 mov byte ptr ds:,0x1
即不用注册了。我电脑有问题,你测试一下。

咋我搜不到这个地址呢   我电脑问题???
页: [1] 2
查看完整版本: 一款租车行管理系统的不完美破解