老文章档案 · 2003 年

仓管王 V12.6 单机版 算法分析

破解教程 · 算法分析 · 2003-07-15 · 作者:lordor 人气: · 出处:赢政天下整理收藏)

仓管王 V12.6 单机版

软件大小: 4399 KB

软件语言: 简体中文

软件类别: 国产软件 / 共享版 / 商业贸易

应用平台: Win9x/NT/2000/XP

界面预览: 无

加入时间: 2003-03-23 10:02:16

下载次数: 15385

推荐等级:

联 系 人: tech@shd.com.cn

开 发 商: http://www.shd.com.cn/

软件介绍:

全面优化、占用资源极少、简便实用、完全符合国家规范。 完全满足企事业、行政单位的仓库、财产、物资管理的要求。可选择金额、数量记帐法。除设有基本的入库单、出库单、调拨单、报废单、盘点单外,尚有功能强大的单据修改、单据撤销、单据审批、分类统计等全自动的统计功能,是同类产品中功能最强、价格最低的优秀产品。 拥有全国各地近10万用户。

作者声明:初学破解,纯属技术交流,无其它目的。

工具:ollyDBg1.09,W32Dasm10,Caspr110脱壳工具。

假设:

系列号:166697841106

注册号(假码):1234-2345-3456-4567

先用脱壳工具脱壳

一、查找出错信息。

:00653080 E87B24E4FF call 00495500

:00653085 8B45E8 mov eax, dword ptr [ebp-18]

:00653088 5A pop edx

:00653089 E802620400 call 00699290====>关键call

:0065308E 84C0 test al, al

:00653090 7530 jne 006530C2====>此改为je即爆破

:00653092 6A10 push 00000010

* Possible StringData Ref from Code Obj ->"´错误"

|

:00653094 B9E4326500 mov ecx, 006532E4

* Possible StringData Ref from Code Obj ->"注册号错误 "

|

:00653099 BAEC326500 mov edx, 006532EC

:0065309E A1D45D6B00 mov eax, dword ptr [006B5DD4]

:006530A3 8B00 mov eax, dword ptr [eax]

:006530A5 E8DE3AE3FF call 00486B88

二、用ollydbg载入

0065301C |. E8 DF24E4FF CALL aa.00495500 ; 取得1234.0

00653021 |. FF75 F8 PUSH DWORD PTR SS:[EBP-8] ; push1234

00653024 |. 68 E0326500 PUSH aa.006532E0

00653029 |. 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]

0065302C |. 8B83 54030000 MOV EAX,DWORD PTR DS:[EBX+354]

00653032 |. E8 C924E4FF CALL aa.00495500 ; 取得2345.0

00653037 |. FF75 F4 PUSH DWORD PTR SS:[EBP-C]

0065303A |. 68 E0326500 PUSH aa.006532E0

0065303F |. 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10]

00653042 |. 8B83 58030000 MOV EAX,DWORD PTR DS:[EBX+358]

00653048 |. E8 B324E4FF CALL aa.00495500 ; 取3456a

0065304D |. FF75 F0 PUSH DWORD PTR SS:[EBP-10]

00653050 |. 68 E0326500 PUSH aa.006532E0

00653055 |. 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]

00653058 |. 8B83 5C030000 MOV EAX,DWORD PTR DS:[EBX+35C]

0065305E |. E8 9D24E4FF CALL aa.00495500 ; 取4567a

00653063 |. FF75 EC PUSH DWORD PTR SS:[EBP-14]

00653066 |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]

00653069 |. BA 07000000 MOV EDX,7

0065306E |. E8 B121DBFF CALL aa.00405224 ; 形成串:

1234-2345-3456-4567

00653073 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]

00653076 |. 50 PUSH EAX

00653077 |. 8D55 E8 LEA EDX,DWORD PTR SS:[EBP-18]

0065307A |. 8B83 4C030000 MOV EAX,DWORD PTR DS:[EBX+34C]

00653080 |. E8 7B24E4FF CALL aa.00495500 ; 取系列号aa.0

00653085 |. 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18] ; 系列号EAX

00653088 |. 5A POP EDX ; 取出输入的注册码

00653089 |. E8 02620400 CALL aa.00699290 ; 关键,F7进入00699

0065308E |. 84C0 TEST AL,AL

00653090 |. 7530 jne 006530C2====>此改为je即爆破

