首页
社区
课程
招聘
[旧帖] [邀请码已发]破解某网络电视 0.00雪花
发表于: 2009-10-12 15:19 1945

[旧帖] [邀请码已发]破解某网络电视 0.00雪花

2009-10-12 15:19
1945
我是一只小小小小小小小鸟  很想来看雪学习  虽说临时用户也能看帖子  在新人区发帖子 其他板块大多不能下载  无奈只能写出这样水平的破文   仅供和我一样菜的菜鸟观看   希望能够成为看雪的正式会员吧  如果达不到送邀请码的条件就算了 说明我水平太低了  还得继续学习 我不会放弃的

解压安装,peid查壳为:ASPack 2.12 -> Alexey Solodovnikov  


很简单的壳   载入OD
005AD001 >  60              pushad                      //停在此处  F8单步
005AD002    E8 03000000     call hqxktv.005AD00A        //寄存器ESP突显 在寄存器ESP数据窗口跟随 断点——硬件访问——word  F9运行

005AD007  - E9 EB045D45     jmp 45B7D4F7
005AD00C    55              push ebp
005AD00D    C3              retn
005AD00E    E8 01000000     call hqxktv.005AD014
005AD013    EB 5D           jmp short hqxktv.005AD072
005AD015    BB EDFFFFFF     mov ebx,-13

005AD3B0   /75 08           jnz short hqxktv.005AD3BA   //F9运行停在此处 F8单步到005AD3BA
005AD3B2   |B8 01000000     mov eax,1
005AD3B7   |C2 0C00         retn 0C                  
005AD3BA   \68 F03B5100     push hqxktv.00513BF0       //F8
005AD3BF    C3              retn                       //F8  飞向OEP

00513BF0    55              push ebp                //oep  脱壳

脱壳文件运行正常 peid显示脱壳后的文件:Borland Delphi 6.0 - 7.0
随便注册下 用户名:lazyboy 注册码:111111  提示:注册完成 请重新运行程序   


od载入脱壳后的文件  查找字符串
先试试爆破吧
00512D2C  |.  E8 DB1DEFFF   CALL unpack.00404B0C                     ;  
00512D31  |.  75 07         JNZ SHORT unpack.00512D3A                 
00512D33  |.  C605 B0A25100>MOV BYTE PTR DS:[51A2B0],1
00512D3A  |>  8BC6          MOV EAX,ESI
00512D3C  |.  E8 630BEFFF   CALL unpack.004038A4
00512D41  |.  803D B0A25100>CMP BYTE PTR DS:[51A2B0],0
00512D48  |. /75 27         JNZ SHORT unpack.00512D71      //这里显然不会跳   jnz----jmp  跳过未注册
00512D4A  |. |8D55 D4       LEA EDX,DWORD PTR SS:[EBP-2C]
00512D4D  |. |A1 ACA25100   MOV EAX,DWORD PTR DS:[51A2AC]
00512D52  |. |E8 2115F3FF   CALL unpack.00444278
00512D57  |. |8D45 D4       LEA EAX,DWORD PTR SS:[EBP-2C]
00512D5A  |. |BA D0305100   MOV EDX,unpack.005130D0                  ;   - 未购买用户
00512D5F  |. |E8 6C1CEFFF   CALL unpack.004049D0
00512D64  |. |8B55 D4       MOV EDX,DWORD PTR SS:[EBP-2C]
00512D67  |. |A1 ACA25100   MOV EAX,DWORD PTR DS:[51A2AC]
00512D6C  |. |E8 3715F3FF   CALL unpack.004442A8
00512D71  |> \33D2          XOR EDX,EDX
但是这样不完美 标题还是显示 未注册版本 其实用pexpoler修改下标题就可以  功能不知道会不会少 没测试   呵呵。。。

我们来追踪注册码吧
查找字符串  找到“未购买用户”   为什么呢?因为前面注册过了 重新打开软件标题显示“环球星空网络电视 未购买用户”  显然 软件启动时读取了注册表中保存的用户名和密码  哈哈 我猜的
因为用OD查找的字符串有注册表项                  打开注册表 搜索一下 果然在里面  路径是
HKEY_USERS\S-1-5-21-776561741-492894223-1417001333-500\Software\hqtv

双击未购买用户来到00512D5A   往上找到段首00512C3E    F2下端 F9运行  

