飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 10164|回复: 36

[原创] 双击一次,让程序自己注册

[复制链接]

该用户从未签到

发表于 2007-8-22 16:14:48 | 显示全部楼层 |阅读模式
【破文标题】双击一次,让程序自己注册
【破文作者】云飘飘
【作者邮箱】lzg440@163.com
【作者主页】
破解工具】OllyDbg
【破解平台】Win2000
【软件名称】网络电视小精灵 3.9.1 build1215
【软件大小】376K
【原版下载】http://www.onlinedown.net/soft/18599.htm
【保护方式】注册码保护,重启验证注册表
【软件简介】最好用的网络电视软件。收视率95%以上。收集国内外“精品”电视台400多家电视台。体育台,电影台,音乐台等。同时收集了许多当今最酷、最流行的几十套音乐和外语广播电台节目。 ...
------------------------------------------------------------------------
【破解过程】上个星期,下了这个程序在硬盘上。(该程序已经半年多未曾更新,强烈推荐推荐菜鸟们练练手,
以此熟悉一下OD的操作。)

解压该程序到硬盘上,呵呵,不用安装,绿色版本。

先运行程序,试一试,说不定你运气好,一下就蒙中了注册码呢!(果真如此的话,建议买今天的
福彩3D,100倍!)

在【帮助】--->【软件注册】后弹出的窗口中,什么也不用输入,直接点一下【注册】,出现提示
《您的注册码无效,请与作者联系xiaotv@163.com》,^_^,有门!

用PEiD v0.94 [PYG专用版] 查一下壳,显示为:ASPack 2.12 -> Alexey Solodovnikov,一个弱壳,用插件
【PEiD Generic Unpacker】即可轻松脱壳

不用说,退出程序,用OD载入脱壳后的程序,在汇编窗口点击右键,选择“Ultra String Regerence”->“FIND ASCII”,
然后在超级字串窗口按CTRL+F,输入“您的注册码无效”(偷懒的话,可以只输入一个汉字“您”),
下面显示的这一行将高亮显示:

0049A2C3     mov     eax, 0049A390                    ;  您的注册码无效,请与作者联系xiaotv@163.com

好的,双击此行,汇编窗口来到这里:

  1. 0049A2C3   > \B8 90A34900   mov     eax, 0049A390                    ;  您的注册码无效,请与作者联系[email]xiaotv@163.com[/email]
  2. 0049A2C8   .  E8 AF38F9FF   call    0042DB7C
  3. 0049A2CD   .  8B83 2C030000 mov     eax, dword ptr [ebx+32C]
  4. 0049A2D3   .  33D2          xor     edx, edx
  5. 0049A2D5   .  E8 AA3EFAFF   call    0043E184
复制代码


看见这一行的这个符号没有“ > ”?,它表示其他行跳向这里!在这一行上点击右键,选择【转到】--->
【jnz 来自0041A1E8】,现在来到这里:

  1. 0049A1EB   . /0F85 D2000000 jnz     0049A2C3
  2. 0049A1F1   . |8BC3          mov     eax, ebx
  3. 0049A1F3   . |E8 BC00FCFF   call    0045A2B4
复制代码


在0049A1EB行上按F2,下个断点,0049A1EB变红了。

现在,请你按F9,然后程序运行起来了,在软件的【帮助】--->【软件注册】后弹出的窗口中,
什么也不用输入,直接点一下【注册】,看OD,程序停在了我们下断的地方。

请你找到寄存器窗口,
C 1  ES 0023 32位 0(FFFFFFFF)
P 1  CS 001B 32位 0(FFFFFFFF)
A 1  SS 0023 32位 0(FFFFFFFF)
Z 0  DS 0023 32位 0(FFFFFFFF)
S 1  FS 0038 32位 7FFDE000(FFF)
T 0  GS 0000 NULL

关键的动作要实施了,注意!!!
看到了Z 旁边的“0”了吧,双击它,然后再按F9,将OD最小化,呵呵,程序出现提示【软件注册成功!谢谢注册!】
点击【OK】,程序自己退出了运行。然后关闭OD。再次运行程序(脱过壳的,或者没脱壳的,随便哪个都行),
呵呵,程序显示“已注册”,大功告成了!
------------------------------------------------------------------------
【破解总结】没什么技术含量,熟悉一下OD的操作和PEiD的用法而已!
还是昨天那句:“OllyDbg的寄存器窗口标志是可以任你改的,双击你要改变的标志寄存器就行!”。

