庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>安全技术>软件破解>算法研究>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

黄河英语通 2.25注册算法分析

 作者:本站收集   日期:2005-5-26
字号选择〖 〗/ 双击滚屏 单击停止   
目的:属技术交流,无其它目的,请不要任意散布或用用商业用途。初学破解,如有不对的地方欢迎批评指出。
工具:softice,w32Dasm,ollydbg
试炼码:
识别号:HHID558109930
注册号:654321

教程真的写上瘾,再来篇。

004ABCAC  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
004ABCAF  |.  8D55 F8       LEA EDX,DWORD PTR SS:[EBP-8]
004ABCB2  |.  8B83 00030000 MOV EAX,DWORD PTR DS:[EBX+300]
004ABCB8  |.  E8 636BF9FF   CALL unpacked.00442820                   ;  取注册号unpa
004ABCBD  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]             ;  注册号入eaxDWOR
004ABCC0  |.  8D55 FC       LEA EDX,DWORD PTR SS:[EBP-4]
004ABCC3  |.  E8 3CD4F5FF   CALL unpacked.00409104                   ;  复制注册号到edx的地址.00409104
004ABCC8  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  注册号入eaxDWOR
004ABCCB  |.  50            PUSH EAX
004ABCCC  |.  8D55 F0       LEA EDX,DWORD PTR SS:[EBP-10]
004ABCCF  |.  8B83 F8020000 MOV EAX,DWORD PTR DS:[EBX+2F8]
004ABCD5  |.  E8 466BF9FF   CALL unpacked.00442820                   ;  取识别号unpa
004ABCDA  |.  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]            ;  识别号入eaxDWOR
004ABCDD  |.  8D55 F4       LEA EDX,DWORD PTR SS:[EBP-C]
004ABCE0  |.  E8 9BF9FFFF   CALL unpacked.004AB680                   ;  产生注册真码,进入
004ABCE5  |.  8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]             ;  真码入edx,DW
004ABCE8  |.  58            POP EAX                                  ;  出输入注册号到eax
004ABCE9  |.  E8 8690F5FF   CALL unpacked.00404D74                   ;  关键比较unpa
004ABCEE  |.  0F85 F4000000 JNZ unpacked.004ABDE8                    ;  不等则跳到出错cked.00
004ABCF4  |.  6A 40         PUSH 40                                  ; /style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL
004ABCF6  |.  68 50BE4A00   PUSH unpacked.004ABE50                   ; |Title = "黄河英语通"4ABE5
004ABCFB  |.  68 5CBE4A00   PUSH unpacked.004ABE5C                   ; |Text = "注册成功!"04ABE
004ABD00  |.  A1 70F44E00   MOV EAX,DWORD PTR DS:[4EF470]            ; |
004ABD05  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]               ; |
004ABD07  |.  8B40 30       MOV EAX,DWORD PTR DS:[EAX+30]            ; |
004ABD0A  |.  50            PUSH EAX                                 ; |hOwner
004ABD0B  |.  E8 80BDF5FF   CALL <JMP.&user32.MessageBoxA>           ; \MessageBoxA
004ABD10  |.  8D55 E8       LEA EDX,DWORD PTR SS:[EBP-18]
004ABD13  |.  8B83 00030000 MOV EAX,DWORD PTR DS:[EBX+300]

--------------------------------
产生真码call

