您的位置:首页精文荟萃破解文章 → 软件管理专家(Flash Soft Manager) V1.22a 算法分析

软件管理专家(Flash Soft Manager) V1.22a 算法分析

时间:2004/10/15 0:57:00来源:本站整理作者:蓝点我要评论(0)

 
软件管理专家(Flash Soft Manager) V1.22a
软件大小: 2181 KB
软件语言: 简体中文
软件类别: 国产软件 / 免费版 / 文件管理
应用平台: Win9x/NT/2000/XP
界面预览:
加入时间: 2003-03-07 18:08:58
下载次数: 13208
推荐等级:
联 系 人:hylwr@sina.com
开 发 商: http://hysoftware.yeah.net/
下载地址: http://count.skycn.com/softdown.php?id=4880&url=http://jshttp.skycn.net/down/flashsoft
manager.zip
软件介绍:
下载文件的管理有时候是一件挺麻烦的事,特别是象笔者这样的网虫,每天都要下载大量的文件,而且一
股脑的放在download目录下,但是时间一长的话,看着这些压缩包,自己也搞不清那个文件是干什么用的了。
本软件就是用来管理这些下载文件的,你只要选中一个软件,将它拖拽到FlashSoft的窗口中,填写一些备忘
的信息,就把这个下载软件分门别类地放到文件盒中了,下次需要的话,不用去找,直接在软件中调用就ok了
,是不是挺方便的?



用fi250看,是delphi的,用dede3.1反汇编出来,点“过程”-》“mainform”-》双击“memu_registercli
ck”代码如下:

004E992F 64FF30 push dword ptr fs:[eax]
004E9932 648920 mov fs:[eax], esp
* Reference to field TFrmMain.OFFS_052C
|
004E9935 80BB2C05000000 cmp byte ptr [ebx+$052C], $00
004E993C 0F85C3000000 jnz 004E9A05
004E9942 8D45FC lea eax, [ebp-$04]
004E9945 50 push eax
004E9946 8D45F4 lea eax, [ebp-$0C]
004E9949 50 push eax
* Possible String Reference to: 'Msg_EnterUserName'
|
004E994A B9589A4E00 mov ecx, $004E9A58
* Possible String Reference to: 'Messages'
|
004E994F BA749A4E00 mov edx, $004E9A74
* Reference to field TFrmMain.OFFS_0524
|
004E9954 8B8324050000 mov eax, [ebx+$0524]
* Reference to: Unit_00490C45.Proc_00491C7C
|
004E995A E81D83FAFF call 00491C7C
004E995F 8B45F4 mov eax, [ebp-$0C]
004E9962 33C9 xor ecx, ecx
004E9964 33D2 xor edx, edx
* Reference to : TMessageForm._PROC_004456EC()
|
004E9966 E881BDF5FF call 004456EC
004E996B 8D45F8 lea eax, [ebp-$08]
004E996E 50 push eax
004E996F 8D45F0 lea eax, [ebp-$10]
004E9972 50 push eax
* Possible String Reference to: 'Msg_EnterUserCode'
|
004E9973 B9889A4E00 mov ecx, $004E9A88
* Possible String Reference to: 'Messages'
|
004E9978 BA749A4E00 mov edx, $004E9A74
* Reference to field TFrmMain.OFFS_0524
|
004E997D 8B8324050000 mov eax, [ebx+$0524]
* Reference to: Unit_00490C45.Proc_00491C7C
|
004E9983 E8F482FAFF call 00491C7C
004E9988 8B45F0 mov eax, [ebp-$10]
004E998B 33C9 xor ecx, ecx
004E998D 33D2 xor edx, edx
* Reference to : TMessageForm._PROC_004456EC()
|
004E998F E858BDF5FF call 004456EC
004E9994 8B55F8 mov edx, [ebp-$08]
004E9997 8B45FC mov eax, [ebp-$04]
* Reference to: Unit_00490C45.Proc_00490CFC
|
004E999A E85D73FAFF call 00490CFC //关键call
004E999F 84C0 test al, al
004E99A1 743F jz 004E99E2
004E99A3 8B55FC mov edx, [ebp-$04]
* Reference to field TFrmMain.OFFS_0520
|
004E99A6 8B8320050000 mov eax, [ebx+$0520]
* Reference to: Unit_00490C45.Proc_00491700
|
004E99AC E84F7DFAFF call 00491700
004E99B1 8B55F8 mov edx, [ebp-$08]
* Reference to field TFrmMain.OFFS_0520
|
004E99B4 8B8320050000 mov eax, [ebx+$0520]
* Reference to: Unit_00490C45.Proc_004916C0
|
004E99BA E8017DFAFF call 004916C0
004E99BF 8D45EC lea eax, [ebp-$14]
004E99C2 50 push eax
* Possible String Reference to: 'Msg_RegOk' //注册正确出来的窗口
|
004E99C3 B9A49A4E00 mov ecx, $004E9AA4
* Possible String Reference to: 'Messages'
|
004E99C8 BA749A4E00 mov edx, $004E9A74
* Reference to field TFrmMain.OFFS_0524
|
004E99CD 8B8324050000 mov eax, [ebx+$0524]
* Reference to: Unit_00490C45.Proc_00491C7C
|
004E99D3 E8A482FAFF call 00491C7C
004E99D8 8B45EC mov eax, [ebp-$14]
* Reference to : TMessageForm._PROC_004453AC()
|
004E99DB E8CCB9F5FF call 004453AC
004E99E0 EB44 jmp 004E9A26
004E99E2 8D45E8 lea eax, [ebp-$18]
004E99E5 50 push eax
* Possible String Reference to: 'Msg_RegFalse' //注册错误出来的窗口
|
004E99E6 B9B89A4E00 mov ecx, $004E9AB8
* Possible String Reference to: 'Messages'
|
004E99EB BA749A4E00 mov edx, $004E9A74
* Reference to field TFrmMain.OFFS_0524
|
004E99F0 8B8324050000 mov eax, [ebx+$0524]
* Reference to: Unit_00490C45.Proc_00491C7C
|
004E99F6 E88182FAFF call 00491C7C
004E99FB 8B45E8 mov eax, [ebp-$18]
* Reference to : TMessageForm._PROC_004453AC()
|
004E99FE E8A9B9F5FF call 004453AC
004E9A03 EB21 jmp 004E9A26
004E9A05 8D45E4 lea eax, [ebp-$1C]
004E9A08 50 push eax
* Possible String Reference to: 'Msg_RegED'
|
004E9A09 B9D09A4E00 mov ecx, $004E9AD0
* Possible String Reference to: 'Messages'
|
004E9A0E BA749A4E00 mov edx, $004E9A74
* Reference to field TFrmMain.OFFS_0524
|
004E9A13 8B8324050000 mov eax, [ebx+$0524]