顺便附上注册表信息:
[HKEY_CURRENT_USER\Software\qianghua\xiaotv]
"regcode"="78466324"

------------------------------------------------------------------------
【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢!

[ 本帖最后由 云飘飘 于 2007-8-23 12:36 编辑 ]

评分

参与人数 1威望 +8 收起 理由
tigerisme + 8 鼓励

查看全部评分

PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2007-8-22 16:24:10 | 显示全部楼层

重点代码

贴上重点代码:
  1. 0049A1A6      8BC0          mov     eax, eax
  2. 0049A1A8   .  55            push    ebp
  3. 0049A1A9   .  8BEC          mov     ebp, esp
  4. 0049A1AB   .  6A 00         push    0
  5. 0049A1AD   .  6A 00         push    0
  6. 0049A1AF   .  6A 00         push    0
  7. 0049A1B1   .  53            push    ebx
  8. 0049A1B2   .  8BD8          mov     ebx, eax
  9. 0049A1B4   .  33C0          xor     eax, eax
  10. 0049A1B6   .  55            push    ebp
  11. 0049A1B7   .  68 10A34900   push    0049A310
  12. 0049A1BC   .  64:FF30       push    dword ptr fs:[eax]
  13. 0049A1BF   .  64:8920       mov     dword ptr fs:[eax], esp
  14. 0049A1C2   .  8D55 F8       lea     edx, dword ptr [ebp-8]
  15. 0049A1C5   .  8B83 34030000 mov     eax, dword ptr [ebx+334]
  16. 0049A1CB   .  E8 843FFAFF   call    0043E154
  17. 0049A1D0   .  8B45 F8       mov     eax, dword ptr [ebp-8]
  18. 0049A1D3   .  50            push    eax
  19. 0049A1D4   .  8D55 F4       lea     edx, dword ptr [ebp-C]
  20. 0049A1D7   .  8B83 0C030000 mov     eax, dword ptr [ebx+30C]
  21. 0049A1DD   .  E8 723FFAFF   call    0043E154
  22. 0049A1E2   .  8B55 F4       mov     edx, dword ptr [ebp-C]
  23. 0049A1E5   .  58            pop     eax
  24. 0049A1E6   .  E8 81A3F6FF   call    0040456C
  25. 0049A1EB   .  0F85 D2000000 jnz     0049A2C3                         ;  跳走就完蛋了
  26. 0049A1F1   .  8BC3          mov     eax, ebx
  27. 0049A1F3   .  E8 BC00FCFF   call    0045A2B4
  28. 0049A1F8   .  B2 01         mov     dl, 1
  29. 0049A1FA   .  A1 3C0C4300   mov     eax, dword ptr [430C3C]
  30. 0049A1FF   .  E8 386BF9FF   call    00430D3C
  31. 0049A204   .  8945 FC       mov     dword ptr [ebp-4], eax
  32. 0049A207   .  33C0          xor     eax, eax
  33. 0049A209   .  55            push    ebp
  34. 0049A20A   .  68 A4A24900   push    0049A2A4
  35. 0049A20F   .  64:FF30       push    dword ptr fs:[eax]
  36. 0049A212   .  64:8920       mov     dword ptr fs:[eax], esp
  37. 0049A215   .  BA 01000080   mov     edx, 80000001
  38. 0049A21A   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  39. 0049A21D   .  E8 BA6BF9FF   call    00430DDC
  40. 0049A222   .  33C9          xor     ecx, ecx
  41. 0049A224   .  BA 24A34900   mov     edx, 0049A324                    ;  ASCII "\Software\qianghua\xiaotv"
  42. 0049A229   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  43. 0049A22C   .  E8 EB6CF9FF   call    00430F1C                         ;  写注册表
  44. 0049A231   .  84C0          test    al, al
  45. 0049A233   .  75 30         jnz     short 0049A265
  46. 0049A235   .  BA 24A34900   mov     edx, 0049A324                    ;  ASCII "\Software\qianghua\xiaotv"
  47. 0049A23A   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  48. 0049A23D   .  E8 FE6BF9FF   call    00430E40                         ;  写注册表
  49. 0049A242   .  B1 01         mov     cl, 1
  50. 0049A244   .  BA 24A34900   mov     edx, 0049A324                    ;  ASCII "\Software\qianghua\xiaotv"
  51. 0049A249   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  52. 0049A24C   .  E8 CB6CF9FF   call    00430F1C                         ;  写注册表
  53. 0049A251   .  B9 48A34900   mov     ecx, 0049A348                    ;  ASCII "78466324"
  54. 0049A256   .  BA 5CA34900   mov     edx, 0049A35C                    ;  ASCII "regcode"
  55. 0049A25B   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  56. 0049A25E   .  E8 856FF9FF   call    004311E8
  57. 0049A263   .  EB 0F         jmp     short 0049A274
  58. 0049A265   >  B1 01         mov     cl, 1
  59. 0049A267   .  BA 24A34900   mov     edx, 0049A324                    ;  ASCII "\Software\qianghua\xiaotv"
  60. 0049A26C   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  61. 0049A26F   .  E8 A86CF9FF   call    00430F1C                         ;  写注册表
  62. 0049A274   >  B9 48A34900   mov     ecx, 0049A348                    ;  ASCII "78466324"
  63. 0049A279   .  BA 5CA34900   mov     edx, 0049A35C                    ;  ASCII "regcode"
  64. 0049A27E   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  65. 0049A281   .  E8 626FF9FF   call    004311E8
  66. 0049A286   .  33C0          xor     eax, eax
  67. 0049A288   .  5A            pop     edx
  68. 0049A289   .  59            pop     ecx
  69. 0049A28A   .  59            pop     ecx
  70. 0049A28B   .  64:8910       mov     dword ptr fs:[eax], edx
  71. 0049A28E   .  68 ABA24900   push    0049A2AB
  72. 0049A293   >  8B45 FC       mov     eax, dword ptr [ebp-4]
  73. 0049A296   .  E8 116BF9FF   call    00430DAC
  74. 0049A29B   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  75. 0049A29E   .  E8 E990F6FF   call    0040338C
  76. 0049A2A3   .  C3            retn
  77. 0049A2A4   .^ E9 3798F6FF   jmp     00403AE0
  78. 0049A2A9   .^ EB E8         jmp     short 0049A293
  79. 0049A2AB   .  B8 6CA34900   mov     eax, 0049A36C                    ;  软件注册成功!谢谢注册!
  80. 0049A2B0   .  E8 C738F9FF   call    0042DB7C
  81. 0049A2B5   .  A1 74794D00   mov     eax, dword ptr [4D7974]
  82. 0049A2BA   .  8B00          mov     eax, dword ptr [eax]
  83. 0049A2BC   .  E8 F3FFFBFF   call    0045A2B4
  84. 0049A2C1   .  EB 32         jmp     short 0049A2F5
  85. 0049A2C3   >  B8 90A34900   mov     eax, 0049A390                    ;  您的注册码无效,请与作者联系[email]xiaotv@163.com[/email]
  86. 0049A2C8   .  E8 AF38F9FF   call    0042DB7C
  87. 0049A2CD   .  8B83 2C030000 mov     eax, dword ptr [ebx+32C]
  88. 0049A2D3   .  33D2          xor     edx, edx
  89. 0049A2D5   .  E8 AA3EFAFF   call    0043E184
  90. 0049A2DA   .  8B83 34030000 mov     eax, dword ptr [ebx+334]
  91. 0049A2E0   .  33D2          xor     edx, edx
  92. 0049A2E2   .  E8 9D3EFAFF   call    0043E184
  93. 0049A2E7   .  8B83 2C030000 mov     eax, dword ptr [ebx+32C]
  94. 0049A2ED   .  8B10          mov     edx, dword ptr [eax]
  95. 0049A2EF   .  FF92 C4000000 call    dword ptr [edx+C4]
  96. 0049A2F5   >  33C0          xor     eax, eax
  97. 0049A2F7   .  5A            pop     edx
  98. 0049A2F8   .  59            pop     ecx
  99. 0049A2F9   .  59            pop     ecx
  100. 0049A2FA   .  64:8910       mov     dword ptr fs:[eax], edx
  101. 0049A2FD   .  68 17A34900   push    0049A317
  102. 0049A302   >  8D45 F4       lea     eax, dword ptr [ebp-C]
  103. 0049A305   .  BA 02000000   mov     edx, 2
  104. 0049A30A   .  E8 759EF6FF   call    00404184
  105. 0049A30F   .  C3            retn
  106. 0049A310   .^ E9 CB97F6FF   jmp     00403AE0
  107. 0049A315   .^ EB EB         jmp     short 0049A302
  108. 0049A317   .  5B            pop     ebx
  109. 0049A318   .  8BE5          mov     esp, ebp
  110. 0049A31A   .  5D            pop     ebp
  111. 0049A31B   .  C3            retn
