首页 > 其他分享 >不刷机,找回忘记密码的老iPad中的数据!

不刷机,找回忘记密码的老iPad中的数据!

时间:2024-10-09 22:46:04浏览次数:11  
标签:iPad 找回 Arduino 不刷机 mount 点击 localhost Sliver

最近,同事拿来一个iPad,说是自己从箱底翻出来的,已经好多年没有开机过了,现在没电了无法开机,也忘记了开机密码,里面有一些和家人的老照片,想让我帮忙试试能不能不恢复出厂设置的前提下解锁,我在确认是他本人的iPad后,同意帮他试试,以下为此次解锁记录。本次记录仅作为个人研究学习,资料和方法都源自互联网,非本人原创,仅在iPad2代(系统版本为iOS 6)上测试通过,电脑使用的系统为macOS 12.3, 其他设备未测试,出现数据丢失概不负责!同时请勿拿做非法用途!!!出现纠纷概不负责!!!

一、确认型号

通过iPad后盖可以知道此iPad型号为A1395,通过网络查得为苹果iPad 第2代 WLAN版本

image.pngimage.png

二、原理及所需工具

网上大部分解锁的方法有两种,一种是直接换硬盘,这种方法需要拆机,且无法找回旧硬盘里面的数据,故在这里不太适用;第二种是使用一些工具软件绕过,目前比较常用且免费的有@AppleTech752的sliver,但是这个工具一般是用来绕过id锁,需要把iOS设备恢复出厂设置后,通过Checkra1n漏洞越狱或者是上传ramdisk后绕过Apple ID进入系统,也无法保留原始数据。我在某网站找到了源自@AppleTch752的另外一种方法,即使用sliver加载ramdisk后,再挂载ios设备的分区,更改设置app的配置文件,将解锁失败次数更改,避免输错密码导致设备被停用,后面通过暴力输入密码来“破解”密码,这种方法需要一定的耐心和运气,如果密码为4位数,则最多需要10^4的次数才能解锁。建议先输入一些常用密码,有能力的可以考虑使用外接设备来输入密码辅助破解,这里不做讨论了。

需要软硬件工具有:

  • Arduino UNO
  • 装有macOS的电脑(本人为黑苹果,系统版本为Monterey 12.3.1)
  • Arduino IDE
  • Sliver
  • CyberDuck
  • PlistEdit Pro
  • 爱思助手

三、具体经过

3.1 设置Arduino

首先需要购买Arduino UNO开发板,这里建议购买原版的Arduino,我是在某鱼购买的,价格约为50元。同时需要购买USB HOSTSHIELD拓展模块,将其中的三个点(红圈)用锡短接(很关键!)。最后将两款板子上下组合起来。如果有LED灯,可以把灯按照图片所示连接,这个不是必须要的。

image.pngimage.png

image.png

然后在官网下载Arduino IDE并安装,同时下载synackuk的A5/A5X checkm8补丁,注意需要使用synackuk而非a1exdandy的补丁,这一点很重要!解压在桌面,更改文件夹名为checkm8-a5。打开终端,按步骤输入以下代码,记得把第1行和第5行的路径替换成自己的实际路径。

cd path/to/Arduino/libraries
git clone https://github.com/felis/USB_Host_Shield_2.0
cd USB_Host_Shield_2.0
git checkout cd87628af4a693eeafe1bf04486cf86ba01d29b8
git apply path/to/usb_host_library.patch

打开Arduino IDE,连接Arduino,点击工具-端口,选择自己的Arduino UNO所在端口。

image.png

打开checkm8-a5文件夹中的checkm8-a5.ino文件,需要修改这一行define的值,修改后点击上传,如果没有报错就是上传成功了。此时可以断开Arduino。

  • iPad2、4S,define A5_8940默认define A5_8940
  • iPad3,define A5_8940修改为define A5_8945
  • iPad2,4、mini1,define A5_8940修改为define A5_8942

image.png

3.2 iPad进入PWNDFU模式

首先让iPad进入普通DFU模式,方法是开机连接电脑后按着电源键+Home键,持续10秒,直到屏幕熄灭,松开电源键,继续按死Home键不放大概10秒,即可成功进入DFU模式。打开爱思助手,可以看到iPad已经进入DFU模式。如果失败可以重试几次。

image.png

将iPad连接至Arduino的拓展版的USB口上,再将Arduino连接至电脑或者充电宝上,如果LED灯首先会快速闪烁三次,等待10秒钟后会一直常亮,说明设备已经进入PWNDFU模式。

image.png

