吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4134|回复: 47
上一主题 下一主题
收起左侧

[原创] 去除新版 SanDisk PrivateAccess 设备限制和自动更新并打包回原版格式

  [复制链接]
跳转到指定楼层
楼主
luliucheng 发表于 2025-7-30 10:28 回帖奖励

去除 SanDisk PrivateAccess 6.4.13 设备限制和自动更新并打包回原版格式。过程细节与旧版稍有不同故开贴记录,方便新手学习。

准备工作

访问 https://support-cn.sandisk.com/app/products/downloads/softwaredownloads,下载 SanDisk PrivateAccess,得到 privateaccess-win.exe

使用工具

  1. x32dbg
  2. Detect It Easy (DIE)
  3. 010 Editor 或其它十六进制编辑器
  4. Resource Hacker

1. 寻找主程序

打开 privateaccess-win.exe,跳出提示 This application only runs on a SanDisk flash drive。用 DIE 查壳可知这个程序嵌套有两个资源文件。同时运行目录下多了一个 WDPA 文件夹,里面有一个 241 KB 的文件 PrivateAccessMonitor.exe。由此判断这可能是一个自解压文件。还有可能有一个文件夹叫做 Temp,里面有个文件 PrivateAccess_win.exe,这显然就是真正的主程序。如果没有也没关系,我们直接用 DIE 提取,如图:

提取可知第一个 PE32 文件就是主程序。

2. 脱壳

这个程序加了原版 UPX 壳,理论上直接用 upx -d 脱壳即可……

然后脱出来的程序打不开,原因是我自己的 upx 版本太老导致入口点改不回去……

更新一下就能正常脱壳了,程序也能正常启动。

打开 x32dbg。把 xAnalyzer 插件或者别的什么分析插件的 自动分析 (Automatic analysis) 关掉,否则无法开始调试。原因是这个程序小函数很多,分析时间巨长无比(IDA 8.3 分析了半个小时),并且 xAnalyzer 自动分析完成前无法开始调试。

拖入程序,但是 x32dbg 提示无法启动程序!错误原因是“访问无效的地址”……

所以我们还是要动用我们在吾爱破解第一课中学习的 ESP 定律手工脱壳大法!

拖入原始程序,按 F7 单步运行,在寄存器区找到 ESP 右击,选择“在内存窗口中转到”,在内存窗口右击左边的地址,选择断点、硬件访问、4 字节,F9 运行,此时 CPU 窗口跳转到另一处代码。再次右击刚才的地址,断点,删除硬件断点。在 CPU 窗口中选中下面的 jmp 指令,按 F4 运行到此,再按 F7 单步。此时就来到了 OEP。选择 Scylla(在工具栏上),看图脱壳(图中的 Scylla 是我汉化的,英文原版的看按钮位置一样就对了):

最终得到 PrivateAccess_win_dump_SCY.exe,脱壳完成,结束程序。

3. 破解

特别感谢 https://www.52pojie.cn/thread-1925640-1-1.html 给的思路!

将脱壳得到的最终程序拖入运行,出现弹窗后点击暂停。在 CPU 窗口右击,搜索,所有用户模块,字符串。在搜索页最下面的过滤框中输入 SanDisk 即可找到提示字符串。双击提示字符串转到 CPU 窗口,选中上面的 jne 语句,按 F2 下断点,重启程序。此时可以看到 jne 下面就是那句报错,且此时“跳转不会执行”,因此按空格修改,将 jnz (jnz=jne) 改成 jmp 强制跳转,剩余字节是否以 NOP 填充其实无所谓,反正已经跳转了,不过为了下面指令好看我还是勾了。

继续运行程序,程序正常启动说明修改正确。然后在 CPU 窗口右键,补丁,修补文件,保存为 PrivateAccess_win2.exe。关闭 x32dbg,直接运行修改后的程序,没有问题。

4. 移植

我们能不能把这个壳重新加回去呢?直接用 UPX 对手动脱壳的程序加壳是不行的,会报错。我们必须把刚才的补丁移植回 UPX 直接脱出的原始文件。