复制代码

软件重启验证注册表。菜鸟可以找到注册表[HKEY_CURRENT_USER\Software\qianghua\xiaotv],删除后再试一试哟!

[ 本帖最后由 云飘飘 于 2007-8-22 16:42 编辑 ]
PYG19周年生日快乐!

该用户从未签到

发表于 2007-8-22 18:31:54 | 显示全部楼层
楼主是高手啊,请多多分享。
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2007-8-22 19:45:36 | 显示全部楼层
高手不敢当啊......
只是最近迷上了破解,周末稀里糊涂地搞定了一辆个程序,特别是昨天连续破了两个,偶然有点心得,大言不惭地便开始叫卖了!^_^
希望共同进步!!
你还是[PYG]学员呢,我可比你身价低多了,呵呵.希望某天也会成为一个团队的成员,好好干干.
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2007-8-22 20:01:25 | 显示全部楼层
刚才在本论坛搜索了一下,关于"网络电视小精灵"的破解,竟然有十几篇之多.

不过我可以大言不惭地说,没有哪一个比我的破解更简单,我的破解实际上只有一次双击而已,呵呵!

按捺住自己的激动心情,继续前行!

希望菜鸟们一定试试,也尝试一下收获的滋味......
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-5-1 14:44
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2007-8-22 21:13:56 | 显示全部楼层
    都是从简单到复杂的走过来的,支持一下云飘飘
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-8-22 22:23:37 | 显示全部楼层
    看到了Z 旁边的“0”了吧

    菜鸟提问:
    "Z"是零标志,只有在调试中有效! 这里的0和1分别代表什么呢
    其他的c ,p ,a,....都是些什么啊?

    [ 本帖最后由 郑宇鸣 于 2007-8-22 22:27 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2007-8-23 07:17:36 | 显示全部楼层
    C 1  ES 0023 32位 0(FFFFFFFF)
    P 1  CS 001B 32位 0(FFFFFFFF)
    A 1  SS 0023 32位 0(FFFFFFFF)
    Z 0  DS 0023 32位 0(FFFFFFFF)
    S 1  FS 0038 32位 7FFDE000(FFF)
    T 0  GS 0000 NULL

    上面六个依次是进位 偶校验 辅助进位 零 符号 中断标志位,菜鸟们可以看看汇编的书就懂了.
    标志位旁边的0或1表示各标志位当前的值.

    因为程序采用零标志位判断,而且走到这里的时候,它么往注册不成功的地方跳,我们不希望这样的事情发生,所以双击标志位旁边的数值,改变它,让它跳到我们希望的地方.

    菜鸟可以对着经典的破解句式比较比较,马上会弄懂的......
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-8-23 09:23:30 | 显示全部楼层
    原帖由 云飘飘 于 2007-8-23 07:17 发表
    C 1  ES 0023 32位 0(FFFFFFFF)
    P 1  CS 001B 32位 0(FFFFFFFF)
    A 1  SS 0023 32位 0(FFFFFFFF)
    Z 0  DS 0023 32位 0(FFFFFFFF)
    S 1  FS 0038 32位 7FFDE000(FFF)
    T 0  GS 0000 NULL

    上面六个依次是进位 ...

    谢谢解答 /:013
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-8-23 10:01:26 | 显示全部楼层
    很不错的帖子,看来要学破解,熟练掌握汇编知识很重要啊
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表