APP资源网_中文资源在线官网_А天堂中文官网_中文在线APP资源下载网

极限信息发布器 算法分析

网际搜索 NetSearch V1.0算法分析

人气:0引自:APP资源下载网

▲软件名称▲  网际搜索 NetSearch V1.0 ▲软件简介▲  一款互联网搜索软件,能有效的对网站、软件、新闻、音乐、图书、购物、股票等进行搜索,而不用烦索的登录到各大网站,直接在本软件内部输入关键字进行搜索,大大的节省了上网时间和费用。 ▲破解难度▲  非明码破解。算法难度初级。 ▲破解背景▲  这几天真的非常背呀!机器总是死机、重启,开不开又关不成!唉,命好苦呃。。。。索性上网找了个软柿子,拼命地狠捏了一通,算是解了心头之恨!!!!呵呵。。“高不成、低不就”的我在这里就再现一回眼,把它贴了出来啦! ▲破解过程▲     这是一个非明码的注册方式,如果注册不对,它会有提示,又没加过壳,因此反编译是很容易的。但是,也正由于其非明码,所以可能对初学的朋友们来说会有些难度。因此,我尽量把过程写得细些,供大家参考。     首先,设断Bpx hmemcpy,然后F5退出,然后填写名与码,然后点击注册认证,会中断。然后,清断,然后12下F12(因为13下会出错),就会来到如下地方: * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:004AC9C6(C) | :004ACA3B 8B45F4                  mov eax, dword ptr [ebp-0C]======>我们停在这儿。 :004ACA3E E87974F5FF              call 00403EBC======>取注册名的长度并保存在EAX中。 :004ACA43 8BF0                    mov esi, eax========>ESI=EAX=注册名的长度 :004ACA45 85F6                    test esi, esi=======>测试ESI是否为0。即:判断是否什么都没输入。 :004ACA47 7E38                    jle 004ACA81========>什么都没输入就跳了,那就玩完。。 :004ACA49 C745F001000000          mov [ebp-10], 00000001====>给[ebp-10]赋值为01,下边要用到它进行一次传送,然后作为循环计算时的计数器。 ===================循环计算开始=================== * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:004ACA7F(C) | :004ACA50 8D45EC                  lea eax, dword ptr [ebp-14] :004ACA53 50                      push eax :004ACA54 B901000000              mov ecx, 00000001=============>ECX=01 :004ACA59 8B55F0                  mov edx, dword ptr [ebp-10]===>EDX=[ebp-10],就是上边提到的已经被赋值为01的那个。这里给EDX赋值为01,其作用就是为下边即将进行的循环过程计数。 :004ACA5C 8B45F4                  mov eax, dword ptr [ebp-0C]===>EAX=用户名 :004ACA5F E86076F5FF call04040C4===============>依次取用户名的每一个字符送给EAX :004ACA64 8B45EC                  mov eax, dword ptr [ebp-14]===>EAX=用户名第一个字符 :004ACA67 E81476F5FF              call 00404080=================>取字符的$ :004ACA6C 8A00                    mov al, byte ptr [eax]========>AL=所取字符的$ :004ACA6E 25FF000000              and eax, 000000FF=============>EAX和000000FF进行与运算,事实上就是把EAX的值写为上面所取字符的16进制值。 :004ACA73 03D8                    add ebx, eax==================>EBX=EBX+EAX。什么意思呢?就是说,依次取了我们输入的用户名的字符后,把所取的字符值存入了EAX,然后把这个值与EBX相加,结果存入了EBX。EBX在初始时,值是0,因此,第一次运行到这里,就是把我们所取的第一个用户名$给了EBX。下次开始再运行到这里时,就是把后面的计算结果与每次所取的字符值依次相加后,放入EBX了。呵呵。。。。因此,第一次时,EBX=EAX。 :004ACA75 81C351EBC900            add ebx, 00C9EB51=============>上面的结果EBX与00C9EB51相加,再把计算的和存在EBX中。 :004ACA7B FF45F0                  inc [ebp-10]==================>[ebp-10]加1,开始计数。 :004ACA7E 4E                      dec esi=======================>ESI减1。前面ESI已经被赋值为用户名$长度了,因此,这里减1,意味着已经有一个字符被取算完成。 :004ACA7F 75CF                    jne 004ACA50==================>没取完跳回,取完继续。 * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:004ACA47(C) | :004ACA81 8D55E8                  lea edx, dword ptr [ebp-18] :004ACA84 8B45FC                  mov eax, dword ptr [ebp-04] :004ACA87 8B8000090000            mov eax, dword ptr [eax+00000900] :004ACA8D E8FA07F8FF              call 0042D28C=====================>取注册码个数 :004ACA92 8B45E8                  mov eax, dword ptr [ebp-18]=======>EAX=[ebp-18]=输入的注册码 :004ACA95 E8F6C0F5FF              call 00408B90=====================>取注册码的值存入EAX :004ACA9A 3BD8                    cmp ebx, eax======================>比较EBX与EAX。即比较前面计算的结果值与注册码的值是否相等 :004ACA9C 7519                    jne 004ACAB7======================>不相等,就完蛋啦! :004ACA9E C645FB01                mov [ebp-05], 01 :004ACAA2 B8B49A4C00              mov eax, 004C9AB4 :004ACAA7 8B55F4                  mov edx, dword ptr [ebp-0C] :004ACAAA E8E171F5FF              call 00403C90 :004ACAAF 891DB89A4C00            mov dword ptr [004C9AB8], ebx :004ACAB5 EB04                    jmp 004ACABB ▲算法总结▲         用户名与注册码的关系应该是这样的:比如,我取用户名为ABC。那么,先经过如下计算得到EBX的值为41+00C9EB51+42+00C9EB51+43+00C9EB51=25DC2B9。然后,将其转化为10进制值:39699129。这就是注册码了。应该指出的是,这个软件对注册码长度是没有限制的,哪怕你只在用户名中输入一个字符,那么也可以注册成功!中文名字就更可以啦!只是要注意,中文名字一个字相当于两个字节长度的。呵呵。。。。     收工喽…………………………@!@ -------------------------------------------------------------------------------- 神龙宝宝 goodbao[P.J.CHINA][BCG][CNCG]

专题文集:破解文章 windows
引用标题:《极限信息发布器 算法分析》
来源地址:https://www.xjanfang.cn/news/tpart-21010.html