zhaohj 发表于 2015-1-18 16:27

【吾爱第四届动画大赛参赛作品】带狗脱阿拉丁加密狗hasp hl(srm)

【吾爱第四届动画大赛参赛作品】带狗脱阿拉丁加密狗hasp hl(srm)的壳

Hi,大家好,我是zhaohj
今天做的录像用BB做的,录像文件已在附件下载地址中。因为是商业软件,下面的文件名用xxxx代替。

codelive在http://www.52pojie.cn/thread-258182-1-1.html发表了以色列Aladdin HASP SRM(AES-128)加密狗破解经验分享
受到启发,他是用API HOOK的方法来破解的,本人菜鸟对hook技术不熟悉,只好用老方法脱壳。
使用工具:
od,peid,LordPE,ImportREC,CFF Explorer,Dll_LoadEx.exe,ReloX
大致流程:
1:代码段内存法到OEP,记录OEP、IAT地址
2:数据段内存法观察IAT未加密部分与加密部分,在适当的时候复制未加密的IAT到加密的IAT
3:找到关键的跳转
4:修复API及DLL文件的重定位修复

【吾爱第四届动画大赛参赛作品】带狗脱阿拉丁加密狗hasp hl(srm)的壳
by zhaohj
2015-01-18

====================
部分记录:到达OEP后,IAT部分加密的。
我们的目的是把IAT加密部分还原。
查壳:HASP HL Protection 1.X -> Aladdin *
先OD加载dll
1:先到OEP后看一下
   ALT+M ,代码段下内存访问断点,到达OEP了,并打开ImportREC,查看一下IAT表
   做一下记录,我这里已经做好了:
oep:10061539    8BFF            mov edi,edi
IAT:
      10069000 size=A40
      10069000 ~ 10069A40
看到了有很多无效的API
复制一份到文本
我们找一下另一方加密的IAT
ctrl_f12重启,在数据段下内存访问断点,数据窗口转IAT开头
这个时候IAT是未加密的,我们在10069410下硬件写入断点,记得删除内存访问断点,F9运行
看到了吗,这个时候是正常的,我们复制IAT到第二个加密的IAI
怎么找呢?
10069414对应1007B0BC,相差11CA8
另一份IAT:
      100690340007C382 => 1007ACDC0007C382 相差=11CA8
      10069000+11CA8=1007ACA8
      1007ACA8 ~ 1007B6E8 找到另一方加密的IAT,我们把未加密的数据复制到加密的地方。

下面的图是另一个版本的对照图,两个IAT表对应关系,FFFFFFFF表示加密的


二进制复制
记得删除内存访问断点
1032763E怎么来的,我后面讲,这里也是重点。
2:做好数据复制,并关键地址1032763E test eax,eax改成xor eax,eax后
   直接在OEP下断点,F9运行
   看到了吗,api基本修复了,还有3个未修复
3:lorepe,dumped
4: CFF Explorer.exe,删除壳段
   打开节头部,删除.protect,删除节(头部和数据),保存
   来到重建器,点重建,点保存
5:ImportREC.exe
   修复3个API
   GetProcAddress   
   GetCurrentProcessId
   GetCurrentProcess

修复保存为xxxxdll-dumped_.dll
好了,关闭od,lorepe,ImportREC

6: 修复DLL重定位

a)未脱壳的dll复制两份为 “复件1 xxxxDLL.dll”、“复件2 xxxxDLL.dll”
Dll_LoadEx.exe打开“复件1 xxxxDLL.dll”、“复件2 xxxxDLL.dll”
b)lorepe,分别dumped为01.dll、02.dll,注意现在不要关闭
c)ReloX.exe,选择4个节,其余两个节取消
fix后保存为xxxxdll-dumped__.dll
7:ok啦,把xxxxdll-dumped__.dll改为原来的名字,工具可以全部关闭了。
   看到成功了。

8:现在讲一下1032763E怎么来的,
   到OEP后,我们看到很多加密的API,我们的想法是:
   让一个OD写入正确的API时下断进入正常的api,
   让另一个od写入正确的API时下断进入错误的api,
