Taskbar Hide 2.0算法分析
本帖最后由 hahacker 于 2016-9-1 19:02 编辑Taskbar Hide可以是您的桌面更加美观,同时使用起来也更加方便。您可以隐藏不想使用的工具栏和应用程序窗口,控制起来相当方便!
找软件时找到这个东西了,所以接下来,你懂的。。。算法很简单,不过还是写出来吧。软件下载地址:http://www.onlinedown.net/soft/33635.htm
00479EAC/$55 push ebp
00479EAD|.8BEC mov ebp,esp
00479EAF|.6A 00 push 0x0
00479EB1|.53 push ebx
00479EB2|.56 push esi
00479EB3|.8BF0 mov esi,eax
00479EB5|.33C0 xor eax,eax
00479EB7|.55 push ebp
00479EB8|.68 489F4700 push TaskBar.00479F48
00479EBD|.64:FF30 push dword ptr fs:
00479EC0|.64:8920 mov dword ptr fs:,esp
00479EC3|.33DB xor ebx,ebx
00479EC5|.8D45 FC lea eax,dword ptr ss:
00479EC8|.8BD6 mov edx,esi
00479ECA|.E8 41A2F8FF call TaskBar.00404110
00479ECF|.8B45 FC mov eax,dword ptr ss: ;假码
00479ED2|.E8 61A4F8FF call TaskBar.00404338
00479ED7|.83F8 0A cmp eax,0xA
00479EDA|.75 56 jnz short TaskBar.00479F32 ;假码长度必须是A
00479EDC|.8B45 FC mov eax,dword ptr ss:
00479EDF|.33C9 xor ecx,ecx
00479EE1|.8A08 mov cl,byte ptr ds: ;假码的第一位
00479EE3|.8BC1 mov eax,ecx
00479EE5|.8B55 FC mov edx,dword ptr ss:
00479EE8|.0FB672 05 movzx esi,byte ptr ds: ;第六位
00479EEC|.03C6 add eax,esi ;第一位+第六位
00479EEE|.83E8 60 sub eax,0x60 ;-0x60
00479EF1|.83F8 08 cmp eax,0x8 ;第一位+第六位-0x60 大于 8
00479EF4|.7E 3C jle short TaskBar.00479F32
00479EF6|.8BC1 mov eax,ecx
00479EF8|.8B55 FC mov edx,dword ptr ss:
00479EFB|.0FB652 01 movzx edx,byte ptr ds: ;第二位
00479EFF|.03C2 add eax,edx ;第一位+第二位
00479F01|.03C6 add eax,esi ;再+第六位
00479F03|.2D 90000000 sub eax,0x90 ;-0x90
00479F08|.B9 0A000000 mov ecx,0xA
00479F0D|.99 cdq
00479F0E|.F7F9 idiv ecx ;EAX求商=edx
00479F10|.8B45 FC mov eax,dword ptr ss:
00479F13|.0FB640 04 movzx eax,byte ptr ds: ;第五位
00479F17|.83E8 30 sub eax,0x30 ;-0x30
00479F1A|.3BD0 cmp edx,eax
00479F1C|.75 14 jnz short TaskBar.00479F32
00479F1E|.8B45 FC mov eax,dword ptr ss:
00479F21|.8078 02 32 cmp byte ptr ds:,0x32 ;第三位必须小于0x32
00479F25|.77 0B ja short TaskBar.00479F32
00479F27|.8B45 FC mov eax,dword ptr ss:
00479F2A|.8078 03 35 cmp byte ptr ds:,0x35 ;第四位必须大于0x35
00479F2E|.76 02 jbe short TaskBar.00479F32
00479F30|.B3 01 mov bl,0x1
00479F32|>33C0 xor eax,eax
00479F34|.5A pop edx ;kernel32.7C816037
00479F35|.59 pop ecx ;kernel32.7C816037
00479F36|.59 pop ecx ;kernel32.7C816037
00479F37|.64:8910 mov dword ptr fs:,edx ;ntdll.KiFastSystemCallRet
00479F3A|.68 4F9F4700 push TaskBar.00479F4F
00479F3F|>8D45 FC lea eax,dword ptr ss:
00479F42|.E8 31A1F8FF call TaskBar.00404078
总结:
注册码长度=10d
第三位必须小于0x32
第四位必须大于0x35
第一位+第六位 - 0x60结果大于8
(第一位+第二位+第六位-0x90) % 0xA = 第五位 - 0x30
所以可简单构造一个注册码:
3216167890
感谢分享 学习学习 学习了,感谢楼主辛苦了! 这工具不好用 谢谢楼主分享,试下 这文章太深奥了,暂时看不懂! 膜拜,今天打开才能勉强看懂 感谢分享 努力学习中 学习学习 谢谢楼主 学习了,感谢楼主辛苦了!
页:
[1]
2