进入关键call 00490CFC
...
* Reference to FrmMain
|
00490D2F 8B45FC mov eax, [ebp-$04]
* Reference to: Unit_00490C45.Proc_00490D98
|
00490D32 E861000000 call 00490D98 //计算注册码,进入
00490D37 8B45F4 mov eax, [ebp-$0C]
00490D3A 8B55F8 mov edx, [ebp-$08] //d eax=注册码
* Reference to: System.Proc_00404DC4
|
00490D3D E88240F7FF call 00404DC4
00490D42 7504 jnz 00490D48
00490D44 B301 mov bl, $01
00490D46 EB02 jmp 00490D4A

进入计算注册码 call 00490D98
...
* Reference to: System.Proc_00404C80
|
00490DC5 E8B63EF7FF call 00404C80
00490DCA 8BC8 mov ecx, eax //ecx=name字符长
00490DCC 85C9 test ecx, ecx
00490DCE 7E1C jle 00490DEC //未输入name跳出
00490DD0 BE01000000 mov esi, $00000001
00490DD5 8B45FC mov eax, [ebp-$04] //把NAME的字符串送到EAX
00490DD8 0FB67C30FF movzx edi, byte ptr [eax+esi-$01] //依次把name字符串的ASCII
值送到EDI
00490DDD 8BC3 mov eax, ebx //ebx第一次等于1
00490DDF 99 cdq //edx清零,与下面二行是垃圾码,下面还有二处
00490DE0 33C2 xor eax, edx //eax^0
00490DE2 2BC2 sub eax, edx //eax-0
00490DE4 F7EF imul edi //eax*edi累乘
00490DE6 8BD8 mov ebx, eax //计算结果保存到ebx
00490DE8 46 inc esi //计数器加1
00490DE9 49 dec ecx
00490DEA 75E9 jnz 00490DD5 //未取完,继续循环
00490DEC 8BC3 mov eax, ebx
00490DEE 99 cdq //同上
00490DEF 33C2 xor eax, edx
00490DF1 2BC2 sub eax, edx
00490DF3 83C064 add eax, +$64 //eax+$64
00490DF6 99 cdq //同上
00490DF7 33C2 xor eax, edx
00490DF9 2BC2 sub eax, edx
00490DFB 8BD8 mov ebx, eax //到这里计算结束,保存在ebx
00490DFD 8B55F8 mov edx, [ebp-$08]
00490E00 8BC3 mov eax, ebx
* Reference to: Unit_004082AC.Proc_004094B4
|
00490E02 E8AD86F7FF call 004094B4
00490E07 33C0 xor eax, eax
00490E09 5A pop edx
00490E0A 59 pop ecx
00490E0B 59 pop ecx
00490E0C 648910 mov fs:[eax], edx
****** FINALLY
|
* Possible String Reference to: '_^[YY]脨S嬝?'
|
00490E0F 68240E4900 push $00490E24
00490E14 8D45FC lea eax, [ebp-$04]
* Reference to: System.Proc_004049C8
|
00490E17 E8AC3BF7FF call 004049C8
00490E1C C3 ret
00490E1D E9EE34F7FF jmp 00404310
00490E22 EBF0 jmp 00490E14
****** END
|
00490E24 5F pop edi
00490E25 5E pop esi
00490E26 5B pop ebx
00490E27 59 pop ecx
00490E28 59 pop ecx
00490E29 5D pop ebp
00490E2A C3 ret

总结:
算法很简单,依次将name字符串的ASCII值相乘+$64,转十进制

要成为未注册的话,只要把dfbox.ini里的[UserInfo]
UserName和UserCode改掉或删掉就可以了
VB注册机原码(支持中文)
-------------
Private Sub Cmd1_Click()
Dim a() As Byte
Dim b, d, i
a = StrConv(Text1.Text, vbFromUnicode)
d = 1
For i = 0 To UBound(a) 'UBound(a)数组长度
b = a(i)
d = b * d '字符串ASCII值累乘
Next
d = d + 100
Text2.Text = d
End Sub
--------------
----------------------

        致
礼!

       happymg
happymg@163.com

             2003-03-11

    
    
     
    
    
     

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 去除winrar注册框方法

最新文章 比特币病毒怎么破解 比去除winrar注册框方法 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据

人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程