斑竹啊为什么 每天就只能发5个帖子哦!太少咯!
前话:下班了为了学习,放弃休息吧!
看到网吧硬盘上面有个QQKAV(QQ杀毒工具)于是就拿来练习。奇怪的事就发生咯!
软件名称: qqkav.rar 0.5MB
软件大小:497KB
软件类别:杀毒软件
下载地址: http://free5.ys168.com/?lzmo123
破解级别:(迷糊)
破解工具:PEiD,OD
破解过程:
1.用PEiD是yoda's cryptor 1.x / modified(由于我没脱过着个类型 也不知道是什么壳,网上关于他的内容也不多,好象都说很难脱,可能是我菜哦)
于是就手动,也不知道有什么技巧 就按常规方法,连续脱了50多次 都不成功。迷糊之下乱脱一通。奇怪-3下就搞定!脱完检查Borland Delphi 6.0 - 7.0编写
完全运行。为了找到答案 就写了后文。。
前缀:我也不知道 这个是算不算 脱壳的技巧,要不就是瞎猫碰到死耗子。
(此法是乱来的,千万别学,可以看看)
1.用OD载入
005DC060 > 60 PUSHAD \\来到这里。什么都不管找RETN
005DC061 E8 00000000 CALL qqkav.005DC066
005DC066 5D POP EBP
005DC067 81ED 55204000 SUB EBP,qqkav.00402055
005DC06D B9 7B090000 MOV ECX,97B
005DC072 8DBD 9D204000 LEA EDI,DWORD PTR SS:[EBP+40209D]
005DC078 8BF7 MOV ESI,EDI
005DC07A AC LODS BYTE PTR DS:[ESI]
005DC07B F8 CLC
005DC07C C0C0 A5 ROL AL,0A5 ; 移位常量超出 1..31 的范围
005DC07F 90 NOP
005DC080 2C 73 SUB AL,73
005DC082 34 F7 XOR AL,0F7
005DC084 02C1 ADD AL,CL
005DC086 C0C0 41 ROL AL,41 ; 移位常量超出 1..31 的范围
005DC089 EB 01 JMP SHORT qqkav.005DC08C
005DC08B E8 F92C5B02 CALL 02B8ED89
005DC090 C190 2AC1EB01 E>RCL DWORD PTR DS:[EAX+1EBC12A],0E8 ; 移位常量超出 1..31 的范围
005DC097 C0C8 49 ROR AL,49 ; 移位常量超出 1..31 的范围
005DC09A F8 CLC
005DC09B 02C1 ADD AL,CL
005DC09D F8 CLC
005DC09E EB 01 JMP SHORT qqkav.005DC0A1
005DC0A0 E8 900459C0 CALL C0B6C535
005DC0A5 C8 052AC1 ENTER 2A05,0C1
005DC0A9 34 2B XOR AL,2B
005DC0AB AA STOS BYTE PTR ES:[EDI]
005DC0AC ^ E2 CC LOOPD SHORT qqkav.005DC07A
005DC0AE 45 INC EBP
005DC0AF EA BFAC3D4A F11>JMP FAR 10F1:4A3DACBF ; 远跳转
005DC0B6 C2 EC46 RETN 46EC \\RETN这里F4 运行到这里
005DC061 E8 00000000 CALL qqkav.005DC066 \\程序来到这里。什么都不管在找RETN
005DC066 5D POP EBP
005DC067 81ED 55204000 SUB EBP,qqkav.00402055
005DC06D B9 7B090000 MOV ECX,97B
005DC072 8DBD 9D204000 LEA EDI,DWORD PTR SS:[EBP+40209D]
005DC078 8BF7 MOV ESI,EDI
005DC07A AC LODS BYTE PTR DS:[ESI]
005DC07B F8 CLC
005DC07C C0C0 A5 ROL AL,0A5 ; 移位常量超出 1..31 的范围
005DC07F 90 NOP
005DC080 2C 73 SUB AL,73
005DC082 34 F7 XOR AL,0F7
005DC084 02C1 ADD AL,CL
005DC086 C0C0 41 ROL AL,41 ; 移位常量超出 1..31 的范围
005DC089 EB 01 JMP SHORT qqkav.005DC08C
005DC08B E8 F92C5B02 CALL 02B8ED89
005DC090 C190 2AC1EB01 E>RCL DWORD PTR DS:[EAX+1EBC12A],0E8 ; 移位常量超出 1..31 的范围
005DC097 C0C8 49 ROR AL,49 ; 移位常量超出 1..31 的范围
005DC09A F8 CLC
005DC09B 02C1 ADD AL,CL
005DC09D F8 CLC
005DC09E EB 01 JMP SHORT qqkav.005DC0A1
005DC0A0 E8 900459C0 CALL C0B6C535
005DC0A5 C8 052AC1 ENTER 2A05,0C1
005DC0A9 34 2B XOR AL,2B
005DC0AB AA STOS BYTE PTR ES:[EDI]
005DC0AC ^ E2 CC LOOPD SHORT qqkav.005DC07A
005DC0AE 45 INC EBP
005DC0AF EA BFAC3D4A F11>JMP FAR 10F1:4A3DACBF ; 远跳转
005DC0B6 C2 EC46 RETN 46EC \\RETN这里F4 运行到这里
005DC0B9 D385 7F6F60D0 ROL DWORD PTR SS:[EBP+D0606F7F],CL
005DC0BF 47 INC EDI
005DC0C0 30E6 XOR DH,AH
005DC75D 50 PUSH EAX ; qqkav.005DC70C \\断这里。注意这里有调用qqkav了,那就F9运行
005DC75E 33C0 XOR EAX,EAX
005DC760 64:FF30 PUSH DWORD PTR FS:[EAX]
005DC763 64:8920 MOV DWORD PTR FS:[EAX],ESP
005DC766 EB 01 JMP SHORT qqkav.005DC769
005DC768 8700 XCHG DWORD PTR DS:[EAX],EAX
005DC76A 0000 ADD BYTE PTR DS:[EAX],AL
005DC76C 0000 ADD BYTE PTR DS:[EAX],AL
005DC76E 0000 ADD BYTE PTR DS:[EAX],AL
0050FD2A E8 02000000 CALL qqkav.0050FD31 \\断这里,继续F9运行。
0050FD2F 33C0 XOR EAX,EAX
0050FD31 8BC4 MOV EAX,ESP
0050FD33 83C0 04 ADD EAX,4
0050FD36 93 XCHG EAX,EBX
0050FD37 8BE3 MOV ESP,EBX
0050FD39 8B5B FC MOV EBX,DWORD PTR DS:[EBX-4]
0050FD3C 81EB 3F904000 SUB EBX,qqkav.0040903F
0050FD42 87DD XCHG EBP,EBX
0050FD44 8B85 E6904000 MOV EAX,DWORD PTR SS:[EBP+4090E6]
0050FD4A 0185 33904000 ADD DWORD PTR SS:[EBP+409033],EAX
005D854E 61 POPAD \\出口标志。
005D854F 9D POPFD \\断在这里,有了出口标志 那就F8
005D8550 50 PUSH EAX
005D8551 68 6CC64C00 PUSH qqkav.004CC66C
005D8556 C2 0400 RETN 4 \\转向程序入口点
005D8559 8BB5 5B974000 MOV ESI,DWORD PTR SS:[EBP+40975B]
005D855F 0BF6 OR ESI,ESI
005D8561 74 18 JE SHORT qqkav.005D857B
005D8563 8B95 E6904000 MOV EDX,DWORD PTR SS:[EBP+4090E6]
004CC66C 55 PUSH EBP \\这里就是程序入口点 那可以脱了!
004CC66D 8BEC MOV EBP,ESP
004CC66F 83C4 F0 ADD ESP,-10
004CC672 B8 0CC34C00 MOV EAX,qqkav.004CC30C
004CC677 E8 68A7F3FF CALL qqkav.00406DE4
004CC67C A1 C4EB4C00 MOV EAX,DWORD PTR DS:[4CEBC4]
004CC681 8B00 MOV EAX,DWORD PTR DS:[EAX]
004CC683 E8 9460F9FF CALL qqkav.0046271C
004CC688 A1 C4EB4C00 MOV EAX,DWORD PTR DS:[4CEBC4]
004CC68D 8B00 MOV EAX,DWORD PTR DS:[EAX]
004CC68F 33D2 XOR EDX,EDX
004CC691 E8 925CF9FF CALL qqkav.00462328
004CC696 8B0D 78EC4C00 MOV ECX,DWORD PTR DS:[4CEC78] ; qqkav.004CFE34 \\这里的注释不是隐藏的 那说明入口是对的!
004CC69C A1 C4EB4C00 MOV EAX,DWORD PTR DS:[4CEBC4]
004CC6A1 8B00 MOV EAX,DWORD PTR DS:[EAX]
004CC6A3 8B15 E4E24B00 MOV EDX,DWORD PTR DS:[4BE2E4] ; qqkav.004BE330 \\这里的注释不是隐藏的 那说明入口是对的!
004CC6A9 E8 8660F9FF CALL qqkav.00462734
004CC6AE A1 C4EB4C00 MOV EAX,DWORD PTR DS:[4CEBC4]
004CC6B3 8B00 MOV EAX,DWORD PTR DS:[EAX]
后来发现 这个方法脱ASPack的就不行了,哎。 只怪自己基础知识不够 解释不了,希望哪个大虾解释一下。
发这篇文章 只想听听大家的 意见,并不希望大家学习。。
发完帖,走人,继续学习中。。。。。。。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)