绕过猛壳Asprotect注册著名木马查杀软件 (BY 冷家锋)

菜鸟也注册猛壳杀软
                                --------绕过猛壳Asprotect注册著名木马查杀软件

作者:冷家锋 刘婷婷
郑重申明:
1.本文已于2006年11期《黑客防线》发表,如引用请注明出处,
2.本文只是一个软爱好者对共享软件的测试,因本文引起的一切法律纠纷与本文作者无关!
3.请支持共享软件
4.我不知道如何在csdn贴图
 
操作系统:Windows XP_SP2(中文版)
主要使用小软:
1)PeiD(V0.8.0)(查壳)
2)W32DASM(8.93黄金中文版)(反汇编)
3)Loader(Asprotect入口点查看工具)
4)OllyDBG(V1.09)(脱壳、调试用,下文简称OD)
5)Procdump(抓取进程镜像)
6)Import Reconstructor 1.6(IAT恢复工具)
7)WinHex(10.7.5.0)(16进制编辑工具,搜寻注册码用:-) )
目标:破解或注册加了Asprotect 1.2x[New Strain]壳的某著名木马查杀软件(以下简称杀

软)V5.50_0529。(为了支持共享软件,杀软的具体名称就不透露了,用你喜爱的搜索引擎

查自己查或者,呵呵,问黑防的老编/小编吧。)

    平时因为要玩破解,玩网络安全,只装了个防火墙,没有装杀毒软件。可是这两天

电脑慢的要命,怀疑中了病毒。在手工杀毒无效的情况下,无奈何,不能免俗,只得求助杀

毒软件:-(。听说杀软近来比较看好,赶紧上网载了一个下来(该软件包内有注册码和去广

告补丁)。乖乖,真的有效!杀软不负所望,查杀了好几个注入文件管理器(Explorer.exe

)的DLL型木马。
接下来几天一发觉电脑有异常,就请出杀软。可是每次打开杀软总是显示别人搞定的注册码

,总是感觉不爽,小菜pach我也想用自己的大名来注册一下大名鼎鼎的杀软(难道这就是破

解的理由??小菜我破解需要理由吗?不需要吗?需要吗?……)不骗稿费了,转入正题。
一、查壳
打开我最喜欢的查壳小软Language2000(版本4.5.1.144),我倒!竟然没有反应。请出

PEiD,yahoooo,Got it!原来是猛壳Asprotect 1.2x[New Strain](如图(一))。这个壳

是加密壳,印象中1.2以前的版本只要用Caspr即可脱壳。赶紧上www.pediy.com载下Caspr

V1.10。但是显然我高兴的太早了,caspro竟然提示“Maybe this file was no packed by

aspr!”。各大论坛逛了一下,都说Asprotect1.2x为加密壳,且有CRC校验,工具是很难脱

掉的,需手动脱壳。

 
图(一)
二、脱壳,抓取杀软内存镜像
用loader查得杀软入口点为0058A2A0,打开OD,按照默认设定,载入杀软执行文件,提示该

软件“代码部分也许是经过了压缩、加密,或者包含很大数目的嵌入式数据。您确定要继续

进行分析吗?”点“是”,继续加载杀软,稍事休息几秒,OD分析完毕。按Shift + F9执行

杀软。32次左右,再Shift + F7 来到内核空间。暂停一下,新手朋友问了,为什么要Shift

+ F9  32次,再Shift + F7。用Shift + F9而不是直接F9,是因为Asprotect大量采用了SEH

(结构化异常处理)手段来保护加壳程序,所以要用Shift + F9执行异常。32嘛,因为按33

次杀软就直接运行了,呵呵。
好,书接上文,来到内核空间,Alt + M打开“内存”信息窗口,在section列找到.luo行,

右击该行,在弹出菜单选择“设置内存访问断点”。按F9,会提示由于内存访问中断,再次

Alt + M打开“内存”信息窗口,去掉内存访问断点。
这时要用到OD一个好用的命令“ 追踪(TC)”。Alt + F1打开命令行插件,键入“tc eip

< 90000”(不包括引号),意思是追踪杀软执行,直到EIP < 900000。按回车,追踪完成

后OD会停在地址0058A2A0(还有印象吗?就是杀软的入口点了),这时会看到该地址对应是

一些数据,而不是汇编代码,不管它,赶快拿出Procdump,在Task列找到杀软对应进程,然

后右击,dump(full),键入文件名(这里填dumpsr.exe)保存。
三、修正杀软
现在,关闭OD,因为不需要它了(过河拆桥啊),重新运行杀软。打开ImportREC,加载杀

软进程,点击“IAT Autosearch”,然后根据提示,点击“Get Imports”,再点击“Show

Invalid”。OK,Imported Functions Found栏提示找到三个函数,且为Valid(有效),点

击“Fix Dump”,选择我们Dump出的文件dumpsr,ImportREC将会以在文件名后加"_"的方式

保存抓取的文件。
下面来修正dumpsr_的入口点,再请出我们的Prodump,选择PE Editor,加载dumpsr_.exe,

Entry Point填上0018A2A0(为什么是0018A2A0,而不是0058A2A0?因为PE Editor显示基址

(Image Base)为00400000, 58A2A0 – 400000 = 18A2A0)。按“OK”,关掉Procdump。
退出杀软,并将其改名为杀软.bak,把dumpsr_.exe拷贝一份到杀软目录,更名为杀软。双

击,啪,弹出“文件损坏,请进行病毒检测”对话框。我心痛啊,难道我几天的辛苦就得到

这么个结果,看来Asprotect的CRC校验真不是白给的。痛定思痛,再次打开OD,加载修改后

的杀软,正常停在入口0058A2A0,我F7一步一步跟踪,发现到了图(二)的地方就出错了。

仔细一看,原来是访问的地址超出范围。将其NOP掉,再往下跟,发现还有I/O指令,而且很

多超出地址范围的指令。看来程序自身和壳的结合真是很到位啊,要很好的将其破解是超出

我能力范围了。
 
图(二)
四、僵局
一时陷入了僵局,放弃吗?容我思考几天再说吧……(思考??!!众读者和黑防小编可要

发飙 了,我们花了这么长时间听你唠叨,可不是听你放弃地,注册码!!!!交出来!!

!!)。对啊,还没搞定呢。带着问题,小菜我是吃不好,睡不香。忽于某年某月某日饭时

想到孙子兵法有云:出其不意,攻其不备。那么杀软是不是也有“不备”的弱点呢?
程序是加了壳,而且是猛壳,但是你总是要释放(解压或解密)到内存中的吧?嘿嘿,那么

杀软的注册码验证是不是明文比较呢?明文比较注册码,您想到什么了?我是想到了WinHex

(一款小巧的16进制编辑器,由于其出色的内存编辑功能而为CRACKER所喜爱)。
五、想注册时就注册,绕过猛壳,搞定杀软注册
带着这个疑问和一丝侥幸,小菜又和WinHex并肩苦战,终于把杀软的注册撂倒。
一二三,大家一起来。打开杀软,点“注册”菜单,再单击“注册”子菜单,显示注册对话

框。单击“取消注册”按钮,杀软提示重启后取消生效,重新打开杀软,果然杀软标题显示

为未注册版本。依上述次序打开注册对话框,“用户名称”框输入?随便您了,但最好是中

文名,因为经过小菜试验,该杀软似乎比较钟爱中文名,呵呵。好吧,输入您的大名,注册

码输入您的生日。这样注册成功的话,比较有成功感嘛。点“注册”按钮,咣咭,弹出一个

对话框,提示“注册失败”。别急,这是当然地,否则该杀软的作者就不会收什么注册费了

,也就没有小菜这篇文章了:-)。好,暂停,别点“确定”按钮,如图(三)。什么?您点

