飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4174|回复: 3

[原创] ***Killer算法分析

[复制链接]
  • TA的每日心情
    开心
    2019-2-6 23:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2009-4-1 17:29:17 | 显示全部楼层 |阅读模式
    【破文标题】***Killer算法分析
    【破文作者】liuyun213
    【作者邮箱】[email protected]
    【作者主页】无
    破解工具】OD
    【破解平台】WinXP sp2
    【软件名称】***Killer
    【软件大小】1M
    【原版下载】http://liuyun213.ys168.com   temp目录下
    【保护方式】注册码
    【软件简介】U盘病毒专杀软件
    【破解声明】菜鸟一个,首次分析,不好之处还望见谅
    ------------------------------------------------------------------------
    【破解过程】无壳、Delphi编写
    004CE4EC  /$  55            PUSH EBP                                 ;  首次下断
    004CE4ED  |.  8BEC          MOV EBP,ESP
    004CE4EF  |.  6A 00         PUSH 0
    004CE4F1  |.  6A 00         PUSH 0
    004CE4F3  |.  53            PUSH EBX
    004CE4F4  |.  8BD8          MOV EBX,EAX
    004CE4F6  |.  33C0          XOR EAX,EAX
    004CE4F8  |.  55            PUSH EBP
    004CE4F9  |.  68 48E54C00   PUSH USBKille.004CE548
    004CE4FE  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
    004CE501  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
    004CE504  |.  8D55 FC       LEA EDX,DWORD PTR SS:[EBP-4]
    004CE507  |.  8BC3          MOV EAX,EBX
    004CE509  |.  E8 0E030000   CALL USBKille.004CE81C
    004CE50E  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  ss:mycode
    004CE511  |.  50            PUSH EAX
    004CE512  |.  8D55 F8       LEA EDX,DWORD PTR SS:[EBP-8]
    004CE515  |.  8BC3          MOV EAX,EBX
    004CE517  |.  E8 3C000000   CALL USBKille.004CE558                   ;  key point,f7跟入
    004CE51C      8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]             ;  出现可疑字串
    004CE51F  |.  58            POP EAX
    004CE520  |.  E8 A76BF3FF   CALL USBKille.004050CC
    004CE525  |.  74 04         JE SHORT USBKille.004CE52B               ;  key jmp,可爆破
    004CE527  |.  B3 03         MOV BL,3
    004CE529  |.  EB 02         JMP SHORT USBKille.004CE52D

    004CE558  /$  55            PUSH EBP
    004CE559  |.  8BEC          MOV EBP,ESP
    004CE55B  |.  6A 00         PUSH 0
    004CE55D  |.  53            PUSH EBX
    004CE55E  |.  56            PUSH ESI
    004CE55F  |.  8BF2          MOV ESI,EDX
    004CE561  |.  8BD8          MOV EBX,EAX
    004CE563  |.  33C0          XOR EAX,EAX
    004CE565  |.  55            PUSH EBP
    004CE566  |.  68 9DE54C00   PUSH USBKille.004CE59D
    004CE56B  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
    004CE56E  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
    004CE571  |.  8D55 FC       LEA EDX,DWORD PTR SS:[EBP-4]
    004CE574  |.  8BC3          MOV EAX,EBX
    004CE576  |.  E8 31000000   CALL USBKille.004CE5AC
    004CE57B  |.  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]             ;  mcode
    004CE57E  |.  8BCE          MOV ECX,ESI
    004CE580  |.  8BC3          MOV EAX,EBX
    004CE582  |.  E8 F5FDFFFF   CALL USBKille.004CE37C                   ;  key point,f7
    004CE587  |.  33C0          XOR EAX,EAX
    004CE589  |.  5A            POP EDX
    004CE58A  |.  59            POP ECX
    004CE58B  |.  59            POP ECX

    004CE37C  /$  55            PUSH EBP                                 ;  here
    004CE37D  |.  8BEC          MOV EBP,ESP
    004CE37F  |.  83C4 F0       ADD ESP,-10
    004CE382  |.  53            PUSH EBX
    004CE383  |.  56            PUSH ESI
    004CE384  |.  57            PUSH EDI
    004CE385  |.  33DB          XOR EBX,EBX                              ;  ebx = 0
    004CE387  |.  895D F0       MOV DWORD PTR SS:[EBP-10],EBX            ;  0
    004CE38A  |.  895D F4       MOV DWORD PTR SS:[EBP-C],EBX             ;  0
    004CE38D  |.  894D F8       MOV DWORD PTR SS:[EBP-8],ECX
    004CE390  |.  8955 FC       MOV DWORD PTR SS:[EBP-4],EDX             ;  ss:[] = edx(mcode)
    004CE393  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  eax = ss:[]
    004CE396  |.  E8 D56DF3FF   CALL USBKille.00405170
    004CE39B  |.  33C0          XOR EAX,EAX                              ;  eax = 0
    004CE39D  |.  55            PUSH EBP
    004CE39E  |.  68 49E44C00   PUSH USBKille.004CE449
    004CE3A3  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
    004CE3A6  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
    004CE3A9  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
    004CE3AC  |.  E8 0F69F3FF   CALL USBKille.00404CC0
    004CE3B1  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  ss:[] is mcode
    004CE3B4  |.  E8 C76BF3FF   CALL USBKille.00404F80
    004CE3B9  |.  8BF8          MOV EDI,EAX                              ;  eax = len(mcode)
    004CE3BB  |.  85FF          TEST EDI,EDI                             ;  if edi == 0
    004CE3BD  |.  7E 5C         JLE SHORT USBKille.004CE41B
    004CE3BF  |.  BB 01000000   MOV EBX,1                                ;  ebx = 1
    004CE3C4  |>  8D43 1E       /LEA EAX,DWORD PTR DS:[EBX+1E]           ;  eax = ebx + 1e
    004CE3C7  |.  50            |PUSH EAX                                ;  push addr
    004CE3C8  |.  8BC3          |MOV EAX,EBX                             ;  eax = ebx
    004CE3CA  |.  5A            |POP EDX                                 ;  pop addr
    004CE3CB  |.  8BCA          |MOV ECX,EDX                             ;  ecx = edx
    004CE3CD  |.  99            |CDQ
    004CE3CE  |.  F7F9          |IDIV ECX
    004CE3D0  |.  8BF2          |MOV ESI,EDX
    004CE3D2  |.  8D43 14       |LEA EAX,DWORD PTR DS:[EBX+14]           ;  eax = ebx + 14
    004CE3D5  |.  50            |PUSH EAX
    004CE3D6  |.  8BC3          |MOV EAX,EBX
    004CE3D8  |.  5A            |POP EDX
    004CE3D9  |.  8BCA          |MOV ECX,EDX
    004CE3DB  |.  99            |CDQ
    004CE3DC  |.  F7F9          |IDIV ECX
    004CE3DE  |.  03F2          |ADD ESI,EDX
    004CE3E0  |.  8B45 FC       |MOV EAX,DWORD PTR SS:[EBP-4]            ;  ss:mcode
    004CE3E3  |.  0FB64418 FF   |MOVZX EAX,BYTE PTR DS:[EAX+EBX-1]       ;  eax = mcode[ebx-1]
    004CE3E8  |.  03C6          |ADD EAX,ESI                             ;  eax += esi
    004CE3EA  |.  83C0 D0       |ADD EAX,-30                             ;  eax -= 30
    004CE3ED  |.  83E8 0A       |SUB EAX,0A                              ;  eax -= 0a
    004CE3F0  |.  72 08         |JB SHORT USBKille.004CE3FA              ;  无符号比较if eax < 0a, then jmp
    004CE3F2  |.  83C0 F9       |ADD EAX,-7
    004CE3F5  |.  83E8 1A       |SUB EAX,1A
    004CE3F8  |.  73 1D         |JNB SHORT USBKille.004CE417             ;  if eax >= 1a, then jmp
    004CE3FA  |>  8D45 F0       |LEA EAX,DWORD PTR SS:[EBP-10]           ;  eax = ebp - 10
    004CE3FD  |.  8B55 FC       |MOV EDX,DWORD PTR SS:[EBP-4]            ;  edx = mcode
    004CE400  |.  0FB6541A FF   |MOVZX EDX,BYTE PTR DS:[EDX+EBX-1]       ;  edx = mcode[ebx-1]
    004CE405  |.  03D6          |ADD EDX,ESI                             ;  edx += esi
    004CE407  |.  E8 9C6AF3FF   |CALL USBKille.00404EA8
    004CE40C  |.  8B55 F0       |MOV EDX,DWORD PTR SS:[EBP-10]           ;  ss:用来保存计算结果
    004CE40F  |.  8D45 F4       |LEA EAX,DWORD PTR SS:[EBP-C]
    004CE412  |.  E8 716BF3FF   |CALL USBKille.00404F88                  ;  SS:[EBP-10] = edx
    004CE417  |>  43            |INC EBX
    004CE418  |.  4F            |DEC EDI
    004CE419  |.^ 75 A9         \JNZ SHORT USBKille.004CE3C4
    004CE41B  |>  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]             ;  mycode
    004CE41E  |.  8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]             ;  realcode
    004CE421  |.  E8 EE68F3FF   CALL USBKille.00404D14
    004CE426  |.  33C0          XOR EAX,EAX

    ------------------------------------------------------------------------
    【破解总结】我的第一个独立分析的软件,应该是比较简单的。
    感谢飘云坛主的算法分析入门系列文章。
    ------------------------------------------------------------------------
    【版权声明】版权不留,转改自便。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-4-15 18:48:08 | 显示全部楼层
    学习了,我是追明码。。。也用过爆破
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-4-15 20:30:20 | 显示全部楼层
    最好是把有明码的软件拿来看一下算法,很好学习的
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2015-7-26 21:27
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2009-4-15 23:18:06 | 显示全部楼层
    很好学习的
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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