首页
社区
课程
招聘
[原创]闪电-视频转换王 5.2.0 算法分析
发表于: 2009-1-21 12:54 7554

[原创]闪电-视频转换王 5.2.0 算法分析

2009-1-21 12:54
7554
【破文标题】闪电-视频转换王 5.2.0 算法分析
【破文作者】不甘心
【作者邮箱】lykonglong@qq.com
【作者主页】bbs.8185.cc
【破解工具】PEiD,OD
【破解平台】Windows XP
【软件名称】闪电-视频转换王 5.2.0
【软件大小】7.75 MB
【原版下载】http://www.tv808.com/flash_skycn.exe
【保护方式】ASPack 2.1 -> Alexey Solodovnikov+注册码
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
**********************************************************************************************
【破解内容】

1,运行程序,出现一个注册框,输入错误的注册信息进行检测我输入love,无提示信息!
2,用PEID查壳ASPack 2.1 -> Alexey Solodovnikov这个壳我不演示了,自己脱!我脱出来是Borland Delphi 6.0 - 7.0
3,用DEDE查找按钮事件0052D99C,然后把脱壳好的文件载入OD!
下面我们到0052D99C
0052D99C   .  55            PUSH EBP
0052D99D   .  8BEC          MOV EBP,ESP
0052D99F   .  B9 07000000   MOV ECX,7
0052D9A4   >  6A 00         PUSH 0
0052D9A6   .  6A 00         PUSH 0
0052D9A8   .  49            DEC ECX
0052D9A9   .^ 75 F9         JNZ SHORT unpack.0052D9A4
0052D9AB   .  53            PUSH EBX
0052D9AC   .  56            PUSH ESI
0052D9AD   .  57            PUSH EDI
0052D9AE   .  8BD8          MOV EBX,EAX
0052D9B0   .  33C0          XOR EAX,EAX
0052D9B2   .  55            PUSH EBP
0052D9B3   .  68 CDDB5200   PUSH unpack.0052DBCD
0052D9B8   .  64:FF30       PUSH DWORD PTR FS:[EAX]
0052D9BB   .  64:8920       MOV DWORD PTR FS:[EAX],ESP
.......................
...................
...............
来到
0052DAE5   .  8B83 10030000 MOV EAX,DWORD PTR DS:[EBX+310]
0052DAEB   .  E8 008EF3FF   CALL unpack.004668F0
0052DAF0   .  8B45 C8       MOV EAX,DWORD PTR SS:[EBP-38]
0052DAF3   .  8D55 CC       LEA EDX,DWORD PTR SS:[EBP-34]
0052DAF6   .  E8 7DB5EDFF   CALL unpack.00409078
0052DAFB   .  837D CC 00    CMP DWORD PTR SS:[EBP-34],0
0052DAFF   .  75 0C         JNZ SHORT unpack.0052DB0D
0052DB01   .  A1 14665300   MOV EAX,DWORD PTR DS:[536614]
0052DB06   .  E8 A153F5FF   CALL unpack.00482EAC
0052DB0B   .  EB 26         JMP SHORT unpack.0052DB33
0052DB0D   >  8BC3          MOV EAX,EBX
0052DB0F   .  E8 30030000   CALL unpack.0052DE44                     ;  算法Call
0052DB14   .  84C0          TEST AL,AL
0052DB16   .  74 09         JE SHORT unpack.0052DB21
0052DB18   .  8BC3          MOV EAX,EBX
0052DB1A   .  E8 21010000   CALL unpack.0052DC40
0052DB1F   .  EB 12         JMP SHORT unpack.0052DB33