看左边:
100690F8    7C92FE21ntdll.RtlGetLastWin32Error
100690FC    7C92FE30ntdll.RtlSetLastWin32Error
10069100    009F1C90
od1在100690F8下硬件写入断点,因为断下后下面是进入正常的api
od2再100690FC下硬件写入断点,因为断下后下面是进入错误的api
下好断点后,这时需要复制未加密的iat到加密的iat,再进行跟踪
简单演示一下,就这样跟踪下去,我直接1032763E
看到了吗,就是这个关键点。
好啦,教程结束,谢谢观看!
oep:10061539    8BFF            mov edi,edi
IAT:
      10069000 size=A40
      10069000 ~ 10069A40
另一份IAT:
      100690340007C382 => 1007ACDC0007C382 相差=11CA8
      10069000+11CA8=1007ACA8
      1007ACA8 ~ 1007B6E8
关键代码修改:
10327624    BA 01000000   mov edx,0x1
10327629    D3E2            shl edx,cl
1032762B    8B04B5 F83E3310 mov eax,dword ptr ds:[esi*4+0x10333EF>
10327632    66:3BF6         cmp si,si
10327635    23C2            and eax,edx
10327637    0F82 43B10000   jb TssdMfcD.10332780
1032763D    F8            clc
1032763E    85C0            test eax,eax   //改成xor eax,eax
10327640    0F82 85B30000   jb TssdMfcD.103329CB
10327646^ 0F85 9ADCFFFF   jnz TssdMfcD.103252E6
1032764C    66:C1EF 40      shr di,0x40
10327650    8D6D 00         lea ebp,dword ptr ss:
10327653    74 02         je short TssdMfcD.10327657
10327655    091E            or dword ptr ds:,ebx
10327657    68 74F93210   push TssdMfcD.1032F974
1032765C    C3            retn













zhaohj 发表于 2015-1-19 08:13

本帖最后由 zhaohj 于 2015-1-19 08:23 编辑

Hmily 发表于 2015-1-18 22:18
帖子不用加权限,你要把视频原始的单独保存上传加80阅读权限(主要防止原始视频泄漏),然后用原始视频文件 ...
我没有找到附件设置权限的功能,可能我的权限不够临时把原始视频文件删除

zhaohj 发表于 2015-1-18 16:34

本帖最后由 zhaohj 于 2015-1-19 10:59 编辑

原始视频(.fbr)下载地址,见一楼附件。

Hmily 发表于 2015-1-18 22:18

帖子不用加权限,你要把视频原始的单独保存上传加80阅读权限(主要防止原始视频泄漏),然后用原始视频文件导出一个exe视频和那些文件放一起直接上传不用设置权限。

Hmily 发表于 2015-1-19 10:01

zhaohj 发表于 2015-1-19 08:13
我没有找到附件设置权限的功能,可能我的权限不够临时把原始视频文件删除
你上传完附件,附件显示的右侧,就有权限设置啦!



zhaohj 发表于 2015-1-19 10:51

Hmily 发表于 2015-1-19 10:01
你上传完附件,附件显示的右侧,就有权限设置啦!

难道论坛的问题,或者权限的问题?没地方设置。



Hmily 发表于 2015-1-19 10:52

zhaohj 发表于 2015-1-19 10:51
难道论坛的问题,或者权限的问题?没地方设置。

哦,你这么一说我看了下确实是,这样吧,你把2个分开上传,然后我帮你设置权限吧。

zhaohj 发表于 2015-1-19 10:56

本帖最后由 zhaohj 于 2015-1-19 10:58 编辑

Hmily 发表于 2015-1-19 10:52
哦,你这么一说我看了下确实是,这样吧,你把2个分开上传,然后我帮你设置权限吧。
已经上传到一楼,谢谢版主!帮我加点分吧!

Hmily 发表于 2015-1-19 11:01

zhaohj 发表于 2015-1-19 10:56
已经上传到一楼,谢谢版主!帮我加点分吧!
设置好了,看到了!

bigharvest 发表于 2015-1-19 12:15

支持下   牛掰没热心 捧个人场
页: [1] 2 3 4 5 6 7
查看完整版本: 【吾爱第四届动画大赛参赛作品】带狗脱阿拉丁加密狗hasp hl(srm)