00653092 |. 6A 10 PUSH 10

三、关键call分析

-----------------------------------------

006992A1 |. 56 PUSH ESI

006992A2 |. 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX ; 输入串保存到ebp-8

006992A5 |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX ; 系列号保存到ebp-4

006992A8 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]

006992AB |. E8 9CC0D6FF CALL aa.0040534C

006992B0 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]

006992B3 |. E8 94C0D6FF CALL aa.0040534C

006992B8 |. 33C0 XOR EAX,EAX

006992BA |. 55 PUSH EBP

006992BB |. 68 02956900 PUSH aa.00699502

006992C0 |. 64:FF30 PUSH DWORD PTR FS:[EAX]

006992C3 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP

006992C6 |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]

006992C9 |. E8 DEBBD6FF CALL aa.00404EAC

006992CE |. 66:BB 0100 MOV BX,1

006992D2 |> 8BF3 /MOV ESI,EBX

006992D4 |. 03F6 |ADD ESI,ESI

006992D6 |. 4E |DEC ESI

006992D7 |. 8D45 E0 |LEA EAX,DWORD PTR SS:[EBP-20]

006992DA |. 50 |PUSH EAX

006992DB |. 0FB7D6 |MOVZX EDX,SI

006992DE |. B9 01000000 |MOV ECX,1

006992E3 |. 8B45 FC |MOV EAX,DWORD PTR SS:[EBP-4] ; 系列号入eax

006992E6 |. E8 D1C0D6FF |CALL aa.004053BC

006992EB |. 8B55 E0 |MOV EDX,DWORD PTR SS:[EBP-20]

006992EE |. 8D45 F4 |LEA EAX,DWORD PTR SS:[EBP-C]

006992F1 |. E8 76BED6FF |CALL aa.0040516C

006992F6 |. 43 |INC EBX

006992F7 |. 66:83FB 05 |CMP BX,5

006992FB |.^75 D5 \JNZ SHORT aa.006992D2 ; 以上为依次取系列号的1、3

、5、7位

006992FD |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]

00699300 |. 50 PUSH EAX

00699301 |. B9 04000000 MOV ECX,4

00699306 |. BA 01000000 MOV EDX,1 ;

0069930B |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; 注册码串入eax

0069930E |. E8 A9C0D6FF CALL aa.004053BC ; 取串(1)1234

00699313 |. 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]

00699316 |. 50 PUSH EAX

00699317 |. B9 04000000 MOV ECX,4

0069931C |. BA 06000000 MOV EDX,6 ; 表示从串第六位取四位

00699321 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]

00699324 |. E8 93C0D6FF CALL aa.004053BC ; 取串(2)2345

00699329 |. 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18]

0069932C |. 50 PUSH EAX

0069932D |. B9 04000000 MOV ECX,4

00699332 |. BA 0B000000 MOV EDX,0B

00699337 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]

0069933A |. E8 7DC0D6FF CALL aa.004053BC ; 取串(3)3456

0069933F |. 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C]

00699342 |. 50 PUSH EAX

00699343 |. B9 04000000 MOV ECX,4

00699348 |. BA 10000000 MOV EDX,10

0069934D |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]

00699350 |. E8 67C0D6FF CALL aa.004053BC ; 取串(4)4567

00699355 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 系列号入eax

00699358 |. E8 07BED6FF CALL aa.00405164 ; 取系列号位数

0069935D |. 8BD8 MOV EBX,EAX

0069935F |. 8D45 D8 LEA EAX,DWORD PTR SS:[EBP-28]

00699362 |. 50 PUSH EAX

00699363 |. B9 01000000 MOV ECX,1

00699368 |. BA 01000000 MOV EDX,1

0069936D |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10] ; 输入串1234入eax

00699370 |. E8 47C0D6FF CALL aa.004053BC ; 取串第一位,保存在ebp-28

地址处,

00699375 |. FF75 D8 PUSH DWORD PTR SS:[EBP-28]

00699378 |. 8D45 D4 LEA EAX,DWORD PTR SS:[EBP-2C]

0069937B |. 50 PUSH EAX

0069937C |. B9 01000000 MOV ECX,1

00699381 |. BA 02000000 MOV EDX,2 ;

00699386 |. 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14] ; 串(2)2345入eax

00699389 |. E8 2EC0D6FF CALL aa.004053BC ; 取得串2的第二位即3

