- UID
- 1542
注册时间2005-5-10
阅读权限40
最后登录1970-1-1
独步武林
TA的每日心情 | 擦汗 2017-9-28 11:05 |
---|
签到天数: 3 天 [LV.2]偶尔看看I
|
【破文标题】IE窗口杀手IeKiller v1.0算法分析~~~
【破文作者】pentacle
【作者邮箱】
【作者主页】
【破解工具】OD
【破解平台】WinXP
【软件名称】IE窗口杀手IeKiller v1.0
【软件大小】62K
【原版下载】http://shareware.skycn.com/soft/3806.htm
【保护方式】
【软件简介】简介:
IeKiller 是个根据用户选择来自动关闭IE窗口工具。
它根据IE窗口标题和IE地址来检测窗口,如果满足条件,
则将该窗口关闭。
它能有效地屏蔽你不喜欢的广告,有效屏蔽垃圾般的
网页,有效屏蔽你关不掉的网页。
保护你正常上网,尤其是保护作用对未成年人。
本软件下载后直接运行即可,不需要进行软件设置。
软件开发原因:
以前我每次访问某些大型的门户网站的时候,
总是有五花八门的弹出式广告窗口常常会突然跳出来挡
住我的视线,让人感觉十分的讨厌。这些广告不光是
影响我的视线,而且会抢占本来就十分有限的带宽。
IE窗口杀手的主要特点:
1. 智能化程度高
它甚至可以关闭那些当你离开某个站点的时候产生的广告窗口,IE窗口杀手
只会关闭弹出式的 广告窗口,不会影响你打开正常的浏览窗口。
2. 及时通知
当IE窗口杀手拦截了一个广告窗口的时候,会通过记录在数据库中,
窗口下次不在弹出。
3.灵活的选择
你可以选择某个特定站点允许通过弹出式窗口出现。
4. 十分容易使用
安装之后你可以不做任何设置就可以使用。
5. 占用系统资源
占用极少的系统资源,丝毫不会影响你的系统性能。
------------------------------------------------------------------------
【破解过程】用OD载入后。通过查找字串找到
00404918 > 68 30944000 PUSH iekiller.00409430 ; 注册失败 !
向上走。一会就可以找到关键跳转处~~
004048A0 . 53 PUSH EBX
004048A1 . 56 PUSH ESI
004048A2 . 57 PUSH EDI
004048A3 . 8BF1 MOV ESI,ECX
004048A5 . 6A 01 PUSH 1
004048A7 . E8 DC060000 CALL <JMP.&MFC42.#6334> ; 取假注册码
004048AC . 8B46 64 MOV EAX,DWORD PTR DS:[ESI+64]
004048AF . 50 PUSH EAX ; /s
004048B0 . FF15 34644000 CALL DWORD PTR DS:[<&MSVCRT.atoi>] ; \atoi
004048B6 . 8BD8 MOV EBX,EAX ; 上面的CALL将假注册码转为十六进制
004048B8 . 8B46 60 MOV EAX,DWORD PTR DS:[ESI+60]
004048BB . 50 PUSH EAX ; 机器码的十六进制入EAX
004048BC . E8 BFFFFFFF CALL iekiller.00404880 ; 算法CALL
004048C1 . 83C4 08 ADD ESP,8
004048C4 . 8BF8 MOV EDI,EAX
004048C6 . 3BFB CMP EDI,EBX ; 比较一下。输入的值与计算出来的值
004048C8 . 6A 40 PUSH 40
004048CA . 68 18934000 PUSH iekiller.00409318
004048CF . 75 47 JNZ SHORT iekiller.00404918
004048D1 . 68 44944000 PUSH iekiller.00409444 ; 注册成功 !
004048D6 . 8BCE MOV ECX,ESI
004048D8 . E8 73050000 CALL <JMP.&MFC42.#4224>
004048DD . 68 40944000 PUSH iekiller.00409440 ; /mode = "w"
004048E2 . 68 10944000 PUSH iekiller.00409410 ; |path = "register.txt"
004048E7 . FF15 3C644000 CALL DWORD PTR DS:[<&MSVCRT.fopen>] ; \fopen
004048ED . 8BD8 MOV EBX,EAX
004048EF . 83C4 08 ADD ESP,8
004048F2 . 85DB TEST EBX,EBX
004048F4 . 74 17 JE SHORT iekiller.0040490D
004048F6 . 57 PUSH EDI ; /<%d>
004048F7 . 68 0C944000 PUSH iekiller.0040940C ; |format = "%d"
004048FC . 53 PUSH EBX ; |stream
004048FD . FF15 38644000 CALL DWORD PTR DS:[<&MSVCRT.fprintf>] ; \fprintf
00404903 . 53 PUSH EBX ; /stream
00404904 . FF15 50644000 CALL DWORD PTR DS:[<&MSVCRT.fclose>] ; \fclose
0040490A . 83C4 10 ADD ESP,10
0040490D > 8BCE MOV ECX,ESI
0040490F . E8 5A020000 CALL <JMP.&MFC42.#4853>
00404914 . 5F POP EDI
00404915 . 5E POP ESI
00404916 . 5B POP EBX
00404917 . C3 RETN
我们再进入算法CALL里面看一下算法:
00404880 /$ 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4]
00404884 |. 8D0C00 LEA ECX,DWORD PTR DS:[EAX+EAX] ; ECX=EAX+EAX
00404887 |. 8BC1 MOV EAX,ECX
00404889 |. C1E8 04 SHR EAX,4 ; EAX右移4位
0040488C |. C1E1 1C SHL ECX,1C ; ECX左移28位
0040488F |. 03C1 ADD EAX,ECX ; EAX=EAX+ECX
00404891 |. 35 AA55AA55 XOR EAX,55AA55AA ; EAX=EAX XOR 55AA55AA
00404896 |. 99 CDQ ; 清空EDX
00404897 |. 33C2 XOR EAX,EDX
00404899 |. 2BC2 SUB EAX,EDX
0040489B \. C3 RETN
算法总结:
注册码=[(机器码h+机器码h)右移4位+(机器码h+机器码h)左移28位] XOR 55AA55AAh
------------------------------------------------------------------------
【破解总结】我是一只小小鸟~~~
------------------------------------------------------------------------
【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢! |
|