双击一次,让程序自己注册
【破文标题】双击一次,让程序自己注册【破文作者】云飘飘
【作者邮箱】[email protected]
【作者主页】
【破解工具】OllyDbg
【破解平台】Win2000
【软件名称】网络电视小精灵 3.9.1 build1215
【软件大小】376K
【原版下载】http://www.onlinedown.net/soft/18599.htm
【保护方式】注册码保护,重启验证注册表
【软件简介】最好用的网络电视软件。收视率95%以上。收集国内外“精品”电视台400多家电视台。体育台,电影台,音乐台等。同时收集了许多当今最酷、最流行的几十套音乐和外语广播电台节目。 ...
------------------------------------------------------------------------
【破解过程】上个星期,下了这个程序在硬盘上。(该程序已经半年多未曾更新,强烈推荐推荐菜鸟们练练手,
以此熟悉一下OD的操作。)
解压该程序到硬盘上,呵呵,不用安装,绿色版本。
先运行程序,试一试,说不定你运气好,一下就蒙中了注册码呢!(果真如此的话,建议买今天的
福彩3D,100倍!)
在【帮助】--->【软件注册】后弹出的窗口中,什么也不用输入,直接点一下【注册】,出现提示
《您的注册码无效,请与作者联系[email protected]》,^_^,有门!
用PEiD v0.94 查一下壳,显示为:ASPack 2.12 -> Alexey Solodovnikov,一个弱壳,用插件
【PEiD Generic Unpacker】即可轻松脱壳!
不用说,退出程序,用OD载入脱壳后的程序,在汇编窗口点击右键,选择“Ultra String Regerence”->“FIND ASCII”,
然后在超级字串窗口按CTRL+F,输入“您的注册码无效”(偷懒的话,可以只输入一个汉字“您”),
下面显示的这一行将高亮显示:
0049A2C3 mov eax, 0049A390 ;您的注册码无效,请与作者联系[email protected]
好的,双击此行,汇编窗口来到这里:
0049A2C3 > \B8 90A34900 mov eax, 0049A390 ;您的注册码无效,请与作者联系[email protected]
0049A2C8 .E8 AF38F9FF call 0042DB7C
0049A2CD .8B83 2C030000 mov eax, dword ptr
0049A2D3 .33D2 xor edx, edx
0049A2D5 .E8 AA3EFAFF call 0043E184
看见这一行的这个符号没有“ > ”?,它表示其他行跳向这里!在这一行上点击右键,选择【转到】--->
【jnz 来自0041A1E8】,现在来到这里:
0049A1EB . /0F85 D2000000 jnz 0049A2C3
0049A1F1 . |8BC3 mov eax, ebx
0049A1F3 . |E8 BC00FCFF call 0045A2B4
在0049A1EB行上按F2,下个断点,0049A1EB变红了。
现在,请你按F9,然后程序运行起来了,在软件的【帮助】--->【软件注册】后弹出的窗口中,
什么也不用输入,直接点一下【注册】,看OD,程序停在了我们下断的地方。
请你找到寄存器窗口,
C 1ES 0023 32位 0(FFFFFFFF)
P 1CS 001B 32位 0(FFFFFFFF)
A 1SS 0023 32位 0(FFFFFFFF)
Z 0DS 0023 32位 0(FFFFFFFF)
S 1FS 0038 32位 7FFDE000(FFF)
T 0GS 0000 NULL
关键的动作要实施了,注意!!!
看到了Z 旁边的“0”了吧,双击它,然后再按F9,将OD最小化,呵呵,程序出现提示【软件注册成功!谢谢注册!】
点击【OK】,程序自己退出了运行。然后关闭OD。再次运行程序(脱过壳的,或者没脱壳的,随便哪个都行),
呵呵,程序显示“已注册”,大功告成了!
------------------------------------------------------------------------
【破解总结】没什么技术含量,熟悉一下OD的操作和PEiD的用法而已!
还是昨天那句:“OllyDbg的寄存器窗口标志是可以任你改的,双击你要改变的标志寄存器就行!”。
顺便附上注册表信息:
"regcode"="78466324"
------------------------------------------------------------------------
【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢!
[ 本帖最后由 云飘飘 于 2007-8-23 12:36 编辑 ]
重点代码
贴上重点代码:0049A1A6 8BC0 mov eax, eax
0049A1A8 .55 push ebp
0049A1A9 .8BEC mov ebp, esp
0049A1AB .6A 00 push 0
0049A1AD .6A 00 push 0
0049A1AF .6A 00 push 0
0049A1B1 .53 push ebx
0049A1B2 .8BD8 mov ebx, eax
0049A1B4 .33C0 xor eax, eax
0049A1B6 .55 push ebp
0049A1B7 .68 10A34900 push 0049A310
0049A1BC .64:FF30 push dword ptr fs:
0049A1BF .64:8920 mov dword ptr fs:, esp
0049A1C2 .8D55 F8 lea edx, dword ptr
0049A1C5 .8B83 34030000 mov eax, dword ptr
0049A1CB .E8 843FFAFF call 0043E154
0049A1D0 .8B45 F8 mov eax, dword ptr
0049A1D3 .50 push eax
0049A1D4 .8D55 F4 lea edx, dword ptr
0049A1D7 .8B83 0C030000 mov eax, dword ptr
0049A1DD .E8 723FFAFF call 0043E154
0049A1E2 .8B55 F4 mov edx, dword ptr
0049A1E5 .58 pop eax
0049A1E6 .E8 81A3F6FF call 0040456C
0049A1EB .0F85 D2000000 jnz 0049A2C3 ;跳走就完蛋了
0049A1F1 .8BC3 mov eax, ebx
0049A1F3 .E8 BC00FCFF call 0045A2B4
0049A1F8 .B2 01 mov dl, 1
0049A1FA .A1 3C0C4300 mov eax, dword ptr
0049A1FF .E8 386BF9FF call 00430D3C
0049A204 .8945 FC mov dword ptr , eax
0049A207 .33C0 xor eax, eax
0049A209 .55 push ebp
0049A20A .68 A4A24900 push 0049A2A4
0049A20F .64:FF30 push dword ptr fs:
0049A212 .64:8920 mov dword ptr fs:, esp
0049A215 .BA 01000080 mov edx, 80000001
0049A21A .8B45 FC mov eax, dword ptr
0049A21D .E8 BA6BF9FF call 00430DDC
0049A222 .33C9 xor ecx, ecx
0049A224 .BA 24A34900 mov edx, 0049A324 ;ASCII "\Software\qianghua\xiaotv"
0049A229 .8B45 FC mov eax, dword ptr
0049A22C .E8 EB6CF9FF call 00430F1C ;写注册表
0049A231 .84C0 test al, al
0049A233 .75 30 jnz short 0049A265
0049A235 .BA 24A34900 mov edx, 0049A324 ;ASCII "\Software\qianghua\xiaotv"
0049A23A .8B45 FC mov eax, dword ptr
0049A23D .E8 FE6BF9FF call 00430E40 ;写注册表
0049A242 .B1 01 mov cl, 1
0049A244 .BA 24A34900 mov edx, 0049A324 ;ASCII "\Software\qianghua\xiaotv"
0049A249 .8B45 FC mov eax, dword ptr
0049A24C .E8 CB6CF9FF call 00430F1C ;写注册表
0049A251 .B9 48A34900 mov ecx, 0049A348 ;ASCII "78466324"
0049A256 .BA 5CA34900 mov edx, 0049A35C ;ASCII "regcode"
0049A25B .8B45 FC mov eax, dword ptr
0049A25E .E8 856FF9FF call 004311E8
0049A263 .EB 0F jmp short 0049A274
0049A265 >B1 01 mov cl, 1
0049A267 .BA 24A34900 mov edx, 0049A324 ;ASCII "\Software\qianghua\xiaotv"
0049A26C .8B45 FC mov eax, dword ptr
0049A26F .E8 A86CF9FF call 00430F1C ;写注册表
0049A274 >B9 48A34900 mov ecx, 0049A348 ;ASCII "78466324"
0049A279 .BA 5CA34900 mov edx, 0049A35C ;ASCII "regcode"
0049A27E .8B45 FC mov eax, dword ptr
0049A281 .E8 626FF9FF call 004311E8
0049A286 .33C0 xor eax, eax
0049A288 .5A pop edx
0049A289 .59 pop ecx
0049A28A .59 pop ecx
0049A28B .64:8910 mov dword ptr fs:, edx
0049A28E .68 ABA24900 push 0049A2AB
0049A293 >8B45 FC mov eax, dword ptr
0049A296 .E8 116BF9FF call 00430DAC
0049A29B .8B45 FC mov eax, dword ptr
0049A29E .E8 E990F6FF call 0040338C
0049A2A3 .C3 retn
0049A2A4 .^ E9 3798F6FF jmp 00403AE0
0049A2A9 .^ EB E8 jmp short 0049A293
0049A2AB .B8 6CA34900 mov eax, 0049A36C ;软件注册成功!谢谢注册!
0049A2B0 .E8 C738F9FF call 0042DB7C
0049A2B5 .A1 74794D00 mov eax, dword ptr
0049A2BA .8B00 mov eax, dword ptr
0049A2BC .E8 F3FFFBFF call 0045A2B4
0049A2C1 .EB 32 jmp short 0049A2F5
0049A2C3 >B8 90A34900 mov eax, 0049A390 ;您的注册码无效,请与作者联系[email protected]
0049A2C8 .E8 AF38F9FF call 0042DB7C
0049A2CD .8B83 2C030000 mov eax, dword ptr
0049A2D3 .33D2 xor edx, edx
0049A2D5 .E8 AA3EFAFF call 0043E184
0049A2DA .8B83 34030000 mov eax, dword ptr
0049A2E0 .33D2 xor edx, edx
0049A2E2 .E8 9D3EFAFF call 0043E184
0049A2E7 .8B83 2C030000 mov eax, dword ptr
0049A2ED .8B10 mov edx, dword ptr
0049A2EF .FF92 C4000000 call dword ptr
0049A2F5 >33C0 xor eax, eax
0049A2F7 .5A pop edx
0049A2F8 .59 pop ecx
0049A2F9 .59 pop ecx
0049A2FA .64:8910 mov dword ptr fs:, edx
0049A2FD .68 17A34900 push 0049A317
0049A302 >8D45 F4 lea eax, dword ptr
0049A305 .BA 02000000 mov edx, 2
0049A30A .E8 759EF6FF call 00404184
0049A30F .C3 retn
0049A310 .^ E9 CB97F6FF jmp 00403AE0
0049A315 .^ EB EB jmp short 0049A302
0049A317 .5B pop ebx
0049A318 .8BE5 mov esp, ebp
0049A31A .5D pop ebp
0049A31B .C3 retn
软件重启验证注册表。菜鸟可以找到注册表,删除后再试一试哟!
[ 本帖最后由 云飘飘 于 2007-8-22 16:42 编辑 ] 楼主是高手啊,请多多分享。 高手不敢当啊......
只是最近迷上了破解,周末稀里糊涂地搞定了一辆个程序,特别是昨天连续破了两个,偶然有点心得,大言不惭地便开始叫卖了!^_^
希望共同进步!!
你还是学员呢,我可比你身价低多了,呵呵.希望某天也会成为一个团队的成员,好好干干. 刚才在本论坛搜索了一下,关于"网络电视小精灵"的破解,竟然有十几篇之多.
不过我可以大言不惭地说,没有哪一个比我的破解更简单,我的破解实际上只有一次双击而已,呵呵!
按捺住自己的激动心情,继续前行!
希望菜鸟们一定试试,也尝试一下收获的滋味...... 都是从简单到复杂的走过来的,支持一下云飘飘 看到了Z 旁边的“0”了吧
菜鸟提问:
"Z"是零标志,只有在调试中有效! 这里的0和1分别代表什么呢
其他的c ,p ,a,....都是些什么啊?
[ 本帖最后由 郑宇鸣 于 2007-8-22 22:27 编辑 ] C 1ES 0023 32位 0(FFFFFFFF)
P 1CS 001B 32位 0(FFFFFFFF)
A 1SS 0023 32位 0(FFFFFFFF)
Z 0DS 0023 32位 0(FFFFFFFF)
S 1FS 0038 32位 7FFDE000(FFF)
T 0GS 0000 NULL
上面六个依次是进位 偶校验 辅助进位 零 符号 中断标志位,菜鸟们可以看看汇编的书就懂了.
标志位旁边的0或1表示各标志位当前的值.
因为程序采用零标志位判断,而且走到这里的时候,它么往注册不成功的地方跳,我们不希望这样的事情发生,所以双击标志位旁边的数值,改变它,让它跳到我们希望的地方.
菜鸟可以对着经典的破解句式比较比较,马上会弄懂的...... 原帖由 云飘飘 于 2007-8-23 07:17 发表 https://www.chinapyg.com/images/common/back.gif
C 1ES 0023 32位 0(FFFFFFFF)
P 1CS 001B 32位 0(FFFFFFFF)
A 1SS 0023 32位 0(FFFFFFFF)
Z 0DS 0023 32位 0(FFFFFFFF)
S 1FS 0038 32位 7FFDE000(FFF)
T 0GS 0000 NULL
上面六个依次是进位 ...
谢谢解答 /:013 很不错的帖子,看来要学破解,熟练掌握汇编知识很重要啊