***Killer算法分析
【破文标题】***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:
004CE501|.64:8920 MOV DWORD PTR FS:,ESP
004CE504|.8D55 FC LEA EDX,DWORD PTR SS:
004CE507|.8BC3 MOV EAX,EBX
004CE509|.E8 0E030000 CALL USBKille.004CE81C
004CE50E|.8B45 FC MOV EAX,DWORD PTR SS: ;ss:mycode
004CE511|.50 PUSH EAX
004CE512|.8D55 F8 LEA EDX,DWORD PTR SS:
004CE515|.8BC3 MOV EAX,EBX
004CE517|.E8 3C000000 CALL USBKille.004CE558 ;key point,f7跟入
004CE51C 8B55 F8 MOV EDX,DWORD PTR SS: ;出现可疑字串
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:
004CE56E|.64:8920 MOV DWORD PTR FS:,ESP
004CE571|.8D55 FC LEA EDX,DWORD PTR SS:
004CE574|.8BC3 MOV EAX,EBX
004CE576|.E8 31000000 CALL USBKille.004CE5AC
004CE57B|.8B55 FC MOV EDX,DWORD PTR SS: ;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:,EBX ;0
004CE38A|.895D F4 MOV DWORD PTR SS:,EBX ;0
004CE38D|.894D F8 MOV DWORD PTR SS:,ECX
004CE390|.8955 FC MOV DWORD PTR SS:,EDX ;ss:[] = edx(mcode)
004CE393|.8B45 FC MOV EAX,DWORD PTR SS: ;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:
004CE3A6|.64:8920 MOV DWORD PTR FS:,ESP
004CE3A9|.8D45 F4 LEA EAX,DWORD PTR SS:
004CE3AC|.E8 0F69F3FF CALL USBKille.00404CC0
004CE3B1|.8B45 FC MOV EAX,DWORD PTR SS: ;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: ;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: ;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: ;ss:mcode
004CE3E3|.0FB64418 FF |MOVZX EAX,BYTE PTR DS: ;eax = mcode
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: ;eax = ebp - 10
004CE3FD|.8B55 FC |MOV EDX,DWORD PTR SS: ;edx = mcode
004CE400|.0FB6541A FF |MOVZX EDX,BYTE PTR DS: ;edx = mcode
004CE405|.03D6 |ADD EDX,ESI ;edx += esi
004CE407|.E8 9C6AF3FF |CALL USBKille.00404EA8
004CE40C|.8B55 F0 |MOV EDX,DWORD PTR SS: ;ss:用来保存计算结果
004CE40F|.8D45 F4 |LEA EAX,DWORD PTR SS:
004CE412|.E8 716BF3FF |CALL USBKille.00404F88 ;SS: = edx
004CE417|>43 |INC EBX
004CE418|.4F |DEC EDI
004CE419|.^ 75 A9 \JNZ SHORT USBKille.004CE3C4
004CE41B|>8B45 F8 MOV EAX,DWORD PTR SS: ;mycode
004CE41E|.8B55 F4 MOV EDX,DWORD PTR SS: ;realcode
004CE421|.E8 EE68F3FF CALL USBKille.00404D14
004CE426|.33C0 XOR EAX,EAX
------------------------------------------------------------------------
【破解总结】我的第一个独立分析的软件,应该是比较简单的。
感谢飘云坛主的算法分析入门系列文章。
------------------------------------------------------------------------
【版权声明】版权不留,转改自便。 学习了,我是追明码。。。也用过爆破 最好是把有明码的软件拿来看一下算法,很好学习的 很好学习的
页:
[1]