twfy914 发表于 2009-12-4 15:27

[原创]飓风视频内存补丁制作

我很菜的,我还是看了
http://www.52pojie.cn/viewthread.php?tid=24246
才学会如何跟,我写得不好,看不明白的去看上边的网址,这里主要讲如何制作内存补丁过飓风。学了吾爱破解的文章不会来发发贴回报一下也忒不厚道了,为了厚道一下下,我也献丑一下了
这次破解用的目标文件去下载吧
SKYDrive

随便找了一个视频文件 飓风8.0加密的
od载入,很简单,esp定律进入,飓风8.0,9.0版本的都是一样的壳,9.7版本的不是这个壳了,后边的版本我没看,中断几次后就到了入口。这个壳没有难度 就不一一讲述了。
004A9BD3 > $E8 00000000   call    004A9BD8
004A9BD8   $60            pushad
004A9BD9   .E8 4F000000   call    004A9C2D                         ;esp定律,硬件断点进入壳
004A9BDE   .3C 27         cmp   al, 27
004A9BE0   .0BFC          or      edi, esp
004A9BE2   .67:6A 57      push    57
004A9BE5   .0FAF82 96B1A7>imul    eax, dword ptr
查找字符串
00480BF4   mov   eax, 00481040                     播放授权不合法!
00480C03   mov   eax, 0048105C                     播放授权不正确!
00480C82   mov   edx, 00481078                     yaomediakj1jf
00480D4B   mov   eax, 00481090                     播放密码不正确
00480D70   push    004810A8                        c:\china-drm\
00480DAF   push    004810C0                        .ini
00480E43   mov   eax, 00481090                     播放密码不正确
00480E7C   mov   edx, 004810D0                     yaomediakj2jf
00480F6C   mov   eax, 00481090                     播放密码不正确
00480F98   mov   edx, 004810E8                     ok
00481160   mov   edx, 0048141C                     yaomediakj3jf
00481288   mov   edx, 00481434                     3
00481294   push    00481440                        c:\china-drm\
004812BD   push    00481458                        mediakjjf
0048131A   mov   edx, 0048147C                     0
0048148B   mov   eax, 004814B4                     确信要退出吗?
004814CE   mov   edx, 004814E8                     ok
进入 00480C82   mov   edx, 00481078                     yaomediakj1jf 下断点
进入 00481160   mov   edx, 0048141C                     yaomediakj3jf 下断点
之所以不在yaomediakj2jf下断点 那是因为yaomediakj1jf和yaomediakj2jf很近而且这里连续有几个比较,直接跟
随便输入8位密码,确定。
00480C82    BA 78104800   mov   edx, 00481078                  ; yaomediakj1jf
00480C87    E8 CC3DF8FF   call    00404A58
00480C8C    8B85 C4FDFFFF   mov   eax, dword ptr
00480C92    8D95 C8FDFFFF   lea   edx, dword ptr
00480C98    E8 7B2E0000   call    00483B18
00480C9D    8B85 C8FDFFFF   mov   eax, dword ptr
00480CA3    8D95 CCFDFFFF   lea   edx, dword ptr
00480CA9    E8 7A7AF8FF   call    00408728
00480CAE    8B85 CCFDFFFF   mov   eax, dword ptr
00480CB4    8D95 E8FDFFFF   lea   edx, dword ptr
00480CBA    E8 496AFEFF   call    00467708
00480CBF    8D85 E8FDFFFF   lea   eax, dword ptr
00480CC5    8D95 D0FDFFFF   lea   edx, dword ptr
00480CCB    E8 AC6AFEFF   call    0046777C
00480CD0    8B85 D0FDFFFF   mov   eax, dword ptr
00480CD6    8D8D D4FDFFFF   lea   ecx, dword ptr
00480CDC    BA 02000000   mov   edx, 2
00480CE1    E8 42E9FAFF   call    0042F628
00480CE6    8B85 D4FDFFFF   mov   eax, dword ptr
00480CEC    8D95 E8FDFFFF   lea   edx, dword ptr
00480CF2    E8 116AFEFF   call    00467708
00480CF7    8D85 E8FDFFFF   lea   eax, dword ptr
00480CFD    8D55 F0         lea   edx, dword ptr
00480D00    E8 776AFEFF   call    0046777C
00480D05    8D8D C0FDFFFF   lea   ecx, dword ptr
00480D0B    BA 02000000   mov   edx, 2
00480D10    A1 D8AD4800   mov   eax, dword ptr
00480D15    E8 0EE9FAFF   call    0042F628
00480D1A    8B85 C0FDFFFF   mov   eax, dword ptr
00480D20    8D95 E8FDFFFF   lea   edx, dword ptr
00480D26    E8 DD69FEFF   call    00467708
00480D2B    8D85 E8FDFFFF   lea   eax, dword ptr
00480D31    8D55 EC         lea   edx, dword ptr
00480D34    E8 436AFEFF   call    0046777C
00480D39    8B45 F0         mov   eax, dword ptr           ;这里放入的是正确的前两位
00480D3C    8B55 EC         mov   edx, dword ptr           ; 注意这里,把你的密码的前两位放入eax进行比较
00480D3F    E8 583EF8FF   call    00404B9C
00480D44    0F95C0          setne   al
00480D47    84C0            test    al, al
00480D49    74 0F         je      short 00480D5A

