首页
社区
课程
招聘
菜鸟也破智能开关机
发表于: 2005-2-19 15:37 4909

菜鸟也破智能开关机

2005-2-19 15:37
4909
菜鸟也破智能开关机               
   
软件名称:
  智能开关机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下来的程序进行分析破解。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
2
殊途同归,无所谓方法的,只要破解了不就行了吗
2005-2-19 16:03
0
雪    币: 209
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢!其他都能看明白,但以下:

双击上面***处,来到下面的地址处
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

我试过了,不知道如何操作下去,才能看到寄存器的值。

请指点,实际跟不下去呀
2005-2-19 18:18
0
雪    币: 217
活跃值: (91)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
设断以后运行,查看寄存器窗口,可以看到注册码,每台机器的注册码均不一样
2005-2-20 08:32
0
游客
登录 | 注册 方可回帖
返回
//