朱朱你堕落了 发表于 2016-9-1 18:59

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












KevINBy 发表于 2016-9-1 19:04

感谢分享 学习学习

LeiSir 发表于 2016-9-1 19:11

学习了,感谢楼主辛苦了!

xiawan 发表于 2016-9-1 19:45

这工具不好用

ZMZwise 发表于 2016-9-1 19:53

谢谢楼主分享,试下

xdestroy 发表于 2016-9-1 19:58

这文章太深奥了,暂时看不懂!

zhuzhili2261 发表于 2016-9-1 19:58

膜拜,今天打开才能勉强看懂

小裕 发表于 2016-9-1 20:01

感谢分享 努力学习中

a952135763 发表于 2016-9-1 20:46

学习学习    谢谢楼主

夜雨~悸 发表于 2016-9-1 20:50

学习了,感谢楼主辛苦了!
页: [1] 2
查看完整版本: Taskbar Hide 2.0算法分析