如果没有LED灯,可以点击工具-串口监视器-点击Show timestamp-设置为115200波特率,将iPad连接至Arduino的拓展版的USB口上,再将Arduino连接至电脑上,此时监视器会自动跑代码,等待代码跑完并提示Done!说明设备成功进入了PWNDFU模式。

image.pngimage.png

3.3 加载RAMDISK

首先,去Appletech752官网下载最新版本的sliver,下载完成后将sliver.app拖到应用程序目录下,如果打开sliver.app提示如下错误:“Sliver.app”将对您的电脑造成伤害。 您应该将它移到废纸篓。

image.png

点取消,打开Finder,在应用程序文件夹找到sliver.app,右键点显示简介,点击覆盖恶意软件保护,

image.png

打开终端,输入如下代码:

sudo xattr -rd com.apple.quarantine /Applications/Sliver.app

输入电脑的密码后按回车即可。

如果是第一次打开sliver,提示需要安装Python2.7,点击Quit and Install:image.png

在弹出来的窗口一直点下一步安装就可以。

打开Sliver,会弹出来sliver的主窗口,点击「Ramdisk iCloud Bypass 」- 「Bypass A5 iDevices」 -「 iPad 2」

image.pngimage.pngimage.png

此时会看到如下图1界面,instruction是Arduino的使用说明,上面已经写过了,点击Standard RD,可以看到三个选项:Standard RD,Alternate RD,iBSS ONLY。

  • 如果在High Sierra 或者 Mojave,先尝试Standard RD,如果没用,重启iPad,重新进入PWNDFU模式,再用Alternate RD;
  • 如果你在Catalina 或者 Big Sur 或者 Monterey 系统上,应该选择Alternate RD!
  • IBSS ONLY只用来验证设备是否在PWNDFU模式,如果在,会输出done!,如果没有输出,这说明不在PWNDFU模式,或者ipwndfu遇到了USB错误。在加载IBSS ONLY后,必须重启iOS设备,重新进入PWNDFU模式再加载ramdisk。

我的电脑使用的是Monterey最新系统,所以这里点击Alternate RD,再点击Load,再点击Load Ramdisk。此时会提示需要进行如下操作:断开iOS设备和电脑的USB连接,等待5秒钟,重新连接电脑,完成后点击Continue。

image.pngimage.pngimage.png

iPad屏幕上会自动跑代码,然后出现一个Apple Tech715的苹果logo,说明ramdisk加载成功。

image.pngimage.png

我看了一些@Appletech752的帖子并翻译了一下,如果在A4、A5或者A6的设备上加载ramdisk不成功,以下为几点你需要做的:

  1. 如果你使用的是Intel/T2 Mac (2018和更老的型号),使用Sliver 6.2,如果你使用的是M1 Mac (2019/2020+),使用SliverM1,不要用其他版本的Sliver,最新版的是最好的!

  2. 如果是A5设备,务必确定使用的是synackuk而非a1exdandy的补丁,这一点很重要!

  3. 请直接拖拽Sliver.app到应用程序目录,不要把文件夹拖进去、或者使用快捷方式、链接等方式

  4. 在电脑上安装HomeBrew,具体安装方式如下:

    方法一:brew官网的安装脚本

    执行命令:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
    

    这时很可能会出现一个问题: 要么下载极其龟速,要么直接出现如下提示

    curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
    

    原因:这是 http://raw.githubusercontent.com 访问不稳定引起的。

    此时需要换一种科学高效的安装方法,即方法二。

    方法二:brew 镜像安装脚本(亲测最快速最有效)

    /usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)"
    

    该脚本用了中科大镜像加速访问,仅修改仓库地址部分,不会产生安全隐患。 关于中科大所提供的 Homebrew 镜像服务 https://lug.ustc.edu.cn/wiki/mirrors/help/brew.git

    注:注意这里的速度,几百kib/s或几m/s才是正常的。若只有几kib/s,通常为无效的安装方法,一般加载了百分之几十后就会报错。

  5. 打开终端,输入brew install libusb brew install libirecovery

如果你在Catalina 或者 Big Sur 或者 Monterey 系统上使用Sliver,应该选择Alternate Ramdisk!如果在High Sierra 或者 Mojave,先尝试Standard Ramdisk,如果没用,重启iPad,重新进入PWNDFU模式,再用Alternate Ramdisk。

如果你使用的是Intel/T2 Mac ,并且设备为iPad 2,4 ,需要另外下载iPad2.4Bypasser,Sliver 6.2不支持iPad 2,4。