内存补丁只能够修改指令, 有两种做法,一是直接修改00480D49 把je改成jne 我采用第二种做法,让eax和edx相等
直接把00480D3C改为 mov edx,eax 或者是eax, dword ptr
往下 一共有4个地方需要改
第二处
00480E27    E8 4021F8FF   call    00402F6C
00480E2C    E8 F31AF8FF   call    00402924
00480E31    8B45 F0         mov   eax, dword ptr           ; 真的
00480E34    8B55 EC         mov   edx, dword ptr           ; 假的
00480E37    E8 603DF8FF   call    00404B9C
第三处
00480E48    E8 77B8FAFF   call    0042C6C4
00480E4D    E9 69010000   jmp   00480FBB
00480E52    8B45 F0         mov   eax, dword ptr           ; 真的
00480E55    8B55 EC         mov   edx, dword ptr           ; 假的
00480E58    E8 3F3DF8FF   call    00404B9C
第四处
00480F46    8D95 E8FDFFFF   lea   edx, dword ptr
00480F4C    E8 B767FEFF   call    00467708
00480F51    8D85 E8FDFFFF   lea   eax, dword ptr
00480F57    8D55 EC         lea   edx, dword ptr
00480F5A    E8 1D68FEFF   call    0046777C
00480F5F    8B45 F0         mov   eax, dword ptr           ; 真的
00480F62    8B55 EC         mov   edx, dword ptr           ; 假的
00480F65    E8 323CF8FF   call    00404B9C
00480F6A    74 0C         je      short 00480F78
00480F6C    B8 90104800   mov   eax, 00481090                  ; 播放密码不正确
第五处
由于这里是先得到假的 所以不能用mov eax,edx了 直接把mov的地址指向正确的地址了,改为mov   eax, dword ptr
00480F8E    E8 59050000   call    004814EC
00480F93    A1 047F4800   mov   eax, dword ptr
00480F98    BA E8104800   mov   edx, 004810E8                  ; ok
00480F9D    E8 4238F8FF   call    004047E4
00480FA2    8B55 EC         mov   edx, dword ptr           ; 假的,这里得注意一下,这里是先入的eax
00480FA5    8B45 F0         mov   eax, dword ptr           ; 真的
00480FA8    E8 B777F8FF   call    00408764
第六处
F9运行,到达yaomediakj3jf 往下,这次不能直接修改比较的地址了,貌似飓风用两位有特殊用处,如果该比较的地址,能进入播放界面但是不能播放视频。经过跟踪,发现在比较的前边,飓风有一个截取输入的密码最后两位的动作,不知道是做什么用的。把004811DE指向正确的地址就行,由于004811B6到004811DE ebp都没变化,计算都省略了 ,直接改为 mov   eax, dword ptr
004811AC    BA 02000000   mov   edx, 2
004811B1    E8 E2E4FAFF   call    0042F698
004811B6    8B45 D0         mov   eax, dword ptr           ; 正确的最后两位的播放密码
004811B9    8D55 D4         lea   edx, dword ptr
004811BC    E8 4765FEFF   call    00467708
004811C1    8D45 D4         lea   eax, dword ptr
004811C4    8D55 FC         lea   edx, dword ptr
004811C7    E8 B065FEFF   call    0046777C
004811CC    8D4D B8         lea   ecx, dword ptr
004811CF    BA 02000000   mov   edx, 2
004811D4    A1 D8AD4800   mov   eax, dword ptr
004811D9    E8 BAE4FAFF   call    0042F698
004811DE    8B45 B8         mov   eax, dword ptr           ; 把错误的播放密码放进去了
004811E1    8D55 D4         lea   edx, dword ptr
004811E4    E8 1F65FEFF   call    00467708
004811E9    8D45 D4         lea   eax, dword ptr
004811EC    8D55 F8         lea   edx, dword ptr
004811EF    E8 8865FEFF   call    0046777C
004811F4    8B45 FC         mov   eax, dword ptr
004811F7    8B55 F8         mov   edx, dword ptr
004811FA    E8 9D39F8FF   call    00404B9C