了?您是快的!那也没什么,再重新点“注册”就可以了。
 
图(三)
暂停在“注册失败”对话框,请出我们今天的主角WinHex。打开杀软时,有可能您的WinHex

一遍会打不开,那就多打开几次,好,终于打开WinHex了。点击“工具”菜单--à内存(RAM

)编辑器(或者直接Alt + F9打开,有可能您的WinHex菜单显示和我的稍有不同,没关系,

相信您会找到我说的。)这时会弹出一个进程列表,单击杀软对应的进程名前面的”+”,

再单击“整个内存”,按“确定”,应该会来到图(四)界面。按Ctrl + F打开WinHex搜索

对话框,在搜索框里填上您在注册时填的注册码,比如小菜我填的是“19273344515”(为

叙述方便,以注册名“老天啦”,假注册码“19273344515”为例),在“仅完整的字词”

前打上勾,搜索范围选“向下”。按“确定”进行搜索,第一次出现的“19273344515”附

近似乎没什么值得注意的。和我一样的新手朋友可能会问了,你怎么知道没什么值得注意的

?因为其附近没有可疑字符串,也没有我填的注册名称,只要多找几个类似的注册软件多试

试,相信你会找到感觉的。闲话少叙,鼠标在“19273344515”隔几行点一下,不然你再

Ctrl + F打开搜索对话框搜索时,即使搜索范围选“向下”WinHex也不会向下搜索,光标仍

然会停在刚刚找到的“19273344515”上。(这是我试了几次才发现的,独家之秘啊。为了

和我一样的还在Crack方面摸索的新手朋友的发展,说了!)
 
图(四)
耐心点(耐心可是Cracker必备的基本要素)继续向下搜索,直到,直到看见我们填的用户

名称、注册码和一串比较可疑的字符串在一起,如图(五)。OK,赶快拿出笔记本,记下那

串可疑的字符串,不用怀疑了,它就是注册码。关闭WinHex,目前不需要它了,回到杀软,

您的注册对话框还在吧?点确定,在注册码位置填上我们刚找到的注册码:246446754(您

找到的可能会有不同),注册成功(如图注册)!!询问是否要连上网验证,还是免了吧:

-)!!!!
GOT IT!现在,你拥有自己的大名注册的杀软了。




 
图(五)
总结:
官方说该杀软可以查杀多种国际木马,多种密码偷窃木马,以及传奇密码偷窃木马,qq类寄

生木马,冰河类文件关联 木马,密码解霸,奇迹射手等游戏密码邮寄木马,并且内置木马

防火墙。Asprotect1.2x以后提供了SDK,以使加壳者可以让程序和壳完美的结合在一起。杀

软就采用了这个猛壳,在防破解方面可谓狠下工夫,但是由于其注册码比较只是明文比较,

并且没有经过变形,而是简单的放在一起,导致这次注册的成功。可见,软件的任何一个小

的漏洞就可能导致软件的防破解失败!
另外,用Procdump抓取的内存镜像虽然不能运行,但是用W32DASM反汇编后,串式参考可以

查到很多有用信息,比如1927344515,Software/Borland/Delphi/Locales等。提到

1927344515,因为杀软有个注册码就是它,对应的用户名称,自己查吧:-)。而Borland、

Delphi通过字样,可以让我们猜测杀软的开发语言……
杀软脱壳后运行会去访问图(二)所示的不存在的地址并且有MOV EAX,EAX之类奇怪的指令

,看来我脱壳步骤仍有问题,还望高手指教!看来学习是无止尽的。
声明:
本文目的纯属研究和学习别人的编程思路及防破解方法,利用本文的方法注册杀软引起的法

律纠纷概与本人无关。如果喜欢该杀软,请注册它,支持共享软件。



 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pachleng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值