【研究】VC++ 编写的播放器加密原理破解研究
希望大家一起跟帖提供不同破解方案,共同研究提高。
【VC++ 编写的播放器SMT Player加密原理】
播放器SMT Player是VC++ 编写的,没有加壳。^_^
播放课件前通过EGBXPlay.ocx控件先校验课件加密信息(时间信息),如果不符合条件,跳出出错提示对话框,停止下一步调用,使得课件无法继续播放,达到加密效果。
[课件校验加密信息主要位置]
通过C32asm打开EGBXPlay.ocx发现如下信息:
String Resource ID=00200: General
::10012F7B->PUSH C8
::10012F80->PUSH C8
String Resource ID=00201: screen.src
::1000AF3B->PUSH C9
::1000CF71->PUSH C9
::1000D23B->PUSH C9
::10030AA0->PUSH C9
String Resource ID=00202: board.brd
::1000D05E->PUSH CA
::1002D28B->PUSH CA
::1002D5CF->PUSH CA
::1003059B->PUSH CA
String Resource ID=00203: sound.avi
::1000AF5A->PUSH CB
String Resource ID=00204: back.bmp
::1000AF79->PUSH CC
String Resource ID=00205: 文档不能打开!
::100137E2->PUSH CD
::1001382F->PUSH CD
::10013AC6->PUSH CD
::10013AFE->PUSH CD
String Resource ID=00206: 课件载入失败, 建议升级播放器。如果操作系统版本太低, 建议升级操作系统。
::1000646D->PUSH CE
::1000F733->PUSH CE
String Resource ID=00208: 作者:
::1000D50D->PUSH D0
::1000EA16->PUSH D0
::1000F8C3->PUSH D0
String Resource ID=00211: 讲课总时间:
::1000D339->PUSH D3
::1000F869->PUSH D3
String Resource ID=00212: 课件文件(*.cmp)|*.cmp|
::1000FA1D->PUSH D4
String Resource ID=00213: 正在解包,请稍候...
::1000F601->PUSH D5
String Resource ID=00214: 播放时间:
::1000D451->PUSH D6
::1000E9E5->PUSH D6
::1000F838->PUSH D6
::1000FB49->PUSH D6
String Resource ID=00215: 删除目录失败!
::10008118->PUSH D7
String Resource ID=00216: bg.gif
::10012E1B->PUSH D8
::1001AC9F->PUSH D8
String Resource ID=00217: 读取%s文件失败,文件不存在或损坏!
::10013450->PUSH D9
::10014493->PUSH D9
::10014AFA->PUSH D9
String Resource ID=32768: 播放
::1000D746->PUSH 8000
::1000D754->PUSH 8000
::1000DB23->PUSH 8000
::1000DBEC->PUSH 8000
::1000DCB5->PUSH 8000
::1000DD7E->PUSH 8000
String Resource ID=32769: 前进
::1000D7EE->PUSH 8001
::1000D7FC->PUSH 8001
::1000DB5B->PUSH 8001
::1000DC24->PUSH 8001
::1000DCED->PUSH 8001
::1000DDB6->PUSH 8001
String Resource ID=32770: 停止
::1000D896->PUSH 8002
::1000D8A4->PUSH 8002
::1000DB93->PUSH 8002
::1000DC5C->PUSH 8002
::1000DD25->PUSH 8002
::1000DDEE->PUSH 8002
String Resource ID=32771: 后退
::1000D79A->PUSH 8003
::1000D7A8->PUSH 8003
::1000DB3F->PUSH 8003
::1000DC08->PUSH 8003
::1000DCD1->PUSH 8003
::1000DD9A->PUSH 8003
String Resource ID=32772: 暂停
::1000D842->PUSH 8004
::1000D850->PUSH 8004
::1000DB77->PUSH 8004
::1000DC40->PUSH 8004
::1000DD09->PUSH 8004
::1000DDD2->PUSH 8004
String Resource ID=32785: 窗口复位
::1000D9E6->PUSH 8011
::1000D9F4->PUSH 8011
::1000DBAF->PUSH 8011
::1000DC78->PUSH 8011
::1000DD41->PUSH 8011
::1000DE0A->PUSH 8011
String Resource ID=32786: 打开(隐藏)影像与教学目录窗口
::1000D992->PUSH 8012
::1000D9A0->PUSH 8012
String Resource ID=32787: 新节点
::10030765->PUSH 8013
String Resource ID=32788: 创建页路径:
::1002BEBD->PUSH 8014
String Resource ID=32789: 失败
::1002BECA->PUSH 8015
String Resource ID=32790: 不能删除文件
::1002BA80->PUSH 8016
String Resource ID=32791: 没有该文件夹
::1002B959->PUSH 8017
String Resource ID=32792: 新宋体
::1000CF2B->PUSH 8018
String Resource ID=32793: 课件无法播放!可能原因如下:
1.课件文件被加密保护。
2.播放器版本太低。
3.无法访问服务器。
建议:
1. 确认课件的获得途径。
2. 升级播放器版本。
3. 检查网络,并且确认您的防火墙允许本播放器访问服务器。
::1000F653->PUSH 8019
String Resource ID=32794: 课件文件损坏或播放器需要升级。
请到东方金鸟网站(http://www.egb.com.cn)下载新播放器。
::10004A5F->PUSH 801A
String Resource ID=32796: 使用的播放器版本太低,建议安装更新版本的播放器!
::10010F92->PUSH 801C
::1001821A->PUSH 10045620
::100184D5->PUSH 1004568C
\x05?x19/
::10033B73->MOV EAX,1003BDE8
\x05?x19\x01
::10033489->MOV EAX,1003B878
【报错提示】
String Resource ID=00206和String Resource ID=32793是关键出错所在。
【破解思路】
使用C32asm或其他工具爆破。
【相关软件下载】
3.C32asm下载
C32asm下载
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法