0069938E |. FF75 D4 PUSH DWORD PTR SS:[EBP-2C]

00699391 |. 8D45 D0 LEA EAX,DWORD PTR SS:[EBP-30]

00699394 |. 50 PUSH EAX

00699395 |. B9 01000000 MOV ECX,1

0069939A |. BA 03000000 MOV EDX,3

0069939F |. 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18] ; 串(3)3456

006993A2 |. E8 15C0D6FF CALL aa.004053BC ;取串(3)第3位

006993A7 |. FF75 D0 PUSH DWORD PTR SS:[EBP-30] ; 取得数字5

006993AA |. 8D45 CC LEA EAX,DWORD PTR SS:[EBP-34]

006993AD |. 50 PUSH EAX

006993AE |. B9 01000000 MOV ECX,1

006993B3 |. BA 04000000 MOV EDX,4

006993B8 |. 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C] ; 串(4)4567入eax

006993BB |. E8 FCBFD6FF CALL aa.004053BC ; 取串(4)第4位,取得数字7

006993C0 |. FF75 CC PUSH DWORD PTR SS:[EBP-34]

006993C3 |. 8D45 DC LEA EAX,DWORD PTR SS:[EBP-24]

006993C6 |. BA 04000000 MOV EDX,4

006993CB |. E8 54BED6FF CALL aa.00405224 ; 取得的各位形成串,即为

1357

006993D0 |. 8B55 DC MOV EDX,DWORD PTR SS:[EBP-24]

006993D3 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; 系列号的1、3、5、7位,即

1698

006993D6 |. E8 CDBED6FF CALL aa.004052A8 ; 系列号的1、3、5、7位,即

1698,与串(1)的第1位,串(2)第2位,串(3)第3位,串(4)第4位各位比较

006993DB |. 0F85 F2000000 JNZ aa.006994D3 ; 关键判断1

006993E1 |. 8D45 C8 LEA EAX,DWORD PTR SS:[EBP-38]

006993E4 |. 50 PUSH EAX

006993E5 |. B9 01000000 MOV ECX,1

006993EA |. BA 04000000 MOV EDX,4

006993EF |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10] ; 串(1)1234入eax

006993F2 |. E8 C5BFD6FF CALL aa.004053BC ; 从串的第4位,即为4

006993F7 |. 8B45 C8 MOV EAX,DWORD PTR SS:[EBP-38]

006993FA |. 50 PUSH EAX

006993FB |. 8D45 C4 LEA EAX,DWORD PTR SS:[EBP-3C]

006993FE |. 50 PUSH EAX

006993FF |. 0FB7D3 MOVZX EDX,BX ; 系列号的位数入edx,即为12

00699402 |. 83EA 03 SUB EDX,3 ; 位数-3,edx=9

00699405 |. B9 01000000 MOV ECX,1 ; ecx为1

0069940A |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 系列号入eax

0069940D |. E8 AABFD6FF CALL aa.004053BC ; 取系列号的第9位,即1

00699412 |. 8B55 C4 MOV EDX,DWORD PTR SS:[EBP-3C]

00699415 |. 58 POP EAX

00699416 |. E8 8DBED6FF CALL aa.004052A8 ; 系列号的第9位与串1的第4位

比较

0069941B |. 0F85 B2000000 JNZ aa.006994D3 ; 关键判断2

00699421 |. 8D45 C0 LEA EAX,DWORD PTR SS:[EBP-40]

00699424 |. 50 PUSH EAX

00699425 |. B9 01000000 MOV ECX,1

0069942A |. BA 03000000 MOV EDX,3

0069942F |. 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14] ; 串(2)2645

00699432 |. E8 85BFD6FF CALL aa.004053BC ; 取串(2)第三位

00699437 |. 8B45 C0 MOV EAX,DWORD PTR SS:[EBP-40]

0069943A |. 50 PUSH EAX

0069943B |. 8D45 BC LEA EAX,DWORD PTR SS:[EBP-44]

0069943E |. 50 PUSH EAX

0069943F |. 0FB7D3 MOVZX EDX,BX ; 系列号位数入edx

00699442 |. 83EA 02 SUB EDX,2 ; edx减2,edx为10

00699445 |. B9 01000000 MOV ECX,1

0069944A |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 系列号入eax

0069944D |. E8 6ABFD6FF CALL aa.004053BC ; 取得系列号第10位

