飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2224|回复: 0

FoEyes申请加入PYG----作业2

[复制链接]

该用户从未签到

发表于 2008-1-10 01:20:20 | 显示全部楼层 |阅读模式
【破文标题】侠客工具盒V6.0(最新版)
【破文作者】Foeyes
【作者邮箱】
【更新时间】2007-12-?
破解工具】OD,PEid,RSATOOL2
【破解平台】WinXP
【软件名称】侠客工具盒
【软件大小】1,750 KB
【原版下载】http://www.ancisoft.com
【保护方式】序列号
【软件简介】
电脑应用必备好帮手,能为您的计算机带来更强更多功能。
1、快捷文件夹访问 - 快速打开文件夹,内设软件自定义变量,自动锁定计算机硬盘、光驱、优盘位置
2、定时关机与闹钟提醒 - 可以在指定时间点或时间间隔后进行自动关机、重启、注销系统操作, 也可以在您设定的时间提醒您,让您后顾无忧
3、系统修改器 - 帮你轻松修改 Windows 注册表设置及其它系统设置,让你进一步操纵操作系统,扩展Windows系统功能,建立完全个性的应用界面,方便自己的日常操作和管理


4、Windows 窗口管理 - 显示、隐藏、关闭、退出您当前系统中任意窗口,让您自己来为窗口们当家作主  
5、进程管理 - 显示所有运行的进程及其所在路径,可获取进程信息,模块信息,线程信息,保存所有进程列表,让您随心所欲地管理进程  
6、系统锁定 - 热键锁定计算机,拒绝他人使用,更好的保护您电脑的使用安全
7、查看密码 - 查看系统中以“***”显示的密码的真正内容,支持网页中*符号密码的查看
8、壁纸变更 - 选择自己的壁纸集,每次开机自动更新桌面壁纸
9、资源管理器整合菜单 - 复制所选文件、文件夹的名称或完全路径名,大/小写化所选项名称等功能
10、常用软件的快捷运行 - 为自己经常运行的软件设置快捷菜单,并可一次运行全部设置项
11、老板键 - 热键快速 隐藏/显示 自己设定的窗口(支持多个),神不知鬼不觉
12、强力文件粉碎工具,可轻松地将您所指定的文件夹或文件内容彻底删除,无法恢复
13、开关机日志的记录与查看,让您轻松掌握电脑的使用情况
14、热键开/关系统声音,计时表,禁用/允许桌面,弹出/关闭光驱,快速清除文档记录、快速内存释放...
【破解声明】本文仅供研究学习,本人对因这篇文章而导致的一切后果,不承担任何法律责任

------------------------------------------------------------------------
【破解过程】peid检查 无壳,(窃喜)
od载入

VC++ SDK编写

输入试练码,点注册没有反应
bp GetWindowsTextA

