最初由 thdzhqg 发布
关注。。。期待你给我说下爆破EXCEL密码保护的地方
excel 2003撤消工作表保护:
bp DestroyWindow,中断后ALT+F9返回MSO.dll,ctrl+F9返回数次后到:
303DF0BB je 303DF158 --->JMP
303DF0C1 mov eax, [esi+C]
303DF0C4 cmp eax, [esi+8]
303DF0C7 je 303DF158
303DF0CD cmp [esi+1C], edi
303DF0D0 je short 303DF14A
303DF0D2 cmp [esi+6], di
303DF0D6 jnz short 303DF14A
303DF14A push 3009A
303DF14F call 3071F408 --->Msgbox wrong
303DF154 xor eax, eax --->返回这里!!!
303DF156 jmp short 303DF15A
WinWord.exe word文件解除保护(非打开密码,好像是宏保护还是其它的,不记得了)
出现密码输入后,在OD中F12暂停,连续CTRL+F9返回直至OD等待用户输入
输入后确定,中断在WinWord模块,F8单步跟踪,直至出现输入字符
3066C8AC push 0FFFF ; /Arg3 = 0000FFFF
3066C8B1 lea eax,dword ptr ss:[ebp-200] ; |
3066C8B7 push 0 ; |Arg2 = 00000000
3066C8B9 push eax ; |Arg1
3066C8BA call WINWORD.3065BA6B ; \WINWORD.3065BA6B
3066C8BF mov ecx,dword ptr ds:[edi+1F0]
3066C8C5 cmp eax,dword ptr ds:[ecx+62]
3066C8C8 je short WINWORD.3066C8F9
3066C8CA mov ax,word ptr ds:[309A0FB6]
3066C8D0 push eax ; /Arg3
3066C8D1 lea eax,dword ptr ss:[ebp-200] ; |
3066C8D7 push 0 ; |Arg2 = 00000000
3066C8D9 push eax ; |Arg1
3066C8DA call WINWORD.3065BA6B ; \WINWORD.3065BA6B 计算,结果保存在EAX
3066C8DF mov ecx,dword ptr ds:[edi+1F0]
3066C8E5 cmp eax,dword ptr ds:[ecx+62] --->原始密码计算结果保存在[ecx+62]
3066C8E8 je short WINWORD.3066C8F9 --->爆破点!
3066C8EA push 185
3066C8EF call WINWORD.306A3380 --->密码错误!
3066C8F4 push -3
3066C8F6 pop eax
3066C8F7 jmp short WINWORD.3066C916
呵呵,真是太没有技术性了,不好意思拿出来的。