首页
社区
课程
招聘
[旧帖] [原创]#1 Video Converter破解过程 0.00雪花
发表于: 2008-6-28 21:41 3923

[旧帖] [原创]#1 Video Converter破解过程 0.00雪花

2008-6-28 21:41
3923
【文章标题】: #1 Video Converter破解过程
【文章作者】: xPLK[0GiNr]
【作者主页】: http://hi.baidu.com/zoo%5F
【软件名称】: #1 Video Converter
【下载地址】: 自己搜索下载
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
        随便找个转换器来捏捏,找到了这个,NO1 Video Converter
  练习读汇编代码,无其他目的,最近发现自己的汇编阅读能力正在下降,所以多练一些。
  程序比较简单,注册方法是注册码+算法的形式的,实时验证,天知道那老外想干嘛,在这里使用Sleep停了1s,似乎要制造算法很庞大的样子,其实很简单,而且很搞笑。<br>
  算法如下:
  
  0041CE4A  |> /8B5424 38     /mov     edx, dword ptr [esp+38]
  0041CE4E  |. |8D4C24 34     |lea     ecx, dword ptr [esp+34]
  0041CE52  |. |8A82 50864300 |mov     al, byte ptr [edx+438650]       ;  一个表:Glb,逐一入栈,有很大用处
  0041CE58  |. |884424 18     |mov     byte ptr [esp+18], al
  0041CE5C  |. |E8 8FA70000   |call    <jmp.&MFC42.#540>
  0041CE61  |. |8BFB          |mov     edi, ebx
  0041CE63  |. |83C9 FF       |or      ecx, FFFFFFFF
  0041CE66  |. |33C0          |xor     eax, eax
  0041CE68  |. |33ED          |xor     ebp, ebp
  0041CE6A  |. |F2:AE         |repne   scas byte ptr es:[edi]
  0041CE6C  |. |F7D1          |not     ecx                             ;  求注册名长度
  0041CE6E  |. |49            |dec     ecx
  0041CE6F  |. |C64424 2C 02  |mov     byte ptr [esp+2C], 2
  0041CE74  |. |74 4B         |je      short 0041CEC1
  0041CE76  |> |8A042B        |/mov     al, byte ptr [ebx+ebp]
  0041CE79  |. |33F6          ||xor     esi, esi
  0041CE7B  |> |3A0475 E88543>||/cmp     al, byte ptr [esi*2+4385E8]   ;  一个表,偶数位包含了a~z,A~Z等字符,这个循环查询注册名中符合表中位置的字符,并记录下表,保存于esi中
  0041CE82  |. |74 08         |||je      short 0041CE8C                ;  找到就跳
  0041CE84  |. |46            |||inc     esi
  0041CE85  |. |83FE 34       |||cmp     esi, 34
  0041CE88  |.^|7C F1         ||\jl      short 0041CE7B
  0041CE8A  |. |EB 11         ||jmp     short 0041CE9D
  0041CE8C  |> |8A0C75 E98543>||mov     cl, byte ptr [esi*2+4385E9]    ;  还是刚才那个表,但是是奇数位,保存着注册码,通过注册码计算得到
  0041CE93  |. |51            ||push    ecx
  0041CE94  |. |8D4C24 38     ||lea     ecx, dword ptr [esp+38]
  0041CE98  |. |E8 EDA90000   ||call    <jmp.&MFC42.#940>
  0041CE9D  |> |83FE 34       ||cmp     esi, 34                        ;  如果注册名没有a~z、A~Z就来到这里,使用表中'Glb'中的任意一个
  0041CEA0  |. |75 0E         ||jnz     short 0041CEB0
  0041CEA2  |. |8B5424 18     ||mov     edx, dword ptr [esp+18]
  0041CEA6  |. |8D4C24 34     ||lea     ecx, dword ptr [esp+34]
  0041CEAA  |. |52            ||push    edx
  0041CEAB  |. |E8 DAA90000   ||call    <jmp.&MFC42.#940>
  0041CEB0  |> |8BFB          ||mov     edi, ebx
  0041CEB2  |. |83C9 FF       ||or      ecx, FFFFFFFF
  0041CEB5  |. |33C0          ||xor     eax, eax
  0041CEB7  |. |45            ||inc     ebp
  0041CEB8  |. |F2:AE         ||repne   scas byte ptr es:[edi]
  0041CEBA  |. |F7D1          ||not     ecx
  0041CEBC  |. |49            ||dec     ecx                            ;  求长度
  0041CEBD  |. |3BE9          ||cmp     ebp, ecx
  0041CEBF  |.^|72 B5         |\jb      short 0041CE76
  0041CEC1  |> |8B4424 34     |mov     eax, dword ptr [esp+34]
  0041CEC5  |. |8B48 F8       |mov     ecx, dword ptr [eax-8]
  
  
  算法描述,程序使用了一个密码表之类的东西:aEbGcmdleSfmgkhEicjxksltmYnbokpDqtrasftwulvjwDxIyPzZAXBPCoDKEgFyGmHtIaJrKqLNMQNUOuPGQJRLSnTbUCVFWHXoYwZE,算法对注册名与表中的各项逐项对比,若找到相同的,就以该元素的下一元素作为注册码,保存。若不在,就从‘Glb’这三个元素任意取一个来塞。还有,注册码未满16位的,计算得到的注册码需要合并,另一部分是固定字符串‘gEScvDHyOALMBWPs’,但要从尾部减去注册码长度,然后进行合并,计算出来的注册码作为头部,处理过的固定字符串作为尾部。
  例如,注册名0GiNr,‘0’不在该表中,所以随便填写一个‘G’,然后慢慢找。‘GiNr’分别对应着‘bmcUa’,然后固定字符串减去5,得到gEScvDHyOAL,所以注册名为‘0GiNr’的时候,注册码为‘bmcUagEScvDHyOAL’或者‘GmcUagEScvDHyOAL’或者‘bmcUagEScvDHyOAL’。
  好了,可以开始钻空子了!从算法得知,如果注册名中没有A~Z(大小写),且长度大于16时,算法会用‘Glb’随便填充(但是要一样的),而且不会引入那个固定字符串的东西。所以,注册码我们写16个数字,然后注册码就是16个G或者b或者l,结果注册成功了。。汗吧?该算法的漏洞实在太大了。
  




--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2008年06月28日 21:40:53

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 228
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
顶,肯定又是会加精华,我抢沙发,
2008-6-28 21:47
0
雪    币: 375
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
多谢二楼的兄弟。

来写个Keygen吧,反正我是懒得写了。
2008-6-29 09:32
0
雪    币: 228
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我试一试了,恐怕一下了写不出来啊
2008-6-30 11:01
0
游客
登录 | 注册 方可回帖
返回
//