F9 开始播放
至此 一共修改了
第一处
00480D3C    8B55 EC         mov   edx, dword ptr
00480D3C    8B55 F0         mov   eax, dword ptr          
第二处
00480E34    8B55 EC         mov   edx, dword ptr          
00480E34    8B55 F0         mov   edx, dword ptr       
第三处
00480E55    8B55 EC         mov   edx, dword ptr    
00480E55    8B55 F0         mov   edx, dword ptr    
第四处
00480F62    8B55 EC         mov   edx, dword ptr    
00480F62    8B55 F0         mov   edx, dword ptr
第五处
00480FA2    8B55 EC         mov   edx, dword ptr    
00480FA2    8B55 F0         mov   edx, dword ptr       
第六处
004811DE    8B45 B8         mov   eax, dword ptr
004811DE    8B45 D0         mov   eax, dword ptr    
Keymake很简单
在菜单中选择内存补丁,然后依次填入,再点击生成就可以了,飓风8.0,9.0的壳有校验,如果用文件补丁的话会出错

最后顺便把防止翻录破了
在查找字符串中找到
00482F3A    edx, 00483118    scap.exe|camtasia|captivate|capture|easysnap|fsvideo|hprsnap|courseware|htserver|hycam|lcsc.exe|m4uscreen|scrcam|myscrmycut|屏录|ly.exe|sph.exe|rdfsnap|screencapture|snagit|screenvcr|wmenc.exe|screen|flash|view|letcam|audio|lxj.exe|snap|vampire|webex
双击进去
00482F1C    E8 03FBFFFF   call    00482A24
00482F21    85C0            test    eax, eax
00482F23    0F84 9D010000   je      004830C6
00482F29    8D55 F0         lea   edx, dword ptr
00482F2C    8B85 CCFEFFFF   mov   eax, dword ptr
00482F32    E8 BD030000   call    004832F4
00482F37    8D45 F4         lea   eax, dword ptr
00482F3A    BA 18314800   mov   edx, 00483118                  ; scap.exe|camtasia|captivate|capture|easysnap|fsvideo|hprsnap|courseware|htserver|hycam|lcsc.exe|m4uscreen|scrcam|myscrmycut|屏录|ly.exe|sph.exe|rdfsnap|screencapture|snagit|screenvcr|wmenc.exe|screen|flash|view|letcam|audio|lxj.exe|snap|vampire|webex
00482F3F    E8 E418F8FF   call    00404828

把00482F23改为jne就可以了
和上边一样 填入Keymake
完成

8.0版本和9.0版本的破解方法一样 只是输入密码的时候需要输入以9d打头的共18位字符。

使用内存补丁有一个好处就是所有用这一个版本的飓风加密的文件你都可以过,不用每个还去算号,去跟。不足之处是你必须把文件名改为你制作补丁选择的文件名
由于时间比较少,我只试了8.0版本和9.0版本,这样可以过,其他版本没试,如果核心算法没变,应该也是可以的。反正飙风8.0-9.0变化的仅仅是输入密码的长度而已,对于这个破解方法,我们完全无视。

http://www.52pojie.cn/home/attachment/200912/4/60015_1259910973zAEp.png

ieiqp 发表于 2009-12-4 16:29

学习了破解的思路~!

GUC 发表于 2009-12-4 16:23

不足之处是你必须把文件名改为你制作补丁选择的文件名
这个不足用lpk就解决了。

Hmily 发表于 2009-12-4 15:39

:)eee最重要的是分享,感谢分享,这个爆破还是比较简单的,第一篇文件加精鼓励!文章里的代码最好用引用框,这样文章看起来会很好看.

2051314 发表于 2009-12-4 16:45

支持一下。。学习了

CHHSun 发表于 2009-12-4 19:42

膜拜一下,俺写不出来

热火朝天 发表于 2009-12-4 20:37

支持一下,努力学习

wuqing1501 发表于 2009-12-4 20:44

支持楼主学习一下

ZeNiX 发表于 2009-12-7 14:15

這個話題, 还是經常遇到有人發問.
謝謝 twfy914 的分享.

feiligood 发表于 2009-12-7 14:31

看了这个代码看也看不懂 直接无语信了。
看了晕
页: [1] 2 3 4 5 6
查看完整版本: [原创]飓风视频内存补丁制作