菜鸟也破智能开关机
软件名称:
智能开关机3.10
软件简介:
• 控制计算机从关机状态自动开启。
• 在待机状态下自动唤醒计算机。
• 在指定的时间运行指定程序、打开指定文档、打开指定网址以及关闭指定程序。
• 在指定的时间调用系统默认程序播放mp3、wma、wav以及flash等声音文件。
• 计算机开启后自动登陆系统以及锁定系统。
• 在指定的时间关闭、重启系统,以及使系统进入待机、休眠状态。
• 与互联网上多个原子钟服务器校正时间。
• 其他。
下载地址:
http://www.gwbsoft.com
破解作者:
ww990
破解工具:
Ollydbg1.10
破解目的:
此软件的功能不错,价格也合理,希望需要的朋友支持一下国产软件。我在这里只是探讨软件内存脱壳后的破解方法,希望软件的作者原谅。此软件的注册弱点还是在内存中出现了明文,给了我们机会。希望在以后的版本中会有所改进。
破解过程:
首先用pedi查壳,结果是UPX0.89.6-1.02/1.05-1.24 -> Markus & Laszlo,采用UPX脱壳机脱壳,不能运行,采用Pedi直接脱壳,运行,输入注册码程序出错,不停地弹出程序出错窗口,软件可能设置的自检保护。不管OD直接载入程序。
005D1A30 60 pushad
005D1A31 BE 00105600 mov esi,AutoSS.00561000
005D1A36 8DBE 0000EAFF lea edi,dword ptr ds:[esi+FFEA0000]
005D1A3C 57 push edi
005D1A3D 83CD FF or ebp,FFFFFFFF
005D1A40 EB 10 jmp short AutoSS.005D1A52
005D1A42 90 nop
005D1A43 90 nop
005D1A44 90 nop
005D1A45 90 nop
005D1A46 90 nop
005D1A47 90 nop
005D1A48 8A06 mov al,byte ptr ds:[esi]
005D1A4A 46 inc esi
005D1A4B 8807 mov byte ptr ds:[edi],al
005D1A4D 47 inc edi
运用ESP定律脱壳,在命令行输入hr 0012ffc0后回车,F9运行程序。程序停在下面的地址处。
005D1B93 - E9 E888F0FF jmp AutoSS.004DA480 程序停在此处
005D1B98 B0 1B mov al,1B
005D1B9A 5D pop ebp
005D1B9B 00C0 add al,al
005D1B9D 1B5D 00 sbb ebx,dword ptr ss:[ebp]
005D1BA0 9C pushfd
005D1BA1 B0 4D mov al,4D
F8一下,程序停在真正的入口点。
004DA480 55 push ebp
004DA481 8BEC mov ebp,esp
004DA483 83C4 F0 add esp,-10
004DA486 B8 B09F4D00 mov eax,AutoSS.004D9FB0
004DA48B E8 50BFF2FF call AutoSS.004063E0
004DA490 A1 A8DB4D00 mov eax,dword ptr ds:[4DDBA8]
004DA495 8B00 mov eax,dword ptr ds:[eax]
004DA497 E8 6864F9FF call AutoSS.00470904
程序虽然已经从内存中完全脱壳,但如果将程序dump下来,再用OD载入调试的话,输入注册码后软件将出错。此时运行字符串参考搜索
Address Disassembly Text String
004C1649 mov ecx,AutoSS.004C1724 \time.dat
004C1B20 mov edx,AutoSS.004C1D00 已注册!
004C1B5C mov edx,AutoSS.004C1D14 DS$%^TG
004C1BC9 mov ecx,AutoSS.004C1D3C 智能开关机
004C1BCE mov edx,AutoSS.004C1D48 非法的授权注册码。***
004C1C04 mov ecx,AutoSS.004C1D64 \wake.ini
004C1C31 mov ecx,AutoSS.004C1D78 code
004C1C36 mov edx,AutoSS.004C1D88 reg
004C1C42 push AutoSS.004C1D94 0
004C1C47 mov ecx,AutoSS.004C1DA0 dd
004C1C4C mov edx,AutoSS.004C1DAC date
004C1C61 mov ecx,AutoSS.004C1D3C 智能开关机
004C1C66 mov edx,AutoSS.004C1DB4 注册成功!
双击上面***处,来到下面的地址处
004C1B98 E8 DFE6F8FF call AutoSS.0045027C 此处的call是生成注册码
004C1B9D 8B45 DC mov eax,dword ptr ss:[ebp-24] 调入输入的注册码
004C1BA0 8B55 F8 mov edx,dword ptr ss:[ebp-8] 调人生成的注册码
004C1BA3 E8 982AF4FF call AutoSS.00404640 判断输入的注册码与生成的注册码是否相等,在该处设断点可在寄存器中看到明码。
寄存器信息
EAX 01188628 ASCII "87654321"
ECX 77D187FF USER32.77D187FF
EDX 011881B0 ASCII "Y>JSV)I@GT5MRZ)JA@"
EBX 01163A34
ESP 0012F9D8
EBP 0012FA24
ESI 004569D4 AutoSS.004569D4
EDI 0012FBE0
004C1BA8 74 3A je short AutoSS.004C1BE4 关键跳转,改此处为jne,软件不管输入的注册码是否正确均生成注册文件,下次启动亦认为是正式版。
004C1BAA 8D55 D8 lea edx,dword ptr ss:[ebp-28]
004C1BAD 8B83 34030000 mov eax,dword ptr ds:[ebx+334]
004C1BB3 E8 C4E6F8FF call AutoSS.0045027C
004C1BB8 8B45 D8 mov eax,dword ptr ss:[ebp-28]
004C1BBB BA 241D4C00 mov edx,AutoSS.004C1D24
004C1BC0 E8 7B2AF4FF call AutoSS.00404640
004C1BC5 74 1D je short AutoSS.004C1BE4 关键跳转
004C1BC7 6A 40 push 40
004C1BC9 B9 3C1D4C00 mov ecx,AutoSS.004C1D3C
004C1BCE BA 481D4C00 mov edx,AutoSS.004C1D48
004C1BD3 A1 A8DB4D00 mov eax,dword ptr ds:[4DDBA8]
004C1BD8 8B00 mov eax,dword ptr ds:[eax]
004C1BDA E8 4DEFFAFF call AutoSS.00470B2C
004C1BDF E9 A2000000 jmp AutoSS.004C1C86 此处跳转到“非法的授权注册码”
004C1BE4 8D55 D0 lea edx,dword ptr ss:[ebp-30] 此处以下是在wake.ini文件中加入注册信息,如果删除改程序目录下的wake.ini文件,再次运行程序时又是未注册版本。
004C1BE7 A1 A8DB4D00 mov eax,dword ptr ds:[4DDBA8]
004C1BEC 8B00 mov eax,dword ptr ds:[eax]
004C1BEE E8 B9F3FAFF call AutoSS.00470FAC
004C1BF3 8B45 D0 mov eax,dword ptr ss:[ebp-30]
004C1BF6 8D55 D4 lea edx,dword ptr ss:[ebp-2C]
004C1BF9 E8 7A73F4FF call AutoSS.00408F78
004C1BFE 8B55 D4 mov edx,dword ptr ss:[ebp-2C]
004C1C01 8D45 FC lea eax,dword ptr ss:[ebp-4]
004C1C04 B9 641D4C00 mov ecx,AutoSS.004C1D64 ; ASCII "\wake.ini"
004C1C09 E8 3229F4FF call AutoSS.00404540
004C1C0E 8B4D FC mov ecx,dword ptr ss:[ebp-4]
004C1C11 B2 01 mov dl,1
004C1C13 A1 B4534300 mov eax,dword ptr ds:[4353B4]
004C1C18 E8 4738F7FF call AutoSS.00435464
004C1C1D 8BF0 mov esi,eax
004C1C1F 8D55 CC lea edx,dword ptr ss:[ebp-34]
004C1C22 8B83 34030000 mov eax,dword ptr ds:[ebx+334]
004C1C28 E8 4FE6F8FF call AutoSS.0045027C
004C1C2D 8B45 CC mov eax,dword ptr ss:[ebp-34]
004C1C30 50 push eax
004C1C31 B9 781D4C00 mov ecx,AutoSS.004C1D78 ; ASCII "code"
004C1C36 BA 881D4C00 mov edx,AutoSS.004C1D88 ; ASCII "reg"
004C1C3B 8BC6 mov eax,esi
004C1C3D 8B38 mov edi,dword ptr ds:[eax]
004C1C3F FF57 04 call dword ptr ds:[edi+4]
004C1C42 68 941D4C00 push AutoSS.004C1D94
004C1C47 B9 A01D4C00 mov ecx,AutoSS.004C1DA0 ;
破解小结:
对于加壳后的软件,如果在脱壳后存在自校检等暗桩,我们可以在内存中直接进行脱壳破解,而不是将脱壳后dump下来的程序进行分析破解。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课