|
播音王 V3.01简单爆破
【破文标题】 播音王 V3.01简单爆破分析
【破解作者】 51Crack[DFCG]
【作者邮箱】 51crack@163.com
【作者主页】 http://www.chinaDFCG.com
【使用工具】 PEid,W32dasm,Ollydbg
【破解平台】 WinXP
【软件名称】 播音王 V3.01
【下载地址】 http://count.skycn.com/s0ftdownl ... 8181/down/Ancer.exe
【软件简介】 《播音王》是一个可以定时开机、定时播放音乐(声音)、定时关机的全自动播音软件。跟同类软件相比,其最大的特点是可以控制播放时间的长短,多个播音模板可供选择,节假日(如星期六、日,元旦春节等)不播音,也可以设定倒班及加班日期播音。完全不须人工干预,自动播音。
适用场合:
1、学校、部队、公司、工厂等部门用于作息时间的自动控制,可取代传统的电铃、人工广播的作用;
2、公园、舞厅、商场、酒店、酒吧、网吧、办公室等场所的背景音乐的播放,完全不须人工干预;
3、车站、码头的自动播音;
4、个人用于睡前欣赏音乐、起床叫醒;
5、用于学校的英语或其它教学节目的无线或有线广播;
6、中小型广播电台的节目播放。
1、定时播放音乐(声音),可播放的音频文件有:WAV、MID、MIDI、MP3;
2、定时开机(须主板支持)、定时关机;
3、控制播放声音的时间长短;
4、设定某些天(如星期六、日,元旦、国庆等)不播音;
5、设定某些天(如果加班或倒班)播音,并可指定这些天的播音列表;
6、录音:您可以录制通知,然后在指定的时间自动播出,特别增加了去躁声控制,使录制的声音更加清晰;
7、MP3文件标记信息查询功能:能够得知关于此MP3文件的标题、歌手等信息;
8、每天可编排不同的节目;
9、可以对当天的列表采取自动和手动控制,可以对节目项进行编辑;
10、当前时间显示;
11、播放音频文件时长显示;
12、音量调节控制功能;
13、可选择播放音频文件或目录下所有音频文件,对于后者,还可以选择顺序播放或随机播放;
14、对于MP3文件,有初始音量控制功能。
【软件大小】 945 KB
【加壳方式】 无壳
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】
用OD加载,Ctrl+N,找到_mbscmp,回车,右键选择“在每个命令中设置断点”,F9运行!
(先说明一下,程序试用次数在当前目录下的setup.ini中usenum项,次数为当前字符减'A'的值)
第1次中断如下:
004016CF . 68 34D14200 PUSH Ancer.0042D134 ; /s2 = ""
004016D4 . 50 PUSH EAX ; |s1
004016D5 . FF15 E4154200 CALL DWORD PTR DS:[<&MSVCRT._mbscmp>] ; \_mbscmp //中断在这,将上面两部分比较
004016DB . 83C4 08 ADD ESP,8
004016DE . 85C0 TEST EAX,EAX
004016E0 0F84 B4010000 JE Ancer.0040189A //不等跳走,跳就跳吧!
004016E6 . 8BCE MOV ECX,ESI
004016E8 . E8 13140000 CALL Ancer.00402B00
004016ED . 85C0 TEST EAX,EAX
004016EF 0F85 0A030000 JNZ Ancer.004019FF
004016F5 . 50 PUSH EAX
。。。。。省略。。。。。
0040189A > 8B86 C8000000 MOV EAX,DWORD PTR DS:[ESI+C8] //取转换后的次数
004018A0 . C786 DC000000>MOV DWORD PTR DS:[ESI+DC],1
004018AA . 85C0 TEST EAX,EAX
004018AC 0F8C C0060000 JL Ancer.00401F72 //<0 或>30 就将天数设为10
004018B2 . 83F8 1E CMP EAX,1E
004018B5 0F8F B7060000 JG Ancer.00401F72
004018BB . 6A 00 PUSH 0
004018BD . 8D8C24 140100>LEA ECX,DWORD PTR SS:[ESP+114]
004018C4 . E8 47260000 CALL Ancer.00403F10
004018C9 . 8D86 CC000000 LEA EAX,DWORD PTR DS:[ESI+CC]
004018CF . 8D8C24 B40100>LEA ECX,DWORD PTR SS:[ESP+1B4]
004018D6 . 50 PUSH EAX
004018D7 . C68424 641300>MOV BYTE PTR SS:[ESP+1364],22
004018DF . E8 5AB00100 CALL <JMP.&MFC42.#858>
004018E4 . 57 PUSH EDI
004018E5 . 8D8C24 BC0100>LEA ECX,DWORD PTR SS:[ESP+1BC]
004018EC . E8 4DB00100 CALL <JMP.&MFC42.#858>
004018F1 . 8B8E C8000000 MOV ECX,DWORD PTR DS:[ESI+C8]
004018F7 . 898C24 700100>MOV DWORD PTR SS:[ESP+170],ECX
004018FE . 8D8C24 100100>LEA ECX,DWORD PTR SS:[ESP+110]
00401905 E8 C2AF0100 CALL <JMP.&MFC42.#2514> //F8跟过这里会中断到下面
0040190A . 83F8 02 CMP EAX,2
0040190D 75 78 JNZ SHORT Ancer.00401987 //此处跳到主程序执行!
=========================================================================
第二次中断
:004041F3 6834D14200 push 0042D134 //xx入栈
:004041F8 50 push eax //xx入栈
* Reference To: MSVCRT._mbscmp, Ord:0159h //比较函数
|
:004041F9 FF15E4154200 Call dword ptr [004215E4] //比较什么,不清楚!
:004041FF 83C408 add esp, 00000008
:00404202 85C0 test eax, eax
:00404204 746C je 00404272 //不等就跳
:00404206 8BCF mov ecx, edi
:00404208 E8F3E8FFFF call 00402B00
:0040420D 85C0 test eax, eax
:0040420F 7531 jne 00404242 //此处可以跳到“成功”处
:00404211 81C7CC000000 add edi, 000000CC
:00404217 8D8EA4000000 lea ecx, dword ptr [esi+000000A4]
:0040421D 57 push edi
* Reference To: MFC42.Ordinal:035A, Ord:035Ah
|
:0040421E E81B870100 Call 0041C93E
:00404223 53 push ebx
:00404224 8D8EA8000000 lea ecx, dword ptr [esi+000000A8]
* Reference To: MFC42.Ordinal:035A, Ord:035Ah
|
:0040422A E80F870100 Call 0041C93E
:0040422F 8B4660 mov eax, dword ptr [esi+60] //取转换后的次数
:00404232 85C0 test eax, eax
:00404234 7C76 jl 004042AC
:00404236 83F81E cmp eax, 0000001E //<0 或>30 就将天数设为10
:00404239 7F71 jg 004042AC
:0040423B 8D44240C lea eax, dword ptr [esp+0C]
:0040423F 50 push eax
:00404240 EB5F jmp 004042A1
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040420F(C)
|
:00404242 81C7CC000000 add edi, 000000CC
:00404248 8D8EA4000000 lea ecx, dword ptr [esi+000000A4]
:0040424E 57 push edi
* Reference To: MFC42.Ordinal:035A, Ord:035Ah
|
:0040424F E8EA860100 Call 0041C93E
:00404254 53 push ebx
:00404255 8D8EA8000000 lea ecx, dword ptr [esi+000000A8]
* Reference To: MFC42.Ordinal:035A, Ord:035Ah
|
:0040425B E8DE860100 Call 0041C93E
* Possible StringData Ref from Data Obj ->"注册成功!感谢您对我们的支持!"
|
:00404260 6820A34200 push 0042A320
:00404265 8D8EAC000000 lea ecx, dword ptr [esi+000000AC]
* Reference To: MFC42.Ordinal:035C, Ord:035Ch
|
:0040426B E8A4860100 Call 0041C914
:00404270 EB3A jmp 004042AC
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00404204(C)
|
:00404272 8B4660 mov eax, dword ptr [esi+60]
:00404275 85C0 test eax, eax
:00404277 7C33 jl 004042AC
:00404279 83F81E cmp eax, 0000001E
:0040427C 7F2E jg 004042AC
:0040427E 81C7CC000000 add edi, 000000CC
:00404284 8D8EA4000000 lea ecx, dword ptr [esi+000000A4]
:0040428A 57 push edi
* Reference To: MFC42.Ordinal:035A, Ord:035Ah
|
:0040428B E8AE860100 Call 0041C93E
:00404290 53 push ebx
:00404291 8D8EA8000000 lea ecx, dword ptr [esi+000000A8]
* Reference To: MFC42.Ordinal:035A, Ord:035Ah
|
:00404297 E8A2860100 Call 0041C93E
:0040429C 8D4C240C lea ecx, dword ptr [esp+0C]
:004042A0 51 push ecx
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00404240(U)
|
:004042A1 8D8EAC000000 lea ecx, dword ptr [esi+000000AC]
* Reference To: MFC42.Ordinal:035A, Ord:035Ah
|
:004042A7 E892860100 Call 0041C93E
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00404234(C), :00404239(C), :00404270(U), :00404277(C), :0040427C(C)
|
* Possible StringData Ref from Data Obj ->" 如想购买此软件,请发Email:support_max@wing"
->"softs.com或打电话:13833101100,张先生。软件售"
->"价:160元/套。购买后,请将机器码发给我,我会告"
->"诉你注册码。每个授权只适用于一台机器,如果想用"
->"在多台机器上,请重新购买授权。购买多套,可享受"
->"优惠!"
|
:004042AC 6830A24200 push 0042A230
:004042B1 8D8EB0000000 lea ecx, dword ptr [esi+000000B0]
* Reference To: MFC42.Ordinal:035C, Ord:035Ch
|
:004042B7 E858860100 Call 0041C914
:004042BC 6A00 push 00000000
:004042BE 8BCE mov ecx, esi
* Reference To: MFC42.Ordinal:18BE, Ord:18BEh
|
:004042C0 E805880100 Call 0041CACA
:004042C5 8B4660 mov eax, dword ptr [esi+60]
:004042C8 85C0 test eax, eax
:004042CA 7504 jne 004042D0
:004042CC 6A00 push 00000000
:004042CE EB02 jmp 004042D2
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004042CA(C)
|
:004042D0 6A01 push 00000001
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004042CE(U)
|
:004042D2 8D4E64 lea ecx, dword ptr [esi+64]
* Reference To: MFC42.Ordinal:0A52, Ord:0A52h
|
:004042D5 E8EA870100 Call 0041CAC4
:004042DA 8D4C240C lea ecx, dword ptr [esp+0C]
:004042DE C744242CFFFFFFFF mov [esp+2C], FFFFFFFF
* Reference To: MFC42.Ordinal:0320, Ord:0320h
|
:004042E6 E875850100 Call 0041C860
:004042EB 8B4C2424 mov ecx, dword ptr [esp+24]
:004042EF 5F pop edi
:004042F0 5E pop esi
:004042F1 B801000000 mov eax, 00000001
:004042F6 5B pop ebx
:004042F7 64890D00000000 mov dword ptr fs:[00000000], ecx
:004042FE 83C424 add esp, 00000024
:00404301 C3 ret //此处返回到系统领空,第1次执行时出现注册对话框
可以看出,此处是设置显示字符串,是“成功”还是“剩余多少天”!
============================================================================
F9运行还会中断几次,注册框都出来了,也没什么意义了!
重新来过,如果将00401905 CALL <JMP.&MFC42.#2514> 直接nop掉,程序运行正常,不会弹出注册框,但购买菜单中还是显示剩余天数!
所以决定在4042xx处修改!
将
00404204 je 00404272 //nop
0040420F jne 00404242 //jmp 404242
搞定,收工!!!
--------------------------------------------------------------------------------
【破解总结】
写得比较乱,大家就将就看吧!
语文学得不好,表达的也不是很清楚!见谅!!
--------------------------------------------------------------------------------
本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
>>>>版权所有
********************************************************************************************************
CCHG精品软件论坛,任何人不得利用其进行非法赢利,违者必究。
本站永久性国际域名http://www.xiwo.net/ |
评分
-
查看全部评分
|