004AB6A3  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
004AB6A6  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
004AB6A9  |.  8BC7          MOV EAX,EDI
004AB6AB  |.  E8 B892F5FF   CALL unpacked.00404968
004AB6B0  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
004AB6B3  |.  BA 9CB74A00   MOV EDX,unpacked.004AB79C
004AB6B8  |.  E8 7B95F5FF   CALL unpacked.00404C38                   ;  把识别号保存到地址中
004AB6BD  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  识别号所在地址
004AB6C0  |.  0FB630        MOVZX ESI,BYTE PTR DS:[EAX]              ;  识别号第一位十六进制值入esi
004AB6C3  |.  66:6BC6 64    IMUL AX,SI,64                            ;  ax=si*64
004AB6C7  |.  66:8945 F8    MOV WORD PTR SS:[EBP-8],AX               ;  保存ax到[ebp-8]
004AB6CB  |.  8BC6          MOV EAX,ESI                              ;  eax=esi
004AB6CD  |.  C1E0 09       SHL EAX,9                                ;  左移9位
004AB6D0  |.  66:8945 F6    MOV WORD PTR SS:[EBP-A],AX               ;  ax保存[ebp-a]
004AB6D4  |.  B3 01         MOV BL,1                                 ;  计数器初始化为1
004AB6D6  |>  8B45 FC       /MOV EAX,DWORD PTR SS:[EBP-4]            ;  识别号所在地址,入eax
004AB6D9  |.  E8 5295F5FF   |CALL unpacked.00404C30                  ;  取长度
004AB6DE  |.  50            |PUSH EAX
004AB6DF  |.  33C0          |XOR EAX,EAX
004AB6E1  |.  8AC3          |MOV AL,BL                               ;   计数器入al
004AB6E3  |.  5A            |POP EDX
004AB6E4  |.  8BCA          |MOV ECX,EDX                             ;  识别号长度入ecx
004AB6E6  |.  99            |CDQ
004AB6E7  |.  F7F9          |IDIV ECX                                ;  此即为计数器取识别号长度的模数
004AB6E9  |.  8B45 FC       |MOV EAX,DWORD PTR SS:[EBP-4]            ;  识别号所在地址,入eax
004AB6EC  |.  8A0410        |MOV AL,BYTE PTR DS:[EAX+EDX]            ;  取第bl(经过上面模数运算)位识别号。
004AB6EF  |.  0FB7D6        |MOVZX EDX,SI                            ;  edx=si
004AB6F2  |.  C1EA 08       |SHR EDX,8                               ;  edx 右移8位
004AB6F5  |.  32C2          |XOR AL,DL                               ;  al与dl 异或
004AB6F7  |.  33D2          |XOR EDX,EDX
004AB6F9  |.  8AD3          |MOV DL,BL                               ;  计数器入dl
004AB6FB  |.  B9 A8B74A00   |MOV ECX,unpacked.004AB7A8               ;  ASCII "Qwert yuiop asdfg hjkl zxcvbnm"
004AB700  |.  324411 FF     |XOR AL,BYTE PTR DS:[ECX+EDX-1]          ;  取第bl位字符
004AB704  |.  50            |PUSH EAX
004AB705  |.  8B45 FC       |MOV EAX,DWORD PTR SS:[EBP-4]
004AB708  |.  E8 2395F5FF   |CALL unpacked.00404C30                  ;  取识别号长度
004AB70D  |.  5A            |POP EDX                                 ;  异或值入edx
004AB70E  |.  02D0          |ADD DL,AL                               ;  与位数相加
004AB710  |.  8855 FB       |MOV BYTE PTR SS:[EBP-5],DL              ;  保存到[ebp-5]
004AB713  |.  33C0          |XOR EAX,EAX
004AB715  |.  8A45 FB       |MOV AL,BYTE PTR SS:[EBP-5]
004AB718  |.  B9 23000000   |MOV ECX,23                              ;  23入ecx
004AB71D  |.  99            |CDQ
004AB71E  |.  F7F9          |IDIV ECX
004AB720  |.  42            |INC EDX                                 ;  余数加1
004AB721  |.  8855 FB       |MOV BYTE PTR SS:[EBP-5],DL              ;  保存到[ebp-5]
004AB724  |.  8D45 F0       |LEA EAX,DWORD PTR SS:[EBP-10]
004AB727  |.  33D2          |XOR EDX,EDX
004AB729  |.  8A55 FB       |MOV DL,BYTE PTR SS:[EBP-5]
004AB72C  |.  B9 D0B74A00   |MOV ECX,unpacked.004AB7D0               ;  ASCII "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789"
004AB731  |.  8A5411 FF     |MOV DL,BYTE PTR DS:[ECX+EDX-1]          ;  查密码表,取第dl位
004AB735  |.  E8 0E94F5FF   |CALL unpacked.00404B48                  ;  清空密码表
004AB73A  |.  8B55 F0       |MOV EDX,DWORD PTR SS:[EBP-10]           ;  取得的一位十六进制值入edx
004AB73D  |.  8BC7          |MOV EAX,EDI
004AB73F  |.  E8 F494F5FF   |CALL unpacked.00404C38                  ;  保存
004AB744  |.  33C0          |XOR EAX,EAX
004AB746  |.  8AC3          |MOV AL,BL
004AB748  |.  8B17          |MOV EDX,DWORD PTR DS:[EDI]
004AB74A  |.  0FB64402 FF   |MOVZX EAX,BYTE PTR DS:[EDX+EAX-1]       ;  取得的一位十六进制入eax
004AB74F  |.  66:03F0       |ADD SI,AX                               ;  与识别号第bl位相加
004AB752  |.  66:0FAF75 F8  |IMUL SI,WORD PTR SS:[EBP-8]             ;  再乘以[ebp-8]处的值 
004AB757  |.  66:0375 F6    |ADD SI,WORD PTR SS:[EBP-A]              ;  再加上[ebp-a]处值
004AB75B  |.  43            |INC EBX                                 ;  ebx加1
004AB75C  |.  80FB 1F       |CMP BL,1F                               ;  与31是否相等
004AB75F  |.^ 0F85 71FFFFFF \JNZ unpacked.004AB6D6
004AB765  |.  33C0          XOR EAX,EAX
004AB767  |.  5A            POP EDX
004AB768  |.  59            POP ECX
004AB769  |.  59            POP ECX
004AB76A  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
004AB76D  |.  68 8AB74A00   PUSH unpacked.004AB78A
004AB772  |>  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
004AB775  |.  E8 EE91F5FF   CALL unpacked.00404968
------------------------------------

总结:

字符串s1=Qwert yuiop asdfg hjkl zxcvbnm
字符串s2=ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789
取第1位识别号十六进制48(H),乘64(H)得数A=1c20(H),左移9位得数B=9000(H)。然后开始进行31次循环,得到30位注册号:

int Y=第1位识别号十六进制48(H);
for(int i=1;i<31;i++)
{
取识别号的长度len;
求i%len的模数X;
取第X位的识别号十六进制值;
Y右移8位得数C;
第X位的识别号十六进制值与C异或得数D;
字符串s1第i位十六进制值与第X位的识别号十六进制值异或,得E值;
E值与识别号的长度len相加,得数F;
求F%35模数,模数加1,得数G;
字符串s2第G位十六进制值,此即为第i位注册号;
Y=Y+字符串s2第G位十六进制值;
Y=Y*数A;
Y=Y+B;
}

识别号:HHID558109930
注册号:E5W799BWESP8CFFF7GKDH4B6JW3L8L
上一篇:Anti-Hack2.0注册算法分析    下一篇:*出租销售系统 5.6--算法分析 下  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-5-26
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