Ease Video Converter v3.00 破解分析
软件基本信息
软件名称 | 软件版本 | 编程语言 | 加壳情况 | 难度 | 难度说明 | 练习日期 |
---|---|---|---|---|---|---|
Ease Video Converter | v3.00 | Delphi | 无壳 | 简单 | 验证逻辑定位简单,算法简单 | 2023.02.16 |
功能:Ease Video Converter是专业实用的视频格式转换器,支持AVI、DVD、VOB、MPEG-2、VCD等市面上所有流行的视频格式,支持iPod、iPhone、Apple TV等多种设备,转换后的视频可以在各种类型的设备上播放。. Ease Video Converter提供音频提取功能,用户可以从视频中提取需要的音频,还可以从视频中捕捉图片。
验证方式
重启验证:无,暗桩保护:无
启动时会进行一次校验,弹注册窗口
注册信息:界面有Register按钮,可以打开注册窗口
破解过程
定位到注册逻辑
随便输入,等错误弹窗卡住当前窗口:
调试器里暂停程序,一步一步向上层追溯,直到有一层运行不到返回的时候,出来点掉错误弹窗:
可以看到,上面就是错误弹窗的窗口循环了,只有关闭窗口才能跳出循环,然后接着向上追溯,很快就来到了一个call指令下面的jmp处:
这个call是弹窗的call,jmp是跳过逻辑,经过分析,这里就是验证逻辑的位置,接下来从上往下看这段代码
用户名验证
这个程序的验证分两部分,用户名验证和注册码验证
用户名验证是从一个内置的用户名数组里取值和用户输入做比对,比对成功则认证成功,给4B7D9C赋值为0,进入接下来的流程,否则就跳出显示错误弹窗
这里用的内置用户名是这些:
name:&"VS88T66-Vs86"
name:&"TV666P6-TV66"
name:&"S1R66P6-SV66"
name:&"T6DR6p6-SV66"
name:&"TDR26p6-EVS"
name:&"TDR36p6-ST1"
name:&"Ts2f6p6-VB1"
name:&"B8sf26p6-VB1"
name:&"B8TDf16p6-VB1"
name:&"BS453f6p6-VB1"
name:&"Osrf61p6-VB1"
name:&"Ofrg63p6-VB1"
name:&"ESr2g6p6-VB1"
name:&"IUrg61p6-VB1"
name:&"IU4DT6-BX1"
name:&"DUI43T6-tV1"
name:&"S1I32T6-DV1"
name:&"SN1MS6-DV1"
name:&"SNW4S6-TN1"
name:&"SNW6S6-MN3"
name:&"TD89VS6-MN3"
序列号验证--算法
序列号计算很简单,注册码生成器:
username = [
"VS88T66-Vs86",
"TV666P6-TV66",
"S1R66P6-SV66",
"T6DR6p6-SV66",
"TDR26p6-EVS",
"TDR36p6-ST1",
"Ts2f6p6-VB1",
"B8sf26p6-VB1",
"B8TDf16p6-VB1",
"BS453f6p6-VB1",
"Osrf61p6-VB1",
"Ofrg63p6-VB1",
"ESr2g6p6-VB1",
"IUrg61p6-VB1",
"IU4DT6-BX1",
"DUI43T6-tV1",
"S1I32T6-DV1",
"SN1MS6-DV1",
"SNW4S6-TN1",
"SNW6S6-MN3",
"TD89VS6-MN3"
]
for i in username:
nameCount = 0
for j in i:
nameCount += ord(j)
nameCount *= 0xbb790
nameCount += 0x58
nameCount >>= 1
print("username:" + i + " password: " + str(nameCount))
密码:
username:VS88T66-Vs86 password: 318289620
username:TV666P6-TV66 password: 302931860
username:S1R66P6-SV66 password: 298708476
username:T6DR6p6-SV66 password: 318673564
username:TDR26p6-EVS password: 302163972
username:TDR36p6-ST1 password: 294101148
username:Ts2f6p6-VB1 password: 313682292
username:B8sf26p6-VB1 password: 328272164
username:B8TDf16p6-VB1 password: 342094148
username:BS453f6p6-VB1 password: 335183156
username:Osrf61p6-VB1 password: 355148244
username:Ofrg63p6-VB1 password: 351308804
username:ESr2g6p6-VB1 password: 339790484
username:IUrg61p6-VB1 password: 341710204
username:IU4DT6-BX1 password: 254938860
username:DUI43T6-tV1 password: 292949316
username:S1I32T6-DV1 password: 265689292
username:SN1MS6-DV1 password: 258010412
username:SNW4S6-TN1 password: 266073236
username:SNW6S6-MN3 password: 264921404
username:TD89VS6-MN3 password: 283734660
暴力破解
一般注册成功的话,会把注册信息保存起来,下次直接读取保存的信息来判断是否注册,通过火绒剑的行为检测,可以很方便看到
这里开启火绒剑监控,输入正确的用户名和密码,点击注册,可以看到:
该程序访问了C:\Windows\SysWOW64\SySvideoc.dat文件(offset:0x00000004 datalen:0x00000001)
像这种检测注册信息的验证方式,可以把通过验证的文件保存到指定位置来绕过验证