00699452 |. 8B55 BC MOV EDX,DWORD PTR SS:[EBP-44]

00699455 |. 58 POP EAX

00699456 |. E8 4DBED6FF CALL aa.004052A8 ; 系列号第10位与串(2)第三

位比较

0069945B |. 75 76 JNZ SHORT aa.006994D3 ; 关键判断3

0069945D |. 8D45 B8 LEA EAX,DWORD PTR SS:[EBP-48]

00699460 |. 50 PUSH EAX

00699461 |. B9 01000000 MOV ECX,1

00699466 |. BA 02000000 MOV EDX,2

0069946B |. 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18] ; 串(3)3459入eax

0069946E |. E8 49BFD6FF CALL aa.004053BC ; 取串(3)第二位即为4

00699473 |. 8B45 B8 MOV EAX,DWORD PTR SS:[EBP-48]

00699476 |. 50 PUSH EAX

00699477 |. 8D45 B4 LEA EAX,DWORD PTR SS:[EBP-4C]

0069947A |. 50 PUSH EAX

0069947B |. 0FB7D3 MOVZX EDX,BX ; 系列号位数入edx

0069947E |. 4A DEC EDX ; 减1即为第11位

0069947F |. B9 01000000 MOV ECX,1

00699484 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]

00699487 |. E8 30BFD6FF CALL aa.004053BC ; 取系列号的第11位

0069948C |. 8B55 B4 MOV EDX,DWORD PTR SS:[EBP-4C]

0069948F |. 58 POP EAX

00699490 |. E8 13BED6FF CALL aa.004052A8 ; 取系列号的第11位与串(3)

第二位比较

00699495 |. 75 3C JNZ SHORT aa.006994D3 ; 关键判断4

00699497 |. 8D45 B0 LEA EAX,DWORD PTR SS:[EBP-50]

0069949A |. 50 PUSH EAX

0069949B |. B9 01000000 MOV ECX,1

006994A0 |. BA 01000000 MOV EDX,1

006994A5 |. 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C] ; 串(4)入eax

006994A8 |. E8 0FBFD6FF CALL aa.004053BC ; 取串(4)第1位

006994AD |. 8B45 B0 MOV EAX,DWORD PTR SS:[EBP-50]

006994B0 |. 50 PUSH EAX

006994B1 |. 8D45 AC LEA EAX,DWORD PTR SS:[EBP-54]

006994B4 |. 50 PUSH EAX

006994B5 |. 0FB7D3 MOVZX EDX,BX

006994B8 |. 83EA 00 SUB EDX,0

006994BB |. B9 01000000 MOV ECX,1

006994C0 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]

006994C3 |. E8 F4BED6FF CALL aa.004053BC ; 取系列号第12位

006994C8 |. 8B55 AC MOV EDX,DWORD PTR SS:[EBP-54]

006994CB |. 58 POP EAX

006994CC |. E8 D7BDD6FF CALL aa.004052A8 ; 系列号第12位与串(4)第1

位比较

006994D1 |. 74 04 JE SHORT aa.006994D7 ; 关键判断5

006994D3 |> 33DB XOR EBX,EBX

006994D5 |. EB 02 JMP SHORT aa.006994D9

---------------------------------

算法总结:

1、系列号的1、3、5、7位,即1698,与串(1)的第1位,串(2)第2位,串(3)第3位,串(4)第4位相等

2、系列号的第9位与串(1)的第4位相等

3、系列号第10位与串(2)第3位相等

4、系列号第11位与串(3)第2位相等

5、系列号第12位与串(4)第1位相等

总结:

系列号:166697841106

注册号:1231-2615-3096-6568

lordor

4.20

(出处:赢政天下整理收藏)

相关文章:

·语音界面2.0算法分析及注册机源码!

·侠客系统修改器1.21破解手记--算法分析

·中文拨号上网计时计费器 V4.12注册算法分析

·ClockWise 3.22e注册码算法分析

·CoolClock V1.02注册算法分析

·Directory Scanner v1.5 注册算法分析

·Disk Chief 1.2 简单注册算法分析

·EffeTech HTTP Sniffer 3.2注册算法分析

·eLib2.01算法分析

·EZ MP3 Recorder 1.15 注册算法分析

相关软件:

→ 特别推荐

→ 热点TOP10

我为人人《《==》》人人为我

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史