飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2265|回复: 1

申请加入3-【破文标题】IE窗口杀手IeKiller v1.0算法分析~~~

[复制链接]
  • TA的每日心情
    擦汗
    2017-9-28 11:05
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2005-10-14 15:06:03 | 显示全部楼层 |阅读模式
    【破文标题】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

    ------------------------------------------------------------------------
    【破解总结】我是一只小小鸟~~~
    ------------------------------------------------------------------------
    【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢!
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2020-4-10 17:02
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2005-10-15 21:25:12 | 显示全部楼层
    学习的说!
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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