首页
社区
课程
招聘
[旧帖] [邀请码己发][原创]SRS Audio Sandbox 1.904简易爆破流程(求邀请码) 0.00雪花
发表于: 2009-7-10 15:07 1615

[旧帖] [邀请码己发][原创]SRS Audio Sandbox 1.904简易爆破流程(求邀请码) 0.00雪花

2009-7-10 15:07
1615
[第一次发帖,爆破也是处女作,望得邀请码]
SRS Audio Sandbox实在是一个很好用的软件,可惜有时间限制,最近刚学习软件保护,遂试破之。
用PEiD检查,得知为PECompact 2.x的壳,网上找工具很麻烦,遂决定手脱。
用Ollydbg加载,程序前几行就利用SEH进行跳转,Shift+F8跳过,然后Alt+F9跳出ntdll,来到外壳。
程序很规范,上来就是个PUSHAD,不管解壳程序,一直F8跟即可,到未解析的地方既是OEP。
Dump下来,然后用ImportRec修复输入表,很顺利,全部正确识别。
将修复的文件再加到Ollydbg中,对GetSystemTimeAsFileTime这个API设断,F9运行,找到第一个,Alt+F9跳出,发现位于内核75XXXXXX,不用管它,F9,在第二次断下时Alt+F9跳出,看到如下代码:
00460B60  |.  
             CALL DWORD PTR DS:[<&kernel32.GetSystemT>; \GetSystemTimeAsFileTime
             MOV EAX,DWORD PTR SS:[EBP-8]
             MOV ECX,DWORD PTR SS:[EBP-4]
             ADD EAX,2AC18000
             PUSH 0
遂从EAX, ECX中取出值,并将EAX加上0x2AC18000,填入上面的代码,即:
00460B60  |.  FF15 30214800         CALL DWORD PTR DS:[<&kernel32.GetSystemT>; \GetSystemTimeAsFileTime
00460B66  |.  B8 DFE10B74           MOV EAX,740BE1DF
00460B6B  |.  B9 B300CA01           MOV ECX,1CA00B3
00460B70      6A 00                 PUSH 0
00460B72      90                    NOP
保存至exe,在下一天时运行,发现软件对日期的识别仍是前一天,成功破坏验证。

补丁机也很好做,就是把上面改过的exe拷贝到安装目录,在60B67H和60B6CH处改为当前日期的高低位即可,在用户安装后立即运行。
即:
...
FILETIME ft;
GetSystemTimeAsFileTime(&ft);
ft.dwLowDateTime += 0x2AC18000;
*((DWORD*)(pd + 0x60B67)) = ft.dwLowDateTime; //此处pd是指向文件内存映射基址的指针
*((DWORD*)(pd + 0x60B6C)) = ft.dwHighDateTime;
...

流程很简单~不过是小弟破的第一个软件,看网上似乎没有1.904的注册机,遂做之,见笑了~~

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 370
活跃值: (52)
能力值: ( LV13,RANK:350 )
在线值:
发帖
回帖
粉丝
2
不错 支持一下
2009-7-11 20:02
0
雪    币: 54
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
挺好的,拿来学习一下。。
2009-7-11 21:13
0
雪    币: 234
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不错,我也支持一下
2009-7-12 13:11
0
游客
登录 | 注册 方可回帖
返回
//