| 作者:newlaos
整理日期:2003.3.14(华军网) 最新版本:2.4
使用平台:Win9x/Me/NT/2000
发布公司:http://www.speedfax.onchina.net/
软件简介:快捷高效的通过电脑收发传真精典工具,功能特色如下:1.◆可视化拖放式传真封面文件编辑、设计,真正图文并茂;2.◆支持Class1/class2/class2.0等多类传真卡并可自动侦测;3.◆功能强大的字符宏替换,轻松创建各类传真标注;4.◆可导入多种图像格式文件,方便实现传真图片和印章盖戳;5.◆一次添加数百个传真任务,极适合商务传真群发广播;6.◆可以手动方式接收传真,也可自动监控并接收传真;7.◆支持传真文件翻转、放大、缩小、压缩等方式浏览;8.◆轻松打印传真文件,支持一边接收传真一边自动打印传真;9.◆支持WORD/WPS等各类文字办公处理系统直接转发传真;10.◆真正绿色软件,无需安装即可使用,操作简便,界面美观。
加密方式:注册码 功能限制:次数限制 PJ工具:TRW20001.23注册版、PE-SCAN3.31、W32Dasm8.93黄金版,FI2.5 PJ日期:2003-03-17 作者newlaos申明:只是学习,请不用于商业用途或是将本文方法制作的注册机任意传播,造成后果,本人一概不负。
1、先用FI2.5看一下主程序speedfaxV24.exe,没有加壳
2、用W32Dasm8.93黄金版对主程序进行静态反汇编,再用串式数据参考,找到"软件登记注册成功!"(很经典的句子),双击来到下面代码段。这样就找到注册码的计算部分。
3、再用TRW20001.23注册版进行动态跟踪,下断BPX 4FF938(通常在注册成功与否前面一些下断,这样,才能找到关键部分),先输入假码78787878
...... ...... :004FF924 8D4DF4 lea ecx, dword ptr [ebp-0C]
* Possible StringData Ref from Code Obj ->"请输入您的软件注册码" | :004FF927 BA2CFA4F00 mov edx, 004FFA2C
* Possible StringData Ref from Code Obj ->"登记注册" | :004FF92C B84CFA4F00 mov eax, 004FFA4C :004FF931 E87A36F4FF call 00442FB0 :004FF936 3C01 cmp al, 01 <===看你是点了确定还是放弃 :004FF938 0F85A8000000 jne 004FF9E6 <===如果是点的放弃,则跳到后面去了。 :004FF93E 8D55D4 lea edx, dword ptr [ebp-2C] :004FF941 8B45F4 mov eax, dword ptr [ebp-0C] <===EAX=78787878 :004FF944 E87B9DF0FF call 004096C4 <===EAX放了一个地址指针,正好指向我们输入的假码 :004FF949 8B45D4 mov eax, dword ptr [ebp-2C] <===EAX=78787878 :004FF94C E8C3A0F0FF call 00409A14 <===将注册码进行第一次加工,当输入假码是78787878时,这里EAX=4B23526,从下面推上来,EAX应该等于199FF22,才能注册成功,F8跟进看个究竟 :004FF951 8945F8 mov dword ptr [ebp-08], eax :004FF954 8955FC mov dword ptr [ebp-04], edx :004FF957 6A00 push 00000000 :004FF959 6A1B push 0000001B :004FF95B 8B45F8 mov eax, dword ptr [ebp-08] <===上个CALL计算出来的EAX=4B23526 :004FF95E 8B55FC mov edx, dword ptr [ebp-04] <===EDX=0 :004FF961 E88266F0FF call 00405FE8 <===将注册码进行第二次加工,当输入假码是78787878时,这里EAX=2C86B5,从下面推上来,EAX应该等于F2F6,才能注册成功,F8跟进看个究竟 :004FF966 8945F8 mov dword ptr [ebp-08], eax <===这里就算出了EAX,这里要正确则EAX=686+EC70=F2F6 :004FF969 8955FC mov dword ptr [ebp-04], edx :004FF96C 8B45F8 mov eax, dword ptr [ebp-08] :004FF96F 8B55FC mov edx, dword ptr [ebp-04] :004FF972 2D70EC0000 sub eax, 0000EC70 <===第二次计算出来的EAX再减去EC70,成功的关键就是要等于686 :004FF977 83DA00 sbb edx, 00000000 <===EDX=0 :004FF97A 8945F8 mov dword ptr [ebp-08], eax :004FF97D 8955FC mov dword ptr [ebp-04], edx :004FF980 8D45D8 lea eax, dword ptr [ebp-28] :004FF983 E8CCEDFFFF call 004FE754 :004FF988 8B45D8 mov eax, dword ptr [ebp-28] <===这里的值是经过上面计算好的,是固定的686 :004FF98B 99 cdq <===这里EDX被清0 :004FF98C 8945E8 mov dword ptr [ebp-18], eax :004FF98F 8955EC mov dword ptr [ebp-14], edx :004FF992 8B45F8 mov eax, dword ptr [ebp-08] <===这里说明,[EBP-08]必须和[EBP-18]相等 :004FF995 8B55FC mov edx, dword ptr [ebp-04] <===这里说明,[EBP-04]必须和[ebp-14]相等 :004FF998 3B55EC cmp edx, dword ptr [ebp-14] <===必须相等 :004FF99B 7534 jne 004FF9D1 <===都是0,所以不会跳过去的。 :004FF99D 3B45E8 cmp eax, dword ptr [ebp-18] <===必须相等(EAX要等于686), 这个686好象是计算机的CPU ID :004FF9A0 752F jne 004FF9D1 <===跳过去就OVER了 :004FF9A2 8B83B4030000 mov eax, dword ptr [ebx+000003B4] :004FF9A8 E8037BFCFF call 004C74B0 :004FF9AD 6A00 push 00000000 :004FF9AF 668B0D58FA4F00 mov cx, word ptr [004FFA58] :004FF9B6 B202 mov dl, 02
* Possible StringData Ref from Code Obj ->"软件登记注册成功!" | :004FF9B8 B864FA4F00 mov eax, 004FFA64 :004FF9BD E8D234F4FF call 00442E94 :004FF9C2 33D2 xor edx, edx :004FF9C4 8B838C030000 mov eax, dword ptr [ebx+0000038C] :004FF9CA E839C3F5FF call 0045BD08 :004FF9CF EB15 jmp 004FF9E6
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses: |:004FF99B(C), :004FF9A0(C) | :004FF9D1 6A00 push 00000000 :004FF9D3 668B0D58FA4F00 mov cx, word ptr [004FFA58] :004FF9DA B201 mov dl, 01
* Possible StringData Ref from Code Obj ->"软件注册号错误!" | :004FF9DC B880FA4F00 mov eax, 004FFA80 :004FF9E1 E8AE34F4FF call 00442E94
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses: |:004FF938(C), :004FF9CF(U) | :004FF9E6 33C0 xor eax, eax :004FF9E8 5A pop edx :004FF9E9 59 pop ecx :004FF9EA 59 pop ecx :004FF9EB 648910 mov dword ptr fs:[eax], edx :004FF9EE 680BFA4F00 push 004FFA0B
* Referenced by a (U)nconditional or (C)onditional Jump at Address: |:004FFA09(U) | :004FF9F3 8D45D4 lea eax, dword ptr [ebp-2C] :004FF9F6 E8F555F0FF c [1] [2] [3] [4] [5] 下一页 |