破解Device Monitor心得
来源:互联网 发布:音频压缩算法公式 编辑:程序博客网 时间:2024/04/29 07:04
破解Device Monitor
作者RockHwnd
时间:2004.8.10
网址:http://blog.csdn.net/rockhwnd
Device Monitor在启动的时候读取他目录下的一个叫做license.dm的文件,根据内容用来判断是否已经注册,根据跟踪发现读取文件并分析文件内容的代码在
C:/Program Files/Common Files/HHD Software/Device Monitor/silk.dll文件里面
于是下CreateFile断点
:67F917AF FF15D041F967 Call dword ptr [67F941D0] //CreateFile打开文件
:67F917B5 8BF8 mov edi, eax
:67F917B7 83FFFF cmp edi, FFFFFFFF //打开文件失败?
:67F917BA 745D je 67F91819 //失败就结束了!
:67F917BC 53 push ebx //接收文件大小缓存地址进栈
:67F917BD 57 push edi //获得的文件句柄进栈
:67F917BE FF15AC41F967 Call dword ptr [67F941AC] //GetFileSize
:67F917C4 8BD8 mov ebx, eax //eax=79c文件大小保存到bx
:67F917C6 53 push ebx //bx进栈
:67F917C7 E87A120000 Call 67F92A46 //申请储存缓存区
:67F917CC 83C404 add esp, 00000004
:67F917CF 6A00 push 00000000
:67F917D1 8D5584 lea edx, dword ptr [ebp-7C]
:67F917D4 52 push edx //EDX=NULL
:67F917D5 53 push ebx //读取的文件大小
:67F917D6 50 push eax //保存文件的缓存地址!重要!以后要密切关注
:67F917D7 57 push edi //文件句柄
:67F917D8 8945C0 mov dword ptr [ebp-40], eax
:67F917DB FF156841F967 Call dword ptr [67F94168] //调用ReadFile函数
:67F917E1 57 push edi
:67F917E2 FF15D441F967 Call dword ptr [67F941D4] //关闭了文件,这时查看EAX所指向的内存,的确为license.dm文件内容
:67F917E8 8B7508 mov esi, dword ptr [ebp+08]
:67F917EB 83C634 add esi, 00000034
:67F917EE E82DF2FFFF call 67F90A20 ////关键函数1,程序在这里进行了文件的内容检查
:67F917F3 8B7DC0 mov edi, dword ptr [ebp-40]
:67F917F6 8B45B4 mov eax, dword ptr [ebp-4C]
:67F917F9 53 push ebx
:67F917FA 57 push edi
:67F917FB 50 push eax
:67F917FC E86FF8FFFF call 67F91070 //关键函数2,程序在这里进行了文件的内容检查
:67F91801 57 push edi
:67F91802 8BF0 mov esi, eax
:67F91804 E843120000 Call 67F92A4C
//释放内存,之所以知道前面那个是文件内容的检查,主要是根据这里释放的获得的文件的那块内存,既然释放,说明程序已经检验完毕了,因此前面两个函数是重点
:67F91809 83C404 add esp, 00000004
:67F9180C 85F6 test esi, esi
//返回文件是不是正确的?
:67F9180E 0F8568010000 jne 67F9197C //未注册的话就往下去地狱了,注册了就去天堂咯:)天堂地址是67F9197C哦,那在这里把他换个方向吧改成jmp
:67F91814 8B750C mov esi, dword ptr [ebp+0C] //以下都是显示未注册了
:67F91817 33DB xor ebx, ebx
.....
:67F9197C 8B7508 mov esi, dword ptr [ebp+08] //注册成功后执行的代码
:67F9197F 33FF xor edi, edi
:67F91981 397E40 cmp dword ptr [esi+40], edi
:67F91984 C745BC00000000 mov [ebp-44], 00000000
:67F9198B 761D jbe 67F919AA
:67F9198D 33DB xor ebx, ebx
:67F9198F 90 nop
:67F91990 8B563C mov edx, dword ptr [esi+3C]
:67F91993 8B45D4 mov eax, dword ptr [ebp-2C]
:67F91996 8B08 mov ecx, dword ptr [eax]
:67F91998 03D3 add edx, ebx
:67F9199A 52 push edx
:67F9199B 50 push eax
:67F9199C FF510C call [ecx+0C]
:67F9199F 83C701 add edi, 00000001
:67F919A2 83C310 add ebx, 00000010
:67F919A5 3B7E40 cmp edi, dword ptr [esi+40]
:67F919A8 72E6 jb 67F91990
注意修改67F9180E 0F8568010000 jne 67F9197C这句的时候有两种方案
一种是改成je但是这样的话如果注册码是有效的话反而不起作用,另一种方案是改成jmp但是这样由于
0f85 68010000 jnz silk.67f9197c
e9 69010000 jmp silk.67f9197c 由于缺失一个字节,会产生不对称的情况,因此一定记得在jmp命令后再加一个nop命令,这样代码对称
- 破解Device Monitor心得
- Android Device Monitor
- Android Device Monitor - 简介
- Android Device Monitor - DDMS
- TraceView工具(Device Monitor)
- Android Device Monitor使用
- Android Device Monitor
- Android Device Monitor
- BLE Device Monitor的使用
- TraceView工具(Device Monitor)介绍
- Android Device Monitor的使用
- Android Device Monitor替代hierarchyviewer.bat
- 6.5、Android Studio的Android Device Monitor
- Android Device Monitor 中的文件权限
- Android Device Monitor 文件管理的常见问题
- Android Device Monitor 文件管理的常见问题
- Android Device Monitor 文件管理的常见问题
- Android Device Monitor 文件管理的常见问题
- Apache2 + mod_ssl + php5 完全安装实录(2)
- Apache2 + mod_ssl + php5 完全安装实录(3)
- [转贴]2004 Athens Olympic Game CCTV Broadcasting Schedule
- Apache2 + mod_ssl + php5 完全安装实录(4)
- 追星之旅
- 破解Device Monitor心得
- SAS DATE STEP中调用WIN API例子(转载)
- oracle8i在redhat7.1~7.3下的安装
- jsp设计模式
- boy
- 男人和女人之间的心理游戏
- 打往天堂的电话!(转)
- 拿什么勾引你,我的爱人
- 知识碎片