- UID
- 32691
注册时间2007-8-2
阅读权限20
最后登录1970-1-1
以武会友
TA的每日心情 | 开心 2019-2-6 23:35 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
【破文标题】***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
------------------------------------------------------------------------
【破解总结】我的第一个独立分析的软件,应该是比较简单的。
感谢飘云坛主的算法分析入门系列文章。
------------------------------------------------------------------------
【版权声明】版权不留,转改自便。 |
|