首页
社区
课程
招聘
[讨论]关于Hasp SRM 二三事
发表于: 2015-8-25 10:15 115963

[讨论]关于Hasp SRM 二三事

2015-8-25 10:15
115963
关于Hasp SRM 二三事


以前说到对付hasp srm狗,大家想到的就是模拟,用的最多的就是MultiKey(http://testprotect.com/download)
这是俄国人写的,不过到了V20.0.0就不再更新了,因为新的Hasp驱动出现--目前到了V7.32
(http://www.safenet-inc.com/sentineldownloads/)它就无法再工作了,许多人误以为是Windows 7更新到 Windows 8,Windows 8又更新到了 Windows10的关系, 其实这只是其中原因之一,固然Windows每次改版,对于驱动或多或少都会做些新的规范,但最糟的是,Windows强制打开线上更新,一旦上互联网,它就会自动更新您的Hasp官方驱动,从 V6.56之后,官方驱动就会侦测MultiKey是否存在,并且拒绝让MultiKey Hook,于是用MultiKey模拟的方法就被撤底阻断了

当然这中间是有一些精彩的攻防战的,曾经我们只要变更MultiKey的名称,或是更改视窗注册表的路径,不要在:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Multikey\Dumps\ 下,
都可以骗过Hasp官方驱动的侦测,但到了7.32这些后门全都被堵死了,目前俄国那位原作者并没有找到什么破解之法,他说是官方用了什么叫wbaes的保护技术???可能暂时要先放弃模拟这条路子了!!

也许读者会说,不要让Windows更新不就好了,让Hasp官方驱动永远维持在V6.56版本或之前的版本不就好了吗?那是我们在实验室可以这样做,对于一般User,我们是不可能规定他这样做的,况且Windows一向漏洞百出,永远都有抓不完的臭虫,不让User开更新,迟早他的操作系统要出事啊

于是,破解hasp srm又回到了原点了,不能靠模拟,那只能把hasp的壳剥掉了...

本论坛剥hasp 的大神很多,但是问题是hasp其他的狗和hasp srm的狗不尽相同,
再加上hasp srm可以让大家带狗练习的实例更是不多,所以今天我发这个实例上来给大家,让大家有实际的东西可以练手^^

这个范例和多年前lostdongle(http://lostdongle.com/?page_id=146)在网路上发表的unpacking video demo用的程序是一样的,

是hasp srm sdk里面的示范秮序,但是hasp srm sdk也历经多次改版,我这是V5.1版的...

又因lostdongle只有视讯档,没有附件程序档,所以无法跟着一起练习,而且糟糕的是,lostdongle发布的hasp srm剥壳脚本,虽然可以Google得到,(我已经有把它放在这次的附件中:
HASP SRM Envelope Unpacking & IAT Fixer Script for OllyDBG.txt
大家可以先打开参考看看...),
但是并没有告诉我们为什么要这样写,我们只知其然,不知其所以然,偏偏不同的版本,

例如:
find prtc_sec, #FFFF82D18BE55DC3# 要修改的retn位置就不一样,

因为示范的版本不同,导致这个版本的Win32_Bounce.exe脱壳时无法直接套用原脚本的位址,
需要重新设定,现在po出来,请哪位大神脱壳成功后,可以step by step告诉大家下面的重要资讯:

如何找新的retn位址(#FFFF82D18BE55DC3#要如何针对不同的Envelope档做修改?),
以及后面的add endp, 4是否需要调整??

另外
@run:
run
sti                                  // sti的个数需要几个是不是也要重新调整?
sti
sti
cmp eip, gtc

……

这些关键位址解决以后,相信大家对hasp 脱壳就会很容易上手了!
(万一没有回应,请不要问我,我也不会,
我就是跟着lostdongle的视频做不出来,所以才发上来请教大家的)
Win32_Bounce DEMO.rar
附件: Win32_Bounce DEMO.rar

(当然一般市面上用hasp srm壳保护的程序,即使剥干净了,还是要去找里面检查hasp狗的地方,
再一一把它拿掉才真正可以免狗运行,好在壳剥了就可以用IDA Pro来静态分析,配合hasp 专用
的sigs,很容易就可以抓干净了,所以不在本次的讨论范围内啰 )
/////////////////////////////////////////////////////////////////////////////////////////////

附件使用前注意事项:

1. 只支援Win7 32bit版本,如果你是Win8或是Win7 64bit请装一个虚拟机(例如VMWare),在里面跑32bit Win7即可

2. 如果你有成功在你的机器上跑过MultiKey,那本范例的用法和MultiKey一样,直接用管理员权限跑install.cmd就可以了,   
它可以和MultiKey并存,   但如果你是第一次使用,请先安装hasp的
run time:

   请自行上网搜寻下载,例如: http://hasp-srm-run-time.software.informer.com/
   (如果你系统原来有装,那要先确定版本不可大于V6.56,否则要移除后重新安装较低的版本)
   千万不要再到官方网站去下载所谓的最新hasp驱动了!!
   安装完hasp runtime再用管理员权限跑install.cmd

注:我的原意是 http://hasp-srm-run-time.software.informer.com/ 这个网页上的驱动可以下载来使用,但Hasp官方网站放的
    则不要下载来用,谢谢坛友 半斤八两 指正我的语病, 另外如果网页连结失效,可以到我的百度云网盘下载旧版驱动来使用
    http://pan.baidu.com/s/1jGgyBf4 密码:mg6p

3. 第一次安装会告诉你vdevice.sys没有合法的数位签章,不要理会它,继续安装.
   并双撀 Win32_Bounce_3C3925A1.reg 将它导入系统
   *有时会没有反应,这时可以再跑一次install.cmd,成功后,系统会开始自动安装其他驱动!!
    你会发现第二次跑install.cmd系统就不会再出现没有数位签章的警告了

4. 安装成功以后,先去 计算机---右键----管理 设备管理器 看一下系统装置下是否有Virtual USB device这个项目,  
(如果有安装MultiKey则会同时出现 Virtual USB MultiKey)

   通用串行总线控制器这个大项目下会有
   SafeNetInc. HASP Key
   SafeNetInc. Sentinel HASP Key
   SafeNetInc. USB Key
   这三个项目,(如果有安装MultiKey则每个项目会同时出现两个,总共六组)

   以上这些项目一定要出现,且不可以有黄色惊叹号!
   
   装置管理员详情.jpg

5. 现在就可以正常运行 加了壳的 Win32_Bounce.exe 如同带狗一样了.
   
    运行主画面.jpg

/////////////////////////////////////////////////////////////////////////////////////////////

后记:

这个vdevice.sys功能和MultiKey.sys是一样的,但是可以躲过某些针对MultiKey做阻挡的hasp 驱动,(不过到了目前最新的V7.32也无能为力了)同样也是由写MultiKey的俄国人写的,他那时候卖一个产生MultiKey REG File 的套件叫做 MKDevKit,当您买了这个套件,就可以自己产生REG File,并且自己产生 License, 不需要再向这个网站申请 License了
(主要是针对x64平台,x86平台是免费的),...


testprotect.com宣布不再维护MkDevKit了.jpg

但是由于这个套件不是一般人可以上手的,他每卖一套就必需要教老半天,再加上之前我们提到的hasp驱动不断更新的结果,逼使他在2013.04.30做出停卖的决定 !!!

既然已经停卖了,就没有版权的问题了,当然可以提供给大家使用才对,无奈他有锁计算机,已知会去锁
CPUID(ProcessorID), BIOS ID和HDD SN,其他还有锁什么还不清楚???
必需要有大神先将Check ID的机制移除才能使用,因为演算法他是用
VMProtect保护的,这已经超出我的能力范围,请大神有兴趣的可以试手看看啰

MkDevKit Check ID.rar
附件:MkDevKit Check ID.rar

打开这个rar,里面有两个程序,我们先看mksID_noVM.exe
这个是跟俄国人购买MkDevKit前,他会先send过来的程序,要我们读出计算机的ID值给他,他不支援在VM下工作,但在VMware的vmx档中加入以下的参数,可以骗过它,
让他误以为我们不是在VM下工作:

isolation.tools.getPtrLocation.disable = "TRUE"
isolation.tools.setPtrLocation.disable = "TRUE"
isolation.tools.setVersion.disable = "TRUE"
isolation.tools.getVersion.disable = "TRUE"
monitor_control.disable_directexec = "TRUE"
monitor_control.disable_chksimd = "TRUE"
monitor_control.disable_ntreloc = "TRUE"
monitor_control.disable_selfmod = "TRUE"
monitor_control.disable_reloc = "TRUE"
monitor_control.disable_btinout = "TRUE"
monitor_control.disable_btmemspace = "TRUE"
monitor_control.disable_btpriv = "TRUE"
monitor_control.disable_btseg = "TRUE"


当然大神们手上的调试工具也要隐藏好,不要被他发现,否则他就拒绝工作啰^^

当我们可以读出计算机的ID后,他才会依照这个ID值制作后续的工具给我们
这是我读出的结果:

ID = 5E765912434CBBCE2744B2A42C43167A

mksID必需是这个结果才会工作.JPG

想必演算法也藏在这个程序中,可以追追看...

*****************************************************************
在这边我先提供我计算机中一些重要的数值:

(以下资料来自EVEREST ULTIMATE EDITION)

BIOS Version : E16F1IMS.306    07/06/2010
EC   Version : E16F1EMS1 V4.13 04/29/2010

主机板 ID         63-0100-000001-00101111-062009-Chipset$0AAAA000_MSI CR620 E1681IMS V1.03 02/03/10

CPUID 制造商        GenuineIntel
CPUID CPU 名称        Intel(R) Core(TM) i7 CPU Q 740 @ 1.73GHz
CPUID 修正        000106E5h

ProcessorID(来自Windows自带的PowerShell中下 Get-WmiObject Win32_Processor 指令)
0FEBFBFF 000106E5

BIOS SN(来自CMD中下 wmic bios get serialnumber指令)
56 4d 81 66 40 20 47 8d-4d 9d be d3 94 1a 08 2d

HDD SN(来自Hard Disk Serial Number Changer)
C89B-A1D9

MAC地址(来自CMD中下 ipconfig /all 指令)
00:0C:29:1A:08:2D

如果还需要什么数据再告诉我,我再po上来~~~

*****************************************************************

另一个可以下手的程序是MKS.exe, 这是我送ID回去他再Send过来的主程序,按下左边 "Start_server"键,
如果ID和原先Send给他的一样,(表示是在同一台计算机上工作)就会显示 "MKS Server start ok."
其后就可以正常工作了.

MKS Server started ok.jpg

若是ID不一样(表示我换了一台计算机工作)就会显示 "MKS Server started error."...如图

MKS Server started error.jpg

MkDevKit就会拒绝工作了,如果从这个程序下手,让他不管什么ID都可以工作,
也是一个不错的思路啊

如果有人可以解决ID的问题,我会把其余的小工具和我自己的使用心得陆续发上来,和大家一起分享的... ... ...

谢谢大家耐心看完

[招生]系统0day安全班,企业级设备固件漏洞挖掘,Linux平台漏洞挖掘!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (282)
雪    币: 110
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
好文,没接触过,顶一下
2015-8-25 12:08
0
雪    币: 671
活跃值: (858)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
只能拖脱掉定X86下面SRM的壳,最新版的LDK的壳还在摸索阶段
2015-8-25 13:44
0
雪    币: 27
活跃值: (561)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这个壳只能带狗调试脱壳,所以搞它的人不多。64位因为目前的OD不给力。
2015-8-25 17:21
0
雪    币: 149
活跃值: (101)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
5
就是希望有人可以用这个做为范例,教大家如何带狗调脱壳啊...

至于64位的,可以把程序和hasp狗模拟数值一并发给我,我帮你转成32位的,
这样你就可以用OD像原来那样调试脱壳了

注:但是要等到论坛有大神出手解开MkDevKit,让它可以在我家中的计算机使用,在公司用会被老板发现,
    所以一定要收费,无法免费帮忙大家,还请大家见谅啊><
2015-8-26 03:14
0
雪    币: 204
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
好文,很久没看到如此新鲜资讯了..............
2015-8-26 13:36
0
雪    币: 149
活跃值: (101)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
7
呵!谢谢啊!!周休假期快到了,推一下文,看看有没有大神愿意帮一下忙
2015-8-29 19:48
0
雪    币: 97
活跃值: (67)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
好文,拜读了,希望有大神继续下
2015-9-4 23:21
0
雪    币: 374
活跃值: (685)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
一路支持,希望大神出现。。。
2015-9-6 10:08
0
雪    币: 321
活跃值: (121)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
文章不错,支持
2015-9-10 11:58
0
雪    币: 97
活跃值: (67)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
就有没有办法将模拟的数据写入空的HASP中
2015-10-8 21:49
0
雪    币: 149
活跃值: (101)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
12
我知道有人可以用硬件方法复制Hasp==>
http://dongleduplicate.nsys.by/
不过这已经超出本篇文章探讨的范畴了
2015-10-10 03:14
0
雪    币: 55
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
我是来涨知识的!LZ技术666666
2015-10-10 08:26
0
雪    币: 8409
活跃值: (3643)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
这个好像只支持老狗   你确定SRM支持 ?
2015-10-26 17:23
0
雪    币: 149
活跃值: (101)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
15
支持SRM狗硬件复制请参考这个网址:
http://www.dongleclone.com/EN/index.asp
2015-10-29 02:33
0
雪    币: 14
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
楼主能帮忙算两个x64的license吗,谢谢!

都是hasp的
password:22D90572 还有个是11DB0F07

感谢!
2015-10-29 09:54
0
雪    币: 149
活跃值: (101)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
17
由于这篇文章po出来到现在,没有得到大神的帮忙,MkDevKit仍然锁在公司的专用计算机上,
没办法让我带回家用,所以坛友私下拜托我解hasp key,我都没办法帮忙,真是不好意思啊><
2015-10-31 06:25
0
雪    币: 145
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
good
2015-11-1 00:24
0
雪    币: 223
活跃值: (516)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
19
LZ对狗研究真透彻,膜拜一下。
你发的这个软件是破解HASP狗的吗?
请问一下这个东西应该怎么用?

上传的附件:
2015-11-1 04:58
0
雪    币: 27
活跃值: (561)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
八哥就是厉害,vmp随便搞一下就搞定了。
2015-11-1 13:43
0
雪    币: 223
活跃值: (516)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
21
刚下了LZ的DEMO附件,测试了一下,没破解掉哈。 hiahia~
估计哪里还有效验。

上传的附件:
2015-11-1 20:48
0
雪    币: 97
活跃值: (67)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
关注此贴好久,没有大神出手
问问一个相关的问题,有人弄过BLUEKEY没有
2015-11-1 21:06
0
雪    币: 8409
活跃值: (3643)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
八哥 不是你这样用的 你需要先放出你的脱壳的程序 换他的套件用
2015-11-1 22:05
0
雪    币: 223
活跃值: (516)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
24
脱壳没玩过,我不会哈。只会点破解。
我没写补丁,就弄了个破解脚本。
LZ这几天也没在,也没有放你说的套件,不晓得是不是破解掉了。
上传的附件:
2015-11-3 02:40
0
雪    币: 149
活跃值: (101)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
25
[QUOTE=半斤八兩;1399920]LZ对狗研究真透彻,膜拜一下。
你发的这个软件是破解HASP狗的吗?
请问一下这个东西应该怎么用?

[/QUOTE]

如果有大神出手把VMP解掉,我才可以把这些软件从公司的计算机移回家用,到时我会做详细的图文教学,让大家一起共享啦
2015-11-3 13:43
0
游客
登录 | 注册 方可回帖
返回
//