Windows System Optimizer V3.1算法分析
作者:wzh123
软件大小: 1196 KB
软件语言: 英文
软件类别: 国外软件 / 共享版 / 系统设置
应用平台: Win9x/NT/2000/XP
软件介绍: Windows System Optimizer是一个非常不错的系统优化软件,主要包含系统安全优化,文件系统优化,注册表优化,IE浏览器优化,网络优化,和一般优化六个部分,可以帮助你全面的为系统加速,程序界面简单清晰,分类明确,非常容易使用!
PJ工具:TRW20001.23注册版,W32Dasm8.93黄金版,FI2.5
作者申明:只是学习,无其他目的。
1、软件没有加壳,用vc++编的;
2、用TRW20001.23注册版,输入试验码:a12-b34567-c89(跟踪可知格式),下断点,确定,过程不多说了,大家跟一下就知道了,直接说核心吧。(其实这个软件是以前破的,现在手上只留下了关于算法的笔记,自己又不想再跟一次,所以只有算法分析这一块,请大家谅解。另一方面,我觉得光看教程是一方面,关键自己要亲自操练一下才能有更大的收获,本人也是刚刚学破解,第一次写这种东西,错误在所难免,写的也很乱,请各位包涵,也请各位高手指教)
:0040D7D0 52 push edx
:0040D7D1 E8EAFEFFFF call 0040D6C0
:0040D7D6 8B542443 mov edx, dword ptr [esp+43]
:0040D7DA 88442418 mov byte ptr [esp+18], al
:0040D7DE 52 push edx
:0040D7DF E8DCFEFFFF call 0040D6C0
:0040D7E4 8AD8 mov bl, al
:0040D7E6 8B44244C mov eax, dword ptr [esp+4C]
:0040D7EA 50 push eax
:0040D7EB 885C245C mov byte ptr [esp+5C], bl
:0040D7EF E8CCFEFFFF call 0040D6C0
:0040D7F4 8A4C2420 mov cl, byte ptr [esp+20]
:0040D7F8 83C40C add esp, 0000000C
:0040D7FB 3ACB cmp cl, bl
:0040D7FD 88442410 mov byte ptr [esp+10], al
:0040D801 0F841AFFFFFF je 0040D721
:0040D807 3AD8 cmp bl, al
:0040D809 0F8412FFFFFF je 0040D721
:0040D80F 3AC1 cmp al, cl
:0040D811 0F840AFFFFFF je 0040D721 第5、8、13位不能相等
:0040D817 8B742414 mov esi, dword ptr [esp+14]
:0040D81B 8B6C2410 mov ebp, dword ptr [esp+10]
:0040D81F 8B7C2450 mov edi, dword ptr [esp+50]
:0040D823 81E6FF000000 and esi, 000000FF 第5位->esi
:0040D829 8BC6 mov eax, esi
:0040D82B 81E5FF000000 and ebp, 000000FF 第13位->ebp
:0040D831 F7D0 not eax 第5位取反->eax
:0040D833 81E7FF000000 and edi, 000000FF 第8位->edi
:0040D839 23C5 and eax, ebp 第5位取反and ebp->eax
:0040D83B 0BC7 or eax, edi
:0040D83D B93E000000 mov ecx, 0000003E 0x3e->ecx
:0040D842 0BC6 or eax, esi
:0040D844 896C241C mov dword ptr [esp+1C], ebp ebp->ss:[12f2fc]
:0040D848 33C6 xor eax, esi
:0040D84A 99 cdq
:0040D84B F7F9 idiv ecx
:0040D84D 8BDA mov ebx, edx 余数->ebx
:0040D84F 8B542438 mov edx, dword ptr [esp+38] "a123"->edx
:0040D853 52 push edx
:0040D854 895C2428 mov dword ptr [esp+28], ebx (余数)->ss:[12f304]
:0040D858 E863FEFFFF call 0040D6C0
:0040D85D 83C404 add esp, 00000004
:0040D860 3AD8 cmp bl, al 假码第1位与余数比较
:0040D862 0F85B9FEFFFF jne 0040D721 不等就死
:0040D868 8BDD mov ebx, ebp 第13位->ebx
:0040D86A 8BEF mov ebp, edi 第8位->ebp
:0040D86C F7D3 not ebx 第13位取反->ebx
:0040D86E 23EE and ebp, esi 第8位 and 第5位->ebp
:0040D870 23DF and ebx, edi ebx and 第8位->ebx
:0040D872 8BC5 mov eax, ebp
:0040D874 B93E000000 mov ecx, 0000003E
:0040D879 0BC3 or eax, ebx
:0040D87B 99 cdq
:0040D87C F7F9 idiv ecx
:0040D87E 89542418 mov dword ptr [esp+18], edx 余数->ss:[12f2f8]
:0040D882 8B542439 mov edx, dword ptr [esp+39] "12-b"->edx
:0040D886 52 push edx
:0040D887 E834FEFFFF call 0040D6C0 转换
:0040D88C 8A4C241C mov cl, byte ptr [esp+1C] ss:[12f2f8]余数->cl
:0040D890 83C404 add esp, 00000004
:0040D893 3AC8 cmp cl, al 假码第2位与余数比较
:0040D895 0F8586FEFFFF jne 0040D721 不等就死
:0040D89B 8A442410 mov al, byte ptr [esp+10] ss:[12f2f0]第13位->al
:0040D89F 8A4C2450 mov cl, byte ptr [esp+50] ss:[12f330]第8位->cl
:0040D8A3 32C1 xor al, cl 第13位 xor 第8位->al
:0040D8A5 8A4C2414 mov cl, byte ptr [esp+14] ss:[12f2f4]第5位->cl
:0040D8A9 32C1 xor al, cl
:0040D8AB 0AC1 or al, cl
:0040D8AD 88442450 mov byte ptr [esp+50], al al->ss:[12f330]
:0040D8B1 8B44243A mov eax, dword ptr [esp+3A] "2-b3"->eax
:0040D8B5 50 push eax
:0040D8B6 E805FEFFFF call 0040D6C0
:0040D8BB 8A4C2454 mov cl, byte ptr [esp+54] ss:[12f330]->cl
:0040D8BF 83C404 add esp, 00000004
:0040D8C2 3AC8 cmp cl, al 假码第3位与cl比较
:0040D8C4 0F8557FEFFFF jne 0040D721 不等就死
:0040D8CA 8A442410 mov al, byte ptr [esp+10] ss:[12f2f0]第13位->al
:0040D8CE B93E000000 mov ecx, 0000003E 3e->ecx
:0040D8D3 F6D0 not al al取反
:0040D8D5 25FF000000 and eax, 000000FF eax and ff->eax
:0040D8DA 0BC6 or eax, esi eax or 第5位->eax
:0040D8DC 33C7 xor eax, edi eax or 第8位->eax
:0040D8DE 99 cdq
:0040D8DF F7F9 idiv ecx
:0040D8E1 89542420 mov dword ptr [esp+20], edx 余数->ss:[12f300]
:0040D8E5 8B54243D mov edx, dword ptr [esp+3D] "3456"->edx
:0040D8E9 52 push edx
:0040D8EA E8D1FDFFFF call 0040D6C0
:0040D8EF 8A4C2424 mov cl, byte ptr [esp+24] ss:[12f300]余数->cl
:0040D8F3 83C404 add esp, 00000004
:0040D8F6 3AC8 cmp cl, al 假码第6位与余数比较
:0040D8F8 0F8523FEFFFF jne 0040D721 不等就死
:0040D8FE 8B44241C mov eax, dword ptr [esp+1C] ss:[12f2fc]->eax
:0040D902 B93E000000 mov ecx, 0000003E 3e->ecx
:0040D907 33E8 xor ebp, eax
:0040D909 8D446D00 lea eax, dword ptr [ebp+2*ebp]
:0040D90D 8D448500 lea eax, dword ptr [ebp+4*eax] ebp*D->eax
:0040D911 99 cdq
:0040D912 F7F9 idiv ecx
:0040D914 8954241C mov dword ptr [esp+1C], edx 余数->ss:[12f2fc]
:0040D918 8B54243E mov edx, dword ptr [esp+3E] "4567"->edx
:0040D91C 52 push edx
:0040D91D E89EFDFFFF call 0040D6C0
:0040D922 8A4C2420 mov cl, byte ptr [esp+20] ss:[12f2fc]余数->cl
:0040D926 83C404 add esp, 00000004
:0040D929 3AC8 cmp cl, al 假码第7位与余数比较
:0040D92B 0F85F0FDFFFF jne 0040D721 不等就死
:0040D931 8A442424 mov al, byte ptr [esp+24] ss:[12f304]即余数->al(见上)
:0040D935 8B4C2440 mov ecx, dword ptr [esp+40] "67-c"->ecx
:0040D939 88442424 mov byte ptr [esp+24], al al->ss:[12f304]
:0040D93D 51 push ecx
:0040D93E 8B6C2428 mov ebp, dword ptr [esp+28] ss:[12f304]即余数->ebp(见上)
:0040D942 81E5FF000000 and ebp, 000000FF ebp and ff->ebp
:0040D948 E873FDFFFF call 0040D6C0
:0040D94D 8AC8 mov cl, al 第9位->cl
:0040D94F 8BC5 mov eax, ebp ebp->eax
:0040D951 F7D0 not eax eax取反->eax
:0040D953 23C7 and eax, edi eax and edi->eax
:0040D955 83C404 add esp, 00000004
:0040D958 0BC5 or eax, ebp eax or ebp->eax
:0040D95A 0BC6 or eax, esi eax or esi->eax
:0040D95C 33C5 xor eax, ebp eax xor ebp->eax
:0040D95E BD3E000000 mov ebp, 0000003E 3e->ebp
:0040D963 99 cdq
:0040D964 F7FD idiv ebp
:0040D966 3AD1 cmp dl, cl 余数与假码第9位比较
:0040D968 0F85B3FDFFFF jne 0040D721 不等就死
:0040D96E 8B542441 mov edx, dword ptr [esp+41] "7-c8"->edx
:0040D972 52 push edx
:0040D973 E848FDFFFF call 0040D6C0
:0040D978 8AC8 mov cl, al 第10位->cl
:0040D97A 8B44241C mov eax, dword ptr [esp+1C] ss:[12f2f8]余数(见上)->eax
:0040D97E 25FF000000 and eax, 000000FF 第8位 and ff->eax
:0040D983 83C404 add esp, 00000004
:0040D986 23C7 and eax, edi eax and edi=第8位->eax
:0040D988 8BFD mov edi, ebp 3e->edi
:0040D98A 0BC3 or eax, ebx eax or ebx
:0040D98C 99 cdq
:0040D98D F7FF idiv edi
:0040D98F 3AD1 cmp dl, cl 假码第10位与余数比较
:0040D991 0F858AFDFFFF jne 0040D721 不等就死
:0040D997 8B542443 mov edx, dword ptr [esp+43] "c89E"->edx
:0040D99B 52 push edx
:0040D99C E81FFDFFFF call 0040D6C0
:0040D9A1 8A4C2454 mov cl, byte ptr [esp+54] ss:[12f330]即第3位算码->cl(见上)
:0040D9A5 8A5C2414 mov bl, byte ptr [esp+14] ss:[12f2f0]"8"->bl
:0040D9A9 8AD1 mov dl, cl cl->dl
:0040D9AB 83C404 add esp, 00000004
:0040D9AE 32D3 xor dl, bl dl xor bl->dl
:0040D9B0 8A5C2414 mov bl, byte ptr [esp+14] ss:[12f2f4]"b"->bl
:0040D9B4 32D3 xor dl, bl dl xor bl->dl
:0040D9B6 0AD1 or dl, cl dl or cl->dl
:0040D9B8 3AD0 cmp dl, al dl与假码第12位比较
:0040D9BA 0F8561FDFFFF jne 0040D721 不等就死
:0040D9C0 8B442445 mov eax, dword ptr [esp+45] "9E"->eax
:0040D9C4 50 push eax
:0040D9C5 E8F6FCFFFF call 0040D6C0
:0040D9CA 8B4C2424 mov ecx, dword ptr [esp+24] ss:[12f300]即第6位算码(见上)->ecx
:0040D9CE 8AD8 mov bl, al 第14位->bl
:0040D9D0 8A442420 mov al, byte ptr [esp+20] ss:[12f2fc]余数即第7位算码->al
:0040D9D4 81E1FF000000 and ecx, 000000FF ecx and ff->ecx
:0040D9DA F6D0 not al al取反->al
:0040D9DC 25FF000000 and eax, 000000FF 取al->eax
:0040D9E1 83C404 add esp, 00000004
:0040D9E4 0BC1 or eax, ecx eax or ecx->eax
:0040D9E6 8BCD mov ecx, ebp 3e->ecx
:0040D9E8 33C6 xor eax, esi eax xor 第4位->eax
:0040D9EA 5F pop edi
:0040D9EB 99 cdq
:0040D9EC F7F9 idiv ecx
:0040D9EE 33C0 xor eax, eax
:0040D9F0 5E pop esi
:0040D9F1 5D pop ebp
:0040D9F2 3AD3 cmp dl, bl 余数与假码第14位比较
:0040D9F4 5B pop ebx
:0040D9F5 0F94C0 sete al 不等则条件为假去死
:0040D9F8 83C43C add esp, 0000003C
:0040D9FB C3 ret
所以注册码与姓名无关,算法如下:
注册码为14位,格式:s1s2s3-s4s5s6s7s8s9-s10s11s12 s取值范围为:0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
s4、s7、s11位决定其他各位,且s4,s7,s11互不相等。
1、s1=((((~s4)&s11)|s7)^s4)%0x3E;
2、s2=(((~s11)&s7)|(s7&s4))%0x3E;
3、s3=((s11^s7)^s4)|s4;
4、s5=((((~s11)&0xFF)|s4)^s7)%0x3E;
5、s6=(((s4&s7)^s11)*)0xD)%0x3E;
6、s8=(((((~s1)&s7)|s1)|s4)^s1)%0x3E;
7、s9=((s2&s7)|((~s11)&s7))%0x3E;
8、s10=((s3|s11)^s4)|s3;
9、s12=(((~s6)|s5)^s4)%0x3E.
XaP-qqBaXa-az6是2.6版的注册码
一个可用的注册码是xaX-qqBaqa-Xz6
相关视频
相关阅读 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破解如何给软件脱壳基础教程
查看所有0条评论>>