瑞鲁手机APP下载网_专注推荐好用的手机APP和游戏APP

小小助手V2.01的破解过程-----算是我留给初学者的一偏破文 (7千字)

小小助手V2.01的破解过程-----算是我留给初学者的一偏破文 (7千字)

查看人次:0摘自:瑞鲁下载网

 

小小助手V2.01的破解过程                                   作者:任逍遥[BCG]、[FCG] 软件名称:小小助手V2.01 软件大小:  594 KB 软件语言:  简体中文 软件类别:  国产软件 / 共享版 / 个人管理 应用平台:  Win95/98/NT/2000 软件介绍: 本软件具有定时提醒、通讯录管理、日记管理三大功能,并设有密码保护,初始密码为:123。 1.定时提醒:可设置指定的日期、时间提醒您不要忘做某某事,如果该事没有做,还可设置间隔多少分钟重复提醒,并可选择WAV、MIDI、以及MP3格式的文件做为提醒时的音乐。因此,也可以把它作为定时点歌器。日期格式为:年-月-日 或 月-日,时间格式为:小时:分钟:秒 或 小时:分钟。要选择MP3作为提醒音乐,必须安装IE5.0及以上版本或媒体播放器。2.通讯录管理:设有家庭电话、办公电话、手机、E-mail、工作单位等多项内容,模糊查询功能,只需输入姓名、住址或电话前面的几个字或号码,即可查找出相匹配的记录。3.日记管理:可设置日记的背景颜色、字体格式,并可按日期进行查找。4.密码更改:按鼠标右键,选择密码更改,即可进行密码的更改。5.如果本软件不能正常运行,请将midas.dll复制到windows\system目录下。 下载地址:http://gd.skycn.net/down/little_assistant.zip 用FI检测到该软件加了壳,用Prodump将"little_assistant.exe"脱壳,另存为"dd.exe",运行"dd.exe",输入: 用户名:jack 注册码:7878 运行TRW2000,按CTRL+N激活调试窗口,输入: bpx hmemcpy g 按"确定"后,调试窗口被激活,输入: bc * pmodule 成功进入软件领域,按F10跟踪: * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:004F2FD9(C) | :004F2FDB 00                      BYTE 0 :004F2FDC 55                      push ebp :004F2FDD 8BEC                    mov ebp, esp :004F2FDF 33C9                    xor ecx, ecx :004F2FE1 51                      push ecx :004F2FE2 51                      push ecx :004F2FE3 51                      push ecx :004F2FE4 51                      push ecx :004F2FE5 51                      push ecx :004F2FE6 51                      push ecx :004F2FE7 51                      push ecx :004F2FE8 53                      push ebx :004F2FE9 56                      push esi :004F2FEA 57                      push edi :004F2FEB 8945FC                  mov dword ptr [ebp-04], eax :004F2FEE 33C0                    xor eax, eax :004F2FF0 55                      push ebp :004F2FF1 68B9314F00              push 004F31B9 :004F2FF6 64FF30                  push dword ptr fs:[eax] :004F2FF9 648920                  mov dword ptr fs:[eax], esp :004F2FFC 8D45F4                  lea eax, dword ptr [ebp-0C] :004F2FFF E8340DF1FF              call 00403D38 :004F3004 8D55F0                  lea edx, dword ptr [ebp-10] :004F3007 8B45FC                  mov eax, dword ptr [ebp-04] :004F300A 8B8004050000            mov eax, dword ptr [eax+00000504] :004F3010 E8A7F7F3FF              call 004327BC :004F3015 837DF000                cmp dword ptr [ebp-10], 00000000 //用户名不能为空 :004F3019 0F8458010000            je 004F3177 //等于0就跳走 :004F301F 8D55F8                  lea edx, dword ptr [ebp-08] :004F3022 8B45FC                  mov eax, dword ptr [ebp-04] :004F3025 8B8004050000            mov eax, dword ptr [eax+00000504] :004F302B E88CF7F3FF              call 004327BC :004F3030 8B45F8                  mov eax, dword ptr [ebp-08] //读取用户名长度 :004F3033 E8800FF1FF              call 00403FB8 :004F3038 8BF0                    mov esi, eax :004F303A 85F6                    test esi, esi //检查长度是否为0 :004F303C 7E2A                    jle 004F3068 //小于或等于0就跳走 *******************************开始计算注册码*************************** :004F303E BF01000000              mov edi, 00000001 //赋值edi=1 * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:004F3066(C) | :004F3043 8B45F8                  mov eax, dword ptr [ebp-08] //读取用户名长度 :004F3046 33DB                    xor ebx, ebx //清0 :004F3048 8A5C38FF                mov bl, byte ptr [eax+edi-01] //读取第一个字符的10进制ASCII码,并将结果赋值给ebx :004F304C 83C37B                  add ebx, 0000007B //将ebx+123 :004F304F 8D55EC                  lea edx, dword ptr [ebp-14] :004F3052 8BC3                    mov eax, ebx //将ebx赋值给eax :004F3054 E88364F1FF              call 004094DC :004F3059 8B55EC                  mov edx, dword ptr [ebp-14] :004F305C 8D45F4                  lea eax, dword ptr [ebp-0C] :004F305F E85C0FF1FF              call 00403FC0 //这个CALL是对用户名中的中文名进行处理,具体就是:如果ASCII码+123< 0,就将edi-1 //(重新读取该字符的ASCII码,且第一次读取的是高位ASCII码,第二次的是低位ASCII码) //实现代码是:HighAscii=Int((65536 + bl) / 256) //LowAscii=(65536 + bl) Mod 256 :004F3064 47                      inc edi //edi+1 :004F3065 4E                      dec esi //esi-1 :004F3066 75DB                    jne 004F3043 //循环读取ASCII码 * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:004F303C(C) | :004F3068 8B45F4                  mov eax, dword ptr [ebp-0C] :004F306B E8480FF1FF              call 00403FB8 :004F3070 83F80A                  cmp eax, 0000000A //比较eax的长度是否为10 :004F3073 7E26                    jle 004F309B //小于或等于10则跳走,直接与输入的注册码比较;如果大于就进入下面的注册码处理程序 *************************读取eax前10位数字****************************** :004F3075 8D45E8                  lea eax, dword ptr [ebp-18] :004F3078 50                      push eax :004F3079 B90A000000              mov ecx, 0000000A :004F307E BA01000000              mov edx, 00000001 :004F3083 8B45F4                  mov eax, dword ptr [ebp-0C] :004F3086 E83511F1FF              call 004041C0 :004F308B 8B55E8                  mov edx, dword ptr [ebp-18] :004F308E 8D45F4                  lea eax, dword ptr [ebp-0C] **************************将上面所得的10位数字&121********************** * Possible StringData Ref from Code Obj ->"121"                                 | :004F3091 B9D0314F00              mov ecx, 004F31D0 :004F3096 E8690FF1FF              call 00404004 * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:004F3073(C) | :004F309B 8D55E4                  lea edx, dword ptr [ebp-1C] :004F309E 8B45FC                  mov eax, dword ptr [ebp-04] :004F30A1 8B8008050000            mov eax, dword ptr [eax+00000508] :004F30A7 E810F7F3FF              call 004327BC :004F30AC 8B55E4                  mov edx, dword ptr [ebp-1C] //错误的注册码 :004F30AF 8B45F4                  mov eax, dword ptr [ebp-0C] //正确的注册码 :004F30B2 E81110F1FF              call 004040C8 //比较 :004F30B7 0F85AE000000            jne 004F316B //不等就跳走 OK,终于获得了正确的注册码:2292202222121。输入,按"确定",呵呵,"您已经注册,感谢使用无超工作室的产品"。 VB注册机(可以支持中文名) Private Sub Command1_Click() Dim a, i As Long Dim b, c, d, e, f a = Len(Text1.Text) If a

相关文摘:破解文章 windows
标题名称:《小小助手V2.01的破解过程-----算是我留给初学者的一偏破文 (7千字)》
本文网址:https://www.sdruilu.cn/news/tpart-21248.html