如果你使用的是iPad 3,可能需要20-50次尝试才能成功加载ramdisk,这个很正常。如果想更容易成功,需要在 MacOS High Sierra 或者 Mojave上使用iPad3Bypasser,且iPad3Bypasser只支持运行High Sierra和Mojave 的Intel/T2 Mac。

如果你尝试了上面的方法但是ramdisk任然不能加载,这意味着你遇到了iPwndfu PIPE ERROR。解决方法是什么呢?重启你的设备,重新进入DFU模式,重新用Arduino进入PWNDFU模式,重新连接Mac并且重试。你可能需要重复这个过程10-20次直到arduino成功执行漏洞。想知道什么时候遇到了pipe error吗?最好的方式是从终端运行Sliver,打开一个新的终端窗口并且输入如下代码:

/Applications/Sliver.app/Contents/MacOS/Sliver

如果Sliver已经在你的电脑上安装了,当你点击回车键的时候,Sliver应该会打开,所有的错误和重要信息都会被记录在终端里。如果加载ramdisk失败后,你可以在终端里看有无“Pipe Error”信息,如果你在日志里看到了该信息,这意味着arduino漏洞失败了。

以上这份指导只适用于ramdisk故障排除。如果你有关于A7 payloads的问题,新建一个终端窗口并且输入brew install libirecovery,请注意A7 payloads只有Sliver6.2支持,M1的不支持。

3.4 挂载系统分区,并修改配置文件。

首先,新建一个终端窗口,输入以下ssh root@localhost -p2222命令,如果是第一次输入,会提示yes/no,输入yes回车,提示输入密码,输入密码apline按回车。

tk@TKdeiMac ~ % ssh root@localhost -p2222
The authenticity of host '[localhost]:2222 ([127.0.0.1]:2222)' can't be established.
RSA key fingerprint is SHA256:B5srDjwyszKZBeCctNmOqGEQOCXkSTdOCvKumgL5F+c.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[localhost]:2222' (RSA) to the list of known hosts.
root@localhost's password: 
Use mount.sh script to mount the partitions
Use reboot_bak to reboot
Use 'device_infos' to dump EMF keys (when imaging user volume)

输入mount.sh挂载系统分区到mnt1、mnt2。

打开Cyberduck,点新建连接,选择SFTP协议,服务器填localhost,端口填2222,用户名填root,密码填alpine,最后点击连接

image.pngimage.png

点击连接之后,点击上方选择/根目录,再进入/mnt2/mobile/Library/Prefenrences/,找到一个名为com.apple.springboard.plist的文件,把它拖到桌面上。

Xnip2022-05-08_14-15-13.jpgXnip2022-05-08_14-15-54.jpgXnip2022-05-08_14-16-10.jpgXnip2022-05-08_14-16-35.jpg

右键该文件,打开方式选PlistEdit Pro。找到名为SBDeviceLockFailedAttempts的那一行,这一项的意思是解锁失败错误次数,将其改为-9999后,即可不停尝试解锁密码直到试出正确的密码。按住Command+S键保存,将修改后的com.apple.springboard.plist文件拖回/mnt2/mobile/Library/Prefenrences/目录,如果提示覆盖点击确认即可。

Xnip2022-05-08_14-17-12.jpg

Xnip2022-05-08_14-18-39.jpgXnip2022-05-08_14-18-51.jpg

Last login: Tue May  3 20:00:38 on ttys000
tk@TKdeiMac ~ % ssh root@localhost -p2222
The authenticity of host '[localhost]:2222 ([127.0.0.1]:2222)' can't be established.
RSA key fingerprint is SHA256:B5srDjwyszKZBeCctNmOqGEQOCXkSTdOCvKumgL5F+c.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[localhost]:2222' (RSA) to the list of known hosts.
root@localhost's password: 
Use mount.sh script to mount the partitions
Use reboot_bak to reboot
Use 'device_infos' to dump EMF keys (when imaging user volume)
-sh-4.0# mount /dev/disk0s1s1 on /mnt1
usage: mount [-dfruvw] [-o options] [-t external_type] special node
       mount [-adfruvw] [-t external_type]
       mount [-dfruvw] special | node
-sh-4.0# mount_hfs /dev/disk0s1s1 on /mnt1
usage: mount_hfs [-xw] [-u user] [-g group] [-m mask] [-e encoding] [-t tbuffer-size] [-j] [-c] [-o options] special-device filesystem-node
   -j disables journaling; -c disables group-commit for journaling