首先打开终端,定位刚才补丁的位置。执行:

fc /b PrivateAccess_win_dump_SCY.exe PrivateAccess_win2.exe

得到:

正在比较文件 PrivateAccess_win_dump_SCY.exe 和 PRIVATEACCESS_WIN2.EXE
00061476: 0F E9
00061477: 85 A1
00061478: A0 00
0006147B: 00 90

运行 upx -d PrivateAccess_win.exe 脱掉主程序的壳得到原始文件,把文件拖入 010 Editor。找到 6:1470h: 行,选择第 6 列,发现和文件对比给出的结果一致,因此从这里开始输入 E9 A1 00 00 00 90,如图:

另外软件可能会自动更新导致需要重新破解,所以我们要修改更新地址以去除更新,搜索 privateaccess.stonehenge.sandisk.com,从头开始用 0.0.0.0/ 覆盖,如图:

按 Ctrl+S 保存。PrivateAccess_win.exe 可以正常运行。再运行 upx PrivateAccess_win.exe,重新加壳,程序仍然正常。

5. 打包

PrivateAccess_win.exe 重命名为 PrivateAccess_win.bin。打开 Resource Hacker,拖入 privateaccess-win.exe,展开 RCData,选择第一项,右击,Replace,Select,选择 PrivateAccess_win.bin,按 Ctrl+S 保存文件,得到新的 privateaccess-win.exe,可以正常使用,但数字签名不再有效。可以删掉无效的签名证书防止部分杀软报毒。

打包后文件大小与原版完全相同。

免费评分

参与人数 8威望 +1 吾爱币 +26 热心值 +4 收起 理由
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
xiangzz + 1 有没有大哥来个陈品
ytfh1131 + 1 + 1 谢谢@Thanks!
jaffa + 1 谢谢@Thanks!
anmeng2000 + 1 谢谢@Thanks!
mormas + 1 用心讨论,共获提升!
AronnaxM + 1 用心讨论,共获提升!
冥界3大法王 + 2 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
Sandyang 发表于 2025-7-30 15:53
把 PrivateAccess_win.exe 重命名为 PrivateAccess_win.bin。打开 Resource Hacker,拖入 privateaccess-win.exe,展开 RCData,选择第一项,右击,Replace,Select,选择 PrivateAccess_win.bin,按 Ctrl+S 保存文件,得到新的 privateaccess-win.exe,可以正常使用.

这一步没看懂,竟然都可以用了,干嘛还要打包进去?可以省略不
推荐
 楼主| luliucheng 发表于 2025-7-30 19:12 |楼主
submariner 发表于 2025-7-30 16:42
我试了一下,直接upx脱壳成功,打了两处补丁之后,直接upx成功加壳,似乎并不需要用ESP大法来脱壳然后再比 ...

“打了两处补丁”是用调试器打的吗?如果是那么最好。但是考虑到不同系统环境有差异,ESP 大法是最通用的解决办法。
实际上关于手工 HEX 补丁还有一点我没说:只要软件不改检测逻辑,以后对于新版的软件只要搜索到同样的内容按同样的方式直接补丁即可,不需要再开调试器。
沙发
Johns 发表于 2025-7-30 10:38
3#
冥界3大法王 发表于 2025-7-30 10:47
后边变壳之后,再打包回去,有点意思。
4#
Siberian4673 发表于 2025-7-30 10:52
感谢分享!
5#
yitiantech 发表于 2025-7-30 11:04
写的挺细致,感谢LZ分享!
6#
xixicoco 发表于 2025-7-30 12:30
好东西啊,给小视频的窝窝加个密
7#
邓三岁 发表于 2025-7-30 13:13
谢谢分享
8#
a14130 发表于 2025-7-30 13:38
感谢分享!
9#
Seyulio 发表于 2025-7-30 13:41
感谢分享
10#
cdy040126 发表于 2025-7-30 13:52
写的挺细致,感谢LZ分享!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-2-3 10:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表