断下向下翻
00401FE2  |.  56            push    esi                        ; /Count => 80 (128.)
00401FE3  |.  8B35 A4724100 mov     esi, dword ptr [<&USER32.G>; |USER32.GetDlgItem
00401FE9  |.  50            push    eax                        ; |Buffer
00401FEA  |.  68 14040000   push    414                        ; |/ControlID = 414 (1044.)
00401FEF  |.  FF75 08       push    dword ptr [ebp+8]          ; ||hWnd
00401FF2  |.  FFD6          call    esi                        ; |\GetDlgItem
00401FF4  |.  8B1D A0724100 mov     ebx, dword ptr [<&USER32.G>; |USER32.GetWindowTextA
00401FFA  |.  50            push    eax                        ; |hWnd
00401FFB  |.  FFD3          call    ebx                        ; \GetWindowTextA
00401FFD  |.  8D85 C0FEFFFF lea     eax, dword ptr [ebp-140]   ;  得到注册名
00402003  |.  68 00010000   push    100                        ; /Count = 100 (256.)
00402008  |.  50            push    eax                        ; |Buffer
00402009  |.  68 15040000   push    415                        ; |/ControlID = 415 (1045.)
0040200E  |.  FF75 08       push    dword ptr [ebp+8]          ; ||hWnd
00402011  |.  FFD6          call    esi                        ; |\GetDlgItem
00402013  |.  50            push    eax                        ; |hWnd
00402014  |.  FFD3          call    ebx                        ; \GetWindowTextA
00402016  |.  8D85 C0FEFFFF lea     eax, dword ptr [ebp-140]   ;  得到试练码
0040201C  |.  50            push    eax
0040201D  |.  8D45 C0       lea     eax, dword ptr [ebp-40]
00402020  |.  50            push    eax
00402021  |.  E8 C3000000   call    004020E9                   ;  关键处理函数
00402026  |.  59            pop     ecx
00402027  |.  83E0 01       and     eax, 1
0040202A  |.  59            pop     ecx
0040202B  |.  8B0D 641B4200 mov     ecx, dword ptr [421B64]
00402031  |.  C1E0 06       shl     eax, 6
00402034  |.  83E1 BF       and     ecx, FFFFFFBF
00402037  |.  0BC1          or      eax, ecx
00402039  |.  A8 40         test    al, 40
0040203B  |.  A3 641B4200   mov     dword ptr [421B64], eax    ;  这里处理后的一个标志码,不对则跳走
00402040      0F84 8E000000 je      004020D4
00402046  |.  8D45 C0       lea     eax, dword ptr [ebp-40]
00402049  |.  50            push    eax                        ; /String2
0040204A  |.  68 90FA4100   push    0041FA90                   ; |String1 = ToolBox.0041FA90
0040204F  |.  FF15 80714100 call    dword ptr [<&KERNEL32.lstr>; \lstrcpyA
00402055  |.  33D2          xor     edx, edx
00402057  |>  8A4415 C0     /mov     al, byte ptr [ebp+edx-40]
0040205B  |.  8D4C15 C0     |lea     ecx, dword ptr [ebp+edx-4>
0040205F  |.  84C0          |test    al, al
00402061  |.  74 0A         |je      short 0040206D
00402063  |.  FEC8          |dec     al
00402065  |.  42            |inc     edx
00402066  |.  83FA 40       |cmp     edx, 40
00402069  |.  8801          |mov     byte ptr [ecx], al
0040206B  |.^ 7C EA         \jl      short 00402057            ;  用户名加密
0040206D  |>  33D2          xor     edx, edx
0040206F  |>  8A8415 C0FEFF>/mov     al, byte ptr [ebp+edx-140>
00402076  |.  8D8C15 C0FEFF>|lea     ecx, dword ptr [ebp+edx-1>
0040207D  |.  84C0          |test    al, al
0040207F  |.  74 0D         |je      short 0040208E
00402081  |.  2C 02         |sub     al, 2
00402083  |.  42            |inc     edx
00402084  |.  81FA 00010000 |cmp     edx, 100
0040208A  |.  8801          |mov     byte ptr [ecx], al
0040208C  |.^ 7C E1         \jl      short 0040206F            ;  注册码加密
0040208E  |>  8B35 70714100 mov     esi, dword ptr [<&KERNEL32>;  kernel32.WritePrivateProfileStringA
00402094  |.  8D45 C0       lea     eax, dword ptr [ebp-40]
00402097  |.  57            push    edi                        ; /FileName
00402098  |.  50            push    eax                        ; |String
00402099  |.  BB 98924100   mov     ebx, 00419298              ; |set
0040209E  |.  68 E4924100   push    004192E4                   ; |am
004020A3  |.  53            push    ebx                        ; |Section => "Set"
004020A4  |.  FFD6          call    esi                        ; \WritePrivateProfileStringA
004020A6  |.  8D85 C0FEFFFF lea     eax, dword ptr [ebp-140]
004020AC  |.  57            push    edi                        ; /FileName
004020AD  |.  50            push    eax                        ; |String
004020AE  |.  68 E0924100   push    004192E0                   ; |bm
004020B3  |.  53            push    ebx                        ; |Section => "Set"
004020B4  |.  FFD6          call    esi                        ; \WritePrivateProfileStringA
004020B6  |.  6A 06         push    6                          ; /FileAttributes = HIDDEN|SYSTEM
004020B8  |.  57            push    edi                        ; |FileName
004020B9  |.  FF15 6C714100 call    dword ptr [<&KERNEL32.SetF>; \SetFileAttributesA
004020BF  |.  6A 01         push    1
004020C1  |>  FF75 08       push    dword ptr [ebp+8]          ; |hWnd
004020C4  |.  FF15 98724100 call    dword ptr [<&USER32.EndDia>; \EndDialog

可以看到得到注册信息后,进入关键处理函数,处理后正确就将注册信息简单加密存入一个ini文件,名字为ToolBox
经验证,软件重启后会进行同样的注册验证。下面进入处理函数

00402154  |.  895D FC       mov     dword ptr [ebp-4], ebx
00402157  |.  7E 1C         jle     short 00402175
00402159  |>  8B45 0C       /mov     eax, dword ptr [ebp+C]
0040215C  |.  0FBE0407      |movsx   eax, byte ptr [edi+eax]
00402160  |.  50            |push    eax                       ;  
00402161  |.  E8 ED740000   |call    00409653                  ;  
00402166  |.  85C0          |test    eax, eax
00402168  |.  59            |pop     ecx
00402169  |.  0F84 8A000000 |je      004021F9                  ;这里对注册码有一定限制
0040216F  |.  47            |inc     edi
00402170  |.  3B7D F8       |cmp     edi, dword ptr [ebp-8]
00402173  |.^ 7C E4         \jl      short 00402159
00402175  |>  395D F8       cmp     dword ptr [ebp-8], ebx
00402178  |.  0F84 82000000 je      00402200
0040217E  |.  FF75 0C       push    dword ptr [ebp+C]
00402181  |.  56            push    esi                        ;  m大数-〉009B5050是地址
00402182  |.  E8 D9090100   call    00412B60
00402187  |.  8B7D EC       mov     edi, dword ptr [ebp-14]
0040218A  |.  68 F0924100   push    004192F0                   ;  n---

>9be815a0794c8d1fd2e51f5b6f1010bbf15f690e1fe0df0de760ea02c28b3ab6c399f9a2e81d0b6dff1396ebe963ec7a647fb9d9a335f852fed366be72fc4ef124aac0497869b5906bc5f496bbdd

3bd9
0040218F  |.  57            push    edi
00402190  |.  E8 CB090100   call    00412B60
00402195  |.  68 E8924100   push    004192E8                   ; d-->798199
0040219A  |.  FF75 F4       push    dword ptr [ebp-C]
0040219D  |.  E8 BE090100   call    00412B60
004021A2  |.  57            push    edi
004021A3  |.  56            push    esi
004021A4  |.  E8 47F70000   call    004118F0                   ;compare(m,n)
004021A9  |.  83C4 20       add     esp, 20
004021AC  |.  83F8 FF       cmp     eax, -1
004021AF  |.  75 48         jnz     short 004021F9
004021B1  |.  FF75 F0       push    dword ptr [ebp-10]
004021B4  |.  57            push    edi
004021B5  |.  FF75 F4       push    dword ptr [ebp-C]
004021B8  |.  56            push    esi
004021B9  |.  E8 22070100   call    004128E0                   ;  Miracl powmod--powmod(c,d,n,m)//
004021BE  |.  8D85 ECFEFFFF lea     eax, dword ptr [ebp-114]
004021C4  |.  53            push    ebx
004021C5  |.  50            push    eax                        ;  
004021C6  |.  FF75 F0       push    dword ptr [ebp-10]         ;  
004021C9  |.  68 00010000   push    100
004021CE  |.  E8 0D010100   call    004122E0                   ;  big_to_bytes(256,c,A,0);
004021D3  |.  56            push    esi
004021D4  |.  E8 77F10000   call    00411350
004021D9  |.  FF75 F0       push    dword ptr [ebp-10]
004021DC  |.  E8 6FF10000   call    00411350
004021E1  |.  57            push    edi
004021E2  |.  E8 69F10000   call    00411350
004021E7  |.  FF75 F4       push    dword ptr [ebp-C]
004021EA  |.  E8 61F10000   call    00411350
004021EF  |.  83C4 30       add     esp, 30
004021F2  |.  E8 79F10000   call    00411370
004021F7  |.  EB 07         jmp     short 00402200
004021F9  |>  C745 FC 01000>mov     dword ptr [ebp-4], 1
00402200  |>  8D85 ECFEFFFF lea     eax, dword ptr [ebp-114]
00402206  |.  50            push    eax                        ; /String2
00402207  |.  FF75 08       push    dword ptr [ebp+8]          ; |String1
0040220A  |.  FF15 68714100 call    dword ptr [<&KERNEL32.lstr>; \lstrcmpA
00402210  |.  85C0          test    eax, eax                   ;  这里要相等

进来走了好几圈没什么收获,觉得好像在座一个什么复杂的运算,郁闷中,拿起peid查了下加密算法,果然,是很常规的RSA算法,用了Miracl库,找来资料饿补一番,原来是RSA

得解密过程,这里
d=798199
n=9be815a0794c8d1fd2e51f5b6f1010bbf15f690e1fe0df0de760ea02c28b3ab6c399f9a2e81d0b6dff1396ebe963ec7a647fb9d9a335f852fed366be72fc4ef124aac0497869b5906bc5f496bbd

d3bd9
c=注册码
得到的结果与用户名比较,算法不可逆没再追注册算法,其实可以把注册码当用户名,算出来全是乱码,还是作罢。

爆破之

因为程序每次启动要检查注册信息,所以找到比较处,其实还是刚才的函数最后jnz->je即可!



------------------------------------------------------------------------
【破解总结】算是对RSA有了一次亲密接触,没什么总结的,大牛快飘过吧
------------------------------------------------------------------------
【版权声明】
PYG19周年生日快乐!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表