-sh-4.0# mount_hfs /dev/disk0s1s1 /mnt1  
-sh-4.0# mount_hfs /dev/disk0s1s2 /mnt2
-sh-4.0# reboot_bak
-sh-4.0# Connection to localhost closed by remote host.
Connection to localhost closed.

标签:iPad,找回,Arduino,不刷机,mount,点击,localhost,Sliver
From: https://www.cnblogs.com/drcode/p/18455332/ipad-data-recovery

相关文章

  • 网站密码忘记了怎么找回?网站的密码忘记了怎么办
    当您忘记网站密码时,可以按照以下步骤尝试找回:访问登录页面:打开网站的登录页面。寻找“忘记密码”链接:通常在登录表单附近会有一个“忘记密码”或“找回密码”的链接。输入注册邮箱或手机号:点击链接后,系统会要求您输入注册时使用的邮箱地址或手机号码。查收邮件或短信:提交信息......
  • 网站密码忘记了怎么办?网站密码忘记了无法找回
    当遇到网站密码忘记且无法通过常规方式找回的情况时,可以尝试以下几个步骤来解决问题:联系客服支持:大多数正规网站都有客服支持,可以通过邮件或电话联系他们说明情况。通常客服会要求用户提供注册时的一些个人信息进行验证,验证通过后可以帮助重置密码。检查垃圾邮件箱:有时候密......
  • 如何找回宝塔管理面板密码
    找回宝塔面板的密码可以通过以下几种方法实现:通过官方客户端找回:登录宝塔面板的官方网站或使用其官方客户端。在登录页面点击“忘记密码”链接。按照提示输入你的注册邮箱或手机号,并完成身份验证。重置密码并重新登录。通过数据库直接修改:如果你有服务器的SSH访问权......
  • 如何快速找回织梦DedeCMS的管理员后台密码?
    如果你忘记了织梦(Dedecms)网站的后台管理密码,可以通过以下几种方法尝试恢复:数据库直接修改登录到MySQL数据库。找到织梦CMS对应的数据库,通常用户名保存在dede_admin表中。执行更新语句来重置密码。例如:sql UPDATEdede_adminSETpassword=MD5('your_new_password'......
  • 忘记帝国cms网站后台登录密码和认证码如何找回
    1.准备重置脚本下载附件:下载提供的重置脚本文件。将文件上传到网站根目录。2.访问重置页面访问重置页面:访问 /e/update/resetuser.php。默认密码为 123456,也可以在 resetuser.php 中修改这个密码。3.重置密码输入密码:输入默认密码 123456。跳转到......
  • 帝国cms后台忘记了安全提问及密码该如何找回
    如果你忘记了EmpireCMS后台的安全提问及密码,可以通过以下步骤来找回或重置:1.忘记后台管理员账号登录数据库使用phpMyAdmin或其他数据库管理工具登录到数据库。查看管理员账号打开 phome_enewsuser 表。查看 username 字段的内容,即可找到管理员账号。2.......
  • Pbootcms忘记密码该如何找回?
    上传文件将 resetpw.php 和 index.html 文件上传到网站根目录。访问重置页面在浏览器中访问 域名/index.html。填写信息并提交填写管理员账号和新密码,点击“重置密码”。删除工具文件重置成功后,务必删除 resetpw.php 和 index.html 文件,以避免安全......
  • PbootCMS后台登陆密码忘记/找回密码后台登录密码
    上传文件将 resetpw.php 和 index.html 文件上传到网站根目录。访问重置页面在浏览器中访问 http://www.example.com/index.html。填写信息并提交填写管理员账号和新密码,点击“重置密码”。删除工具文件重置成功后,务必删除 resetpw.php 和 index.ht......
  • 如何找回电脑误删的数据?学会这几招就够了!
    随着电脑上累积的数据量不断攀升,意外删除重要文件的风险也随之增加,但不必过于担忧,因为误删文件通常并不意味着永久性的数据损失。实际上,只要采取正确的办法,我们有很大机会能够恢复这些丢失的数据。今天本文将为大家提供一些实用的数据恢复技巧和方法,帮助大家从电脑中找回那些不......
  • 《疯狂的麦克斯》因3dmgame.dll失踪陷入瘫痪,《疯狂的麦克斯》遭遇史上最难关卡——找
    在废土世界的轰鸣与尘埃中,《疯狂的麦克斯》系列以其独特的后末日风格、刺激的赛车追逐和深刻的角色塑造,一直以来都是玩家们心中的经典之作。然而,最近这款风靡全球的游戏却遭遇了前所未有的挑战——因关键文件3dmgame.dll的失踪,整个游戏系统陷入了瘫痪状态,让无数玩家措手不及。......