好的成功断下来了         下面F8单步跟踪
00512C3E  |.  55            PUSH EBP                                        //这里是读取注册表 获取用户名和注册码的  F2下端吧

00512C3F  |.  68 55305100   PUSH unpack.00513055
00512C44  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
00512C47  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
00512C4A  |.  B8 C4A25100   MOV EAX,unpack.0051A2C4
00512C4F  |.  E8 BC1AEFFF   CALL unpack.00404710
00512C54  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
00512C57  |.  E8 E4F7FFFF   CALL unpack.00512440
00512C5C  |.  8B55 EC       MOV EDX,DWORD PTR SS:[EBP-14]
00512C5F  |.  B8 C4A25100   MOV EAX,unpack.0051A2C4
00512C64  |.  E8 FB1AEFFF   CALL unpack.00404764
00512C69  |.  8D45 E8       LEA EAX,DWORD PTR SS:[EBP-18]
00512C6C  |.  E8 83F8FFFF   CALL unpack.005124F4
00512C71  |.  8B55 E8       MOV EDX,DWORD PTR SS:[EBP-18]
00512C74  |.  B8 B8A25100   MOV EAX,unpack.0051A2B8
00512C79  |.  E8 E61AEFFF   CALL unpack.00404764
00512C7E  |.  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]
00512C81  |.  E8 AEF9FFFF   CALL unpack.00512634
00512C86  |.  8B55 E4       MOV EDX,DWORD PTR SS:[EBP-1C]
00512C89  |.  B8 BCA25100   MOV EAX,unpack.0051A2BC
00512C8E  |.  E8 D11AEFFF   CALL unpack.00404764
00512C93  |.  E8 2CF2FFFF   CALL unpack.00511EC4
00512C98  |.  A1 B8A25100   MOV EAX,DWORD PTR DS:[51A2B8]
00512C9D  |.  BA 6C305100   MOV EDX,unpack.0051306C                  ;  220.220.220.1
00512CA2  |.  E8 651EEFFF   CALL unpack.00404B0C
00512CA7  |.  75 0F         JNZ SHORT unpack.00512CB8
00512CA9  |.  E8 1AFCFFFF   CALL unpack.005128C8
00512CAE  |.  E8 ADF5FFFF   CALL unpack.00512260
00512CB3  |.  E8 C4F4FFFF   CALL unpack.0051217C
00512CB8  |>  C605 B0A25100>MOV BYTE PTR DS:[51A2B0],0
00512CBF  |.  B2 01         MOV DL,1
00512CC1  |.  A1 FC6B4700   MOV EAX,DWORD PTR DS:[476BFC]
00512CC6  |.  E8 3140F6FF   CALL unpack.00476CFC
00512CCB  |.  8BF0          MOV ESI,EAX
00512CCD  |.  BA 01000080   MOV EDX,80000001
00512CD2  |.  8BC6          MOV EAX,ESI
00512CD4  |.  E8 C340F6FF   CALL unpack.00476D9C
00512CD9  |.  B1 01         MOV CL,1
00512CDB  |.  BA 84305100   MOV EDX,unpack.00513084                  ;  Software\hqtv
00512CE0  |.  8BC6          MOV EAX,ESI
00512CE2  |.  E8 1941F6FF   CALL unpack.00476E00
00512CE7  |.  8D4D E0       LEA ECX,DWORD PTR SS:[EBP-20]
00512CEA  |.  BA 9C305100   MOV EDX,unpack.0051309C                  ;  RegUser  //读取用户名
00512CEF  |.  8BC6          MOV EAX,ESI
00512CF1  |.  E8 D242F6FF   CALL unpack.00476FC8
00512CF6  |.  8B55 E0       MOV EDX,DWORD PTR SS:[EBP-20]            //把用户名lazyboy存入edx
00512CF9  |.  B8 B4A25100   MOV EAX,unpack.0051A2B4
00512CFE  |.  E8 611AEFFF   CALL unpack.00404764
00512D03  |.  8D4D DC       LEA ECX,DWORD PTR SS:[EBP-24]
00512D06  |.  BA AC305100   MOV EDX,unpack.005130AC                  ;  RegNo   //读取注册码
00512D0B  |.  8BC6          MOV EAX,ESI
00512D0D  |.  E8 B642F6FF   CALL unpack.00476FC8
00512D12  |.  8B45 DC       MOV EAX,DWORD PTR SS:[EBP-24]               //吧注册码存入eax
00512D15  |.  50            PUSH EAX
00512D16  |.  8D4D D8       LEA ECX,DWORD PTR SS:[EBP-28]
00512D19  |.  BA BC305100   MOV EDX,unpack.005130BC                  ;  hqtvChina
00512D1E  |.  A1 B4A25100   MOV EAX,DWORD PTR DS:[51A2B4]
00512D23  |.  E8 6CB8FDFF   CALL unpack.004EE594                        //计算注册码的关键CALL  F7进入 来到004EE594  单步向下   一直到  004EE641计算注册吗的关键循环
00512D28  |.  8B55 D8       MOV EDX,DWORD PTR SS:[EBP-28]
00512D2B  |.  58            POP EAX
00512D2C  |.  E8 DB1DEFFF   CALL unpack.00404B0C
00512D31  |.  75 07         JNZ SHORT unpack.00512D3A               //真假注册码比较
00512D33  |.  C605 B0A25100>MOV BYTE PTR DS:[51A2B0],1
00512D3A  |>  8BC6          MOV EAX,ESI
00512D3C  |.  E8 630BEFFF   CALL unpack.004038A4
00512D41  |.  803D B0A25100>CMP BYTE PTR DS:[51A2B0],0
00512D48  |.  75 27         JNZ SHORT unpack.00512D71
00512D4A  |.  8D55 D4       LEA EDX,DWORD PTR SS:[EBP-2C]
00512D4D  |.  A1 ACA25100   MOV EAX,DWORD PTR DS:[51A2AC]
00512D52  |.  E8 2115F3FF   CALL unpack.00444278
00512D57  |.  8D45 D4       LEA EAX,DWORD PTR SS:[EBP-2C]
00512D5A  |.  BA D0305100   MOV EDX,unpack.005130D0                  ;   - 未购买用户
00512D5F  |.  E8 6C1CEFFF   CALL unpack.004049D0
  