我们F7跟进算法CALL
0052DE44  /$  55            PUSH EBP
0052DE45  |.  8BEC          MOV EBP,ESP
0052DE47  |.  83C4 E8       ADD ESP,-18
0052DE4A  |.  53            PUSH EBX
0052DE4B  |.  56            PUSH ESI
0052DE4C  |.  33D2          XOR EDX,EDX
0052DE4E  |.  8955 E8       MOV DWORD PTR SS:[EBP-18],EDX
0052DE51  |.  8955 EC       MOV DWORD PTR SS:[EBP-14],EDX
0052DE54  |.  8955 F4       MOV DWORD PTR SS:[EBP-C],EDX
0052DE57  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
0052DE5A  |.  33C0          XOR EAX,EAX
0052DE5C  |.  55            PUSH EBP
0052DE5D  |.  68 43DF5200   PUSH unpack.0052DF43
0052DE62  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
0052DE65  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
0052DE68  |.  33DB          XOR EBX,EBX
0052DE6A  |.  8D55 F4       LEA EDX,DWORD PTR SS:[EBP-C]
0052DE6D  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
0052DE70  |.  8B80 0C030000 MOV EAX,DWORD PTR DS:[EAX+30C]
0052DE76  |.  E8 758AF3FF   CALL unpack.004668F0
0052DE7B  |.  8B45 F4       MOV EAX,DWORD PTR SS:[EBP-C]
0052DE7E  |.  E8 616DEDFF   CALL unpack.00404BE4
0052DE83  |.  8BF0          MOV ESI,EAX
0052DE85  |.  85F6          TEST ESI,ESI
0052DE87  |.  7E 38         JLE SHORT unpack.0052DEC1
0052DE89  |.  C745 F0 01000>MOV DWORD PTR SS:[EBP-10],1
0052DE90  |>  8D45 EC       /LEA EAX,DWORD PTR SS:[EBP-14]
0052DE93  |.  50            |PUSH EAX
0052DE94  |.  B9 01000000   |MOV ECX,1
0052DE99  |.  8B55 F0       |MOV EDX,DWORD PTR SS:[EBP-10]
0052DE9C  |.  8B45 F4       |MOV EAX,DWORD PTR SS:[EBP-C]            ;  用户名
0052DE9F  |.  E8 A06FEDFF   |CALL unpack.00404E44                    ;  测试用户名的长度
0052DEA4  |.  8B45 EC       |MOV EAX,DWORD PTR SS:[EBP-14]
0052DEA7  |.  E8 386FEDFF   |CALL unpack.00404DE4
0052DEAC  |.  8A00          |MOV AL,BYTE PTR DS:[EAX]                ;  取用户名的十六进制存放到AL
0052DEAE  |.  25 FF000000   |AND EAX,0FF
0052DEB3  |.  03D8          |ADD EBX,EAX                             ;  用户名的存放到ebx
0052DEB5  |.  81F3 05FA0B00 |XOR EBX,0BFA05                          ;  把用户名ASCII码累加值 跟0BFA05 循环  XOR
0052DEBB  |.  FF45 F0       |INC DWORD PTR SS:[EBP-10]               ;  用户名加一
0052DEBE  |.  4E            |DEC ESI                                 ;  减用户名的长度1
0052DEBF  |.^ 75 CF         \JNZ SHORT unpack.0052DE90
上面的循环算法就是把用户名ASCII码累加如果用户的长度是单号那就被XOR

0052DEC1  |>  A1 20665300   MOV EAX,DWORD PTR DS:[536620]            ;  536620=978B60
0052DEC6  |.  8BD0          MOV EDX,EAX
0052DEC8  |.  C1E0 04       SHL EAX,4                                ;  978b60 逻辑左移4=0978B600
0052DECB  |.  03C2          ADD EAX,EDX                              ;  0978B600+978b60=0A104160存放到EAX
0052DECD  |.  03D8          ADD EBX,EAX                              ;  1be+0A104160=0A10431E存放到EBX
0052DECF  |.  81C3 D4A31300 ADD EBX,13A3D4                           ;  0A10431E+13A3D4=0A23E6F2
0052DED5  |.  81F3 8DED5900 XOR EBX,59ED8D                           ;  0A23E6F2 xor 59ED8D=0A7A0B7F
0052DEDB  |.  8D55 E8       LEA EDX,DWORD PTR SS:[EBP-18]
0052DEDE  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  
0052DEE1  |.  8B80 10030000 MOV EAX,DWORD PTR DS:[EAX+310]
0052DEE7  |.  E8 048AF3FF   CALL unpack.004668F0
0052DEEC  |.  8B45 E8       MOV EAX,DWORD PTR SS:[EBP-18]
0052DEEF  |.  E8 0CB5EDFF   CALL unpack.00409400
0052DEF4  |.  8BF3          MOV ESI,EBX
0052DEF6  |.  81F6 2473C400 XOR ESI,0C47324                          ;  0A7A0B7F xor C47324=0ABE785B
0052DEFC  |.  3BC6          CMP EAX,ESI                              ;  这里他把EAX 跟ESI比较 我们看看EAX是假码的十六进制而ESI是真码的十六进制
0052DEFE  |.  75 19         JNZ SHORT unpack.0052DF19                ;  这里是关键跳
0052DF00  |.  C645 FB 01    MOV BYTE PTR SS:[EBP-5],1
0052DF04  |.  B8 18665300   MOV EAX,unpack.00536618
0052DF09  |.  8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]
0052DF0C  |.  E8 676AEDFF   CALL unpack.00404978
0052DF11  |.  8935 1C665300 MOV DWORD PTR DS:[53661C],ESI
0052DF17  |.  EB 04         JMP SHORT unpack.0052DF1D
0052DF19  |>  C645 FB 00    MOV BYTE PTR SS:[EBP-5],0
0052DF1D  |>  33C0          XOR EAX,EAX
0052DF1F  |.  5A            POP EDX
0052DF20  |.  59            POP ECX
0052DF21  |.  59            POP ECX
0052DF22  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
0052DF25  |.  68 4ADF5200   PUSH unpack.0052DF4A
0052DF2A  |>  8D45 E8       LEA EAX,DWORD PTR SS:[EBP-18]
0052DF2D  |.  E8 F269EDFF   CALL unpack.00404924
0052DF32  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
0052DF35  |.  E8 EA69EDFF   CALL unpack.00404924
0052DF3A  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
0052DF3D  |.  E8 E269EDFF   CALL unpack.00404924
0052DF42  \.  C3            RETN

