频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

软件管理专家Flash Soft Manager

来源: 作者: 出处:巧巧读书 2005-12-05 进入讨论组
为了节省篇幅,直接从注册算法代码处开始分析。

004DA8F3  |. 8B45 FC        MOV EAX,DWORD PTR SS:[EBP-4]
004DA8F6  |. E8 49A4F2FF    CALL DfBox.00404D44

004DA8FB  |. 33C0           XOR EAX,EAX
004DA8FD  |. 55             PUSH EBP
004DA8FE  |. 68 69A94D00    PUSH DfBox.004DA969
004DA903  |. 64:FF30        PUSH DWORD PTR FS:[EAX]
004DA906  |. 64:8920        MOV DWORD PTR FS:[EAX],ESP
004DA909  |. BB 01000000    MOV EBX,1===>初始化EBX值为1。
004DA90E  |. 8B45 FC        MOV EAX,DWORD PTR SS:[EBP-4]
004DA911  |. E8 46A2F2FF    CALL DfBox.00404B5C===>计算用户名长度,并移入EAX。
004DA916  |. 8BC8           MOV ECX,EAX===>用户名长度移入ECX。
004DA918  |. 85C9           TEST ECX,ECX===>测试用户名长度。
004DA91A  |. 7E 1C          JLE SHORT DfBox.004DA938===>小于等于0则跳,跳则死。
004DA91C  |. BE 01000000    MOV ESI,1===>初始化ESI值,用于控制取用户名字符。
004DA921  |> 8B45 FC        /MOV EAX,DWORD PTR SS:[EBP-4]===>用户名移入EAX。
004DA924  |. 0FB67C30 FF    |MOVZX EDI,BYTE PTR DS:[EAX+ESI-1]===>依次取用户名字符十六进制值移入EDI。
004DA929  |. 8BC3           |MOV EAX,EBX
004DA92B  |. 99             |CDQ===>扩展。扩展后EDX或为0或为FFFFFFFF,不知什么原因?
004DA92C  |. 33C2           |XOR EAX,EDX===>与EDX异或。
004DA92E  |. 2BC2           |SUB EAX,EDX===>减去EDX。
004DA930  |. F7EF           |IMUL EDI===>乘以EDI。
004DA932  |. 8BD8           |MOV EBX,EAX===>移入EBX。
004DA934  |. 46             |INC ESI===>用于控制取用户名字符。
004DA935  |. 49             |DEC ECX===>控制循环。
004DA936  |.^75 E9          \JNZ SHORT DfBox.004DA921===>未取完则跳回继续计算。
004DA938  |> 8BC3           MOV EAX,EBX===>移入EAX。
004DA93A  |. 99             CDQ===>扩展。同上。
004DA93B  |. 33C2           XOR EAX,EDX===>异或。
004DA93D  |. 2BC2           SUB EAX,EDX===>减去EDX。
004DA93F  |. 83C0 64        ADD EAX,64===>加上64。
004DA942  |. 99             CDQ===>扩展。同上。
004DA943  |. 33C2           XOR EAX,EDX
004DA945  |. 2BC2           SUB EAX,EDX
004DA947  |. 8BD8           MOV EBX,EAX===>此处EAX中就是真正的注册码。
004DA949  |. 8B55 F8        MOV EDX,DWORD PTR SS:[EBP-8]
004DA94C  |. 8BC3           MOV EAX,EBX
004DA94E  |. E8 EDE9F2FF    CALL DfBox.00409340
004DA953  |. 33C0           XOR EAX,EAX
004DA955  |. 5A             POP EDX
004DA956  |. 59             POP ECX
004DA957  |. 59             POP ECX
004DA958  |. 64:8910        MOV DWORD PTR FS:[EAX],EDX
004DA95B  |. 68 70A94D00    PUSH DfBox.004DA970
004DA960  |> 8D45 FC        LEA EAX,DWORD PTR SS:[EBP-4]
004DA963  |. E8 3C9FF2FF    CALL DfBox.004048A4
004DA968  \. C3             RETN
004DA969   .^E9 7E98F2FF    JMP DfBox.004041EC
004DA96E   .^EB F0          JMP SHORT DfBox.004DA960

算法总结:用户名各字符十六进制值连乘的积(如果不超出8位),再加上64,再转换成十进制就是注册码了。如果超出8位该怎么办呢?请哪位高手指点。

通告:http://www.qqread.com/encrypt/s050186062.html 更多文章 更多内容请看网络管理实用手册常用软件加密宝典杀毒软件专栏专题,或进入讨论组讨论。

收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章