00512D2B  |.  58            POP EAX                                  ;  00B8277C           //edx出现真注册码

成功获得一组注册码  用户名:lazyboy
                          注册码:B7F3E37F4DBA7093

注册试试

成功了

下面的是计算注册码的关键地方 由于本人很菜 没法分析具体的算法   
004EE641  |.  BE 08000000   |MOV ESI,8      
004EE646  |.  8D5D E8       |LEA EBX,DWORD PTR SS:[EBP-18]
004EE649  |>  8D4D D0       |/LEA ECX,DWORD PTR SS:[EBP-30]
004EE64C  |.  33C0          ||XOR EAX,EAX
004EE64E  |.  8A03          ||MOV AL,BYTE PTR DS:[EBX]
004EE650  |.  BA 02000000   ||MOV EDX,2
004EE655  |.  E8 C6ACF1FF   ||CALL unpack.00409320
004EE65A  |.  8B55 D0       ||MOV EDX,DWORD PTR SS:[EBP-30]
004EE65D  |.  8BC7          ||MOV EAX,EDI
004EE65F  |.  E8 6C63F1FF   ||CALL unpack.004049D0
004EE664  |.  43            ||INC EBX
004EE665  |.  4E            ||DEC ESI
004EE666  |.^ 75 E1         |\JNZ SHORT unpack.004EE649
004EE668  |.  8345 D8 08    |ADD DWORD PTR SS:[EBP-28],8

最后用keymake2.0做个内存注册机  如下图



虽说破解了 但是还时停留在一个较低的档次 慢慢学习吧 My dream  分析算法 写注册机
最后送给和我一样的菜鸟一句“革命尚未成功,同志仍需努力”  希望my dream will be true!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
比我强多了,我才开始学,只懂得脱一些简单的壳,做做免杀啥的、
支持你下,一起努力
2009-10-12 18:24
0
雪    币: 146
活跃值: (1395)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
3
顶一个,your dream will be ture!
2009-10-12 20:24
0
雪    币: 43
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
支持你下,一起努力 ,好好学习。
2009-10-12 20:57
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
吧关键图片处理了一下!希望得到邀请码~~~~~~~~~
2009-10-14 08:29
0
雪    币: 159
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
进来学习 ,好好学习。
2009-10-14 09:43
0
雪    币: 62
活跃值: (60)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
很强,学到东西走人~!
2009-10-14 10:37
0
雪    币: 74
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
恩,不错的破文

流畅而严谨啊
2009-10-15 10:24
0
游客
登录 | 注册 方可回帖
返回
//