【算法总结】
用户名ASCII码累加值+0A104160的值+13A3D4=XXXXX然后把这个值xor 059ED8D=XXXX再xor 0C47324h

((((用户名ASCII码累加值+0A104160)+13A3D4)^059ED8D)^0C47324h)
【算法注册机】
 算法比较简单,用keymake作算法注册机比较快
KeyGen.rek

szHomePage db "Http://bbs.8185.cc",0
szEmail    db "mailto:lykonglong@qq.com",0
szErrMess  db "不甘心",0
szFMT    db "%d",0
szBuffer db 50 dup (0)

.code

          MOV ESI,EAX
invoke lstrlen,esi
        MOV EDX,EAX
        XOR ECX,ECX
        XOR EAX,EAX
@Buganxin:
        MOVSX EBX,BYTE PTR DS:[EAX+ESI]
  AND EAX,0FFh
        ADD ECX,EBX
  XOR ECX,0BFA05h
        INC EAX
        CMP EAX,EDX
        JL @Buganxin

  MOV EAX,0978B60h
  MOV EDX,EAX
  SHL EAX,4                                
  ADD EAX,EDX                              
  ADD ECX,EAX                              
  ADD ECX,013A3D4h                           
  XOR ECX,059ED8Dh
  XOR ECX,0C47324h                           
  invoke wsprintf,addr szBuffer,addr szFMT,ECX
  lea eax,szBuffer

-----------------------------------------------------------------------------------------------------------------
帮你帮我论坛刚刚建站欢迎同志们到论坛交谈!
-----------------------------------------------------------------------------------------------------------------
【版权声明】破文是学习的手记,兴趣是成功的源泉;本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

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

收藏
免费 0
支持
分享
最新回复 (22)
雪    币: 257
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
没人顶自己顶自己!!
2009-1-21 13:23
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我来顶一个!
2009-1-21 13:44
0
雪    币: 2368
活跃值: (81)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
4
我顶....
2009-1-21 16:35
0
雪    币: 6092
活跃值: (654)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
5
我**个肺!!!!!!!!!!!!!
呵呵.....看不懂
纯支持了.
2009-1-21 16:49
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
看不懂的>~`

我也纯支持了~``
2009-1-22 09:10
0
雪    币: 493
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我先看一下, 这个学习一下
2009-1-22 10:00
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
不错,顶一下
2009-1-22 10:07
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
用DEDE查找按钮事件0052D99C
看到这里,我就想问一下楼主0052d99c 为什么要查找这个事件,请指教。
至于怎么导入OD还在看,我都不知道他是什么工具。呵呵
DEDE是个反编译工具,看到这里,望楼主指教
2009-1-23 20:31
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
用DEDE查找按钮事件
请问一下,你如何看出按扭事件的。
2009-1-23 20:55
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
问个问题啦,你怎么能看懂这些语句,我就看不懂。还有OD,DEDE。在里面能查找嘛,我不会呢。一个个慢慢翻好累呀
2009-1-23 21:34
0
雪    币: 257
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
其实用DEDE找按钮事件很容易。我的方法只是记住关键字或先在其他资源编辑器找它模块的名字!
我这里载入OD时在程序找到一个regform这个名是我们注册窗口的名所以只在里面找一下确定按钮就ok了!关键就是要知道我们需要找按钮的窗口名字!!
2009-1-24 19:24
0
雪    币: 192
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
闪电的软件一直以来加密都不错的.
2009-1-25 13:06
0
雪    币: 208
活跃值: (54)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kks
14
想问问DEDE可以做什么
2009-1-25 21:01
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
分析的不错,谢谢分享
2009-1-26 06:45
0
雪    币: 205
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
16
思路很清晰,分析的不错!学习了
2009-1-26 21:04
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
2,用PEID查壳ASPack 2.1 -> Alexey Solodovnikov这个壳我不演示了,自己脱!我脱出来是Borland Delphi 6.0 - 7.0
3,用DEDE查找按钮事件0052D99C,然后把脱壳好的文件载入OD!
这两句不明白,接下来的就更加的不明白了,可以说明清楚一下吗?
2009-1-26 23:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
外行,请把它做成注册机造福人群,谢谢!
2009-3-31 15:46
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
我这软件我上过手 可是最终没有成功 这个软件是视频转换的不错 但不注册只能转20%
我可是我爆破了 但还是不行 也提示注册成功谢谢使用 但还是不行 这个软件是重起验证的
2009-3-31 17:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
没有用。是假注册码。
2009-6-3 16:20
0
雪    币: 1450
活跃值: (35)
能力值: (RANK:680 )
在线值:
发帖
回帖
粉丝
21
Support.
2009-6-3 18:36
0
雪    币: 697
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
玩过音频转换,
2009-6-4 21:17
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
呵呵不错                              
2009-6-4 22:42
0
游客
登录 | 注册 方可回帖
返回
//