首页
社区
课程
招聘
第三篇破文:yoda's cryptor 1.x
发表于: 2006-7-5 18:56 5764

第三篇破文:yoda's cryptor 1.x

2006-7-5 18:56
5764
斑竹啊为什么 每天就只能发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期)

收藏
免费 1
支持
分享
最新回复 (12)
雪    币: 47147
活跃值: (20380)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
最初由 软件天敌 发布
后来发现 这个方法脱ASPack的就不行了


不同壳有不同特点,所以不同也很正常。
2006-7-5 19:16
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
3
8错
给楼主一个压缩壳试试
上传的附件:
2006-7-5 19:31
0
雪    币: 236
活跃值: (100)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
4
我也试试看
2006-7-5 19:37
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
5
最初由 windycandy 发布
我也试试看


给楼主玩的,你别试呀
2006-7-5 19:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
没查出壳,但是我脱出来了。也是胡乱脱出来的
程序为Microsoft Visual C++ 7.0 所写。脱后正常运行
下面是OEP
0044265F      6A            DB 6A                                    ;  CHAR 'j'
00442660      60            DB 60                                    ;  CHAR '`'
00442661      68            DB 68                                    ;  CHAR 'h'
00442662      C8            DB C8
00442663      05            DB 05
00442664      46            DB 46                                    ;  CHAR 'F'
00442665      00            DB 00
00442666      E8            DB E8
00442667      29            DB 29                                    ;  CHAR ')'
00442668      1F            DB 1F
00442669      00            DB 00
0044266A      00            DB 00
0044266B      BF            DB BF
0044266C      94            DB 94
0044266D      00            DB 00
0044266E      00            DB 00
0044266F      00            DB 00
00442670      8B            DB 8B
00442671      C7            DB C7
00442672      E8            DB E8
00442673      F9            DB F9
00442674      D8            DB D8
00442675      FF            DB FF
00442676      FF            DB FF
00442677      89            DB 89
00442678      65            DB 65                                    ;  CHAR 'e'
00442679      E8            DB E8
0044267A      8B            DB 8B
0044267B      F4            DB F4

接着在找方法!
2006-7-5 19:47
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
7
最初由 软件天敌 发布
没查出壳,但是我脱出来了。也是胡乱脱出来的
程序为Microsoft Visual C++ 7.0 所写。脱后正常运行
下面是OEP
0044265F 6A DB 6A ; CHAR 'j'
00442660 60 DB 60 ; CHAR '`'
........


正解
保持发贴欲望, 不要像王老师一样突然失踪:)
2006-7-5 19:48
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
刚才胡乱破的东西 现在不知道怎么脱不了咯,
我只记得 中途按过F9然后F8了几下就到了OEP
不知道为什么现在试了好几次 都不行了
大哥能不能 告诉我一下哦,顺便带点 解释行吗?
学习中。。
2006-7-5 20:19
0
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
最初由 shoooo 发布
8错
给楼主一个压缩壳试试


加了两次Kbys Packer V0.28 -> shoooo *

上传的附件:
2006-7-5 20:46
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
呵呵,学习!
2006-7-8 13:25
0
雪    币: 191
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
shooo
您好 我想问你个事 你是不是也做壳的啊 我发先东东上面的EP区段就有.shooo

如果是的话你可以回复我吗?我有点问题请教您~

谢谢了~`
2006-7-9 06:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
我也正在学习中
2006-7-26 12:22
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
最初由 shoooo 发布
8错
给楼主一个压缩壳试试


0046E41A    F3:A4           REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[>        //DATA段下内存写入断点,断在这里,清除

0046E482    5F              POP EDI                                //在这里下断点,执行到这里,CODE段下内存访问断点,直接执行到EOP

0044265F      6A            DB 6A                                    ;  CHAR 'j'        //EOP,这里开始脱壳
00442660      60            DB 60                                    ;  CHAR '`'
00442661      68            DB 68                                    ;  CHAR 'h'
2006-7-27 11:18
0
游客
登录 | 注册 方可回帖
返回
//