破除 PrivateAccess 硬件限制

查看 131|回复 10
作者:xiao-bai-shu   
破除 PrivateAccess 硬件限制
前言
PrivateAccess 是一款用来保护 SanDisk USB Disk 上的数据的便携保险箱软件,它的前身是 SecureAccess。PrivateAccess 加密的文件可以在 Windows、macOS、Android(使用 SanDisk Memory Zone)、iOS(使用 iXpand® Drive App)上查看。但是,它仅能用于 SanDisk 系列产品,不能用于其他品牌存储设备。在这篇文章里,将尝试解除 PrivateAccess 对硬件的限制。
准备工作
  • PrivateAccess(本文使用的版本为 v6.4.9,附件有提供)
  • ExeInfo PE
  • UPXShell
  • x64dbg

    过程
    [ol]
  • 尝试在非 SanDisk 品牌设备上运行 PrivateAccess,发现有如下信息框:
    [/ol]


    p1.png (11.5 KB, 下载次数: 0)
    下载附件
    2024-5-18 16:45 上传

    接下来,根据提示“This application only runs on a SanDisk flash drive”,尝试寻找判断函数。
  • 使用 x64dbg 调试 PrivateAccess,运行至弹出信息框,右键 CPU 窗口,搜索 --> 当前模块 --> 引用(或直接 Ctrl + D),查找该字符串,可以定位到00007FF65BD3E3BF。
    [/ol]


    p2.png (122.88 KB, 下载次数: 0)
    下载附件
    2024-5-18 16:45 上传
  • 在 CPU 窗口向上追溯,可以看到一个修改 ZF 标志位的指令test al,al和紧跟着的 00007FF68734E3AE jne privateaccess-win.7FF65BD3E46A,猜测是判断指令。于是在 jne 行打硬件断点,重新运行并在断点处设置 ZF 标志位为 0(方法:双击 ZF: 1)
    [/ol]


    p3.png (48.54 KB, 下载次数: 0)
    下载附件
    2024-5-18 16:45 上传



    p4.png (21.22 KB, 下载次数: 0)
    下载附件
    2024-5-18 16:45 上传

    此时继续运行,可以发现出现了“正在检查更新...”的窗口。
  • 因此,我们可以尝试将jne改为jmp(选中行右键汇编或直接按下 Space 键,推荐选中 NOP 填充)。尝试应用补丁时,发现无法补丁。
    [/ol]


    p5.png (26.16 KB, 下载次数: 0)
    下载附件
    2024-5-18 16:45 上传
  • 没错。调试之前我们忘了一个重要步骤:脱壳。
    [/ol]


    p6.png (34.26 KB, 下载次数: 0)
    下载附件
    2024-5-18 16:46 上传

    用 ExeInfo PE 查一下,发现仅仅是个 UPX 壳,所以直接用 upx -d privateaccess-win.exe,脱掉 UPX 壳,然后再重复以上步骤,找到 00007FF68734E3AE jne privateaccess_unupxed.7FF68734E46A,改成 jmp 之后点击文件 --> 补丁,这时就可以顺利地保存文件了。
    结语
    从此,我的联想闪电鲨也用上了 SanDisk 的 PrivateAccess。
    更新:PrivateAccess v6.4.10
    PrivateAccess v6.4.10 给核心组件套了一层壳,使用PrivateAccessMonitor.exe守护进程提供了额外的安全性,这也导致了解除限制的困难。
    当用 x64dbg 调试时,即使打开管理员模式进程也会自动脱离,在任务管理器看到主进程已经脱离了调试器,此外还有一个守护进程。


    p7.png (24.91 KB, 下载次数: 0)
    下载附件
    2024-5-18 16:46 上传

    在运行目录,可以发现隐藏文件夹

    └─WDPA
        │  PrivateAccessMonitor.exe
        │
        └─Temp
                PrivateAccess_win.exe
    其中,PrivateAccess_win.exe便是主程序(附件中PrivateAccess_win_v6.4.10_Core.exe)。脱掉 UPX 壳后,剩余过程与前一个版本相同。
    这一次找到的地址是
    [Asm] 纯文本查看 复制代码00EC1A06 | 0F85 A0000000            | jne privateaccess_win_unpacked.EC1AAC   |
    改成jmp直接补丁,成功解除限制。
    这个工作不算是破解,仅仅是解除限制,所以上传了修改成品和文章截图。如果管理介意的话,我会立刻将附件删除。

    破除 PrivateAccess 硬件限制.txt
    (60 Bytes, 下载次数: 50)
    2024-5-18 17:41 上传
    点击文件名下载附件
    本文的 PDF 版和文中用到的 PrivateAccess 程序
    下载积分: 吾爱币 -1 CB

    下载次数, 下载附件

  • goblack   


    Cleopatra 发表于 2024-5-18 20:46
    数据保护软件防不住别人,只能防自己

    意义还是有的。哪怕office仅仅一个打开密码这种防君子不防小人的东西在一定程度上也能避免别人摘桃子。。。。不管是在学校学习成长过程中,还是在公司上班。
    guomanmin   

    学着搞了一下,不知道更新如何去除
    水到渠成   

    棒棒滴,学习了
    Cleopatra   

    数据保护软件防不住别人,只能防自己
    xixicoco   

    很好的pj,对闪迪下手
    5201813   

    有这时间整这东西,rar建个14位的复杂点密码就可以了
    playx   

    不错,调试思路清晰,解决办法合理,赞一个。
    dork   

    赞一个。
    paperbox   

    感谢大佬的分享
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部