保时捷帕拉梅拉(971)开通全屏Carplay

汽车安全 1年前 (2023) admin
122 0 0

本文已获好兄弟(作者)授权。

        时隔了五年的失踪人口回归,这五年作者也在打磨自身,沉浸在网络安全行业,一直想写下这篇文章,却又不知如何起笔,明知道这篇文章可能触碰到了国内这些改装店的利益,但是无论是早些年的wooyun还是现在的52pojie,互联网的精髓在于share,我承认这是一个知识付费的时代,但是利用开源项目赚取大量的车主改装费,实在是令人作呕,况且这个固件的作者明确声明禁止商用。

保时捷帕拉梅拉(971)开通全屏Carplay

保时捷帕拉梅拉(971)开通全屏Carplay

作者的声明

        好了,废话就不多说了,下面开始Porsche 971 帕拉梅拉的全屏carplay开通教程新款保时捷帕拉梅拉的carplay设计的比较恶心,他只会在中控屏幕中显示一半的位置,看起来特别不协调。

保时捷帕拉梅拉(971)开通全屏Carplay

        那么我们怎么样才能让他变成全屏显示呢,首先,我们要确定我们的车机固件版本

保时捷帕拉梅拉(971)开通全屏Carplay

在系统设置-软件更新-版本信息中查看


        就比如笔者这辆,软件版本 MHI2_CN_POG24_P0822 ,其中MHI2 代表的是 MIB2 High车机 CN代表中国 POG24代表宽屏触控车机(同理POG11就代表早期PCM4.0及以前的车机版本) P0822就是软件版本号

        我们用MIB helper去查询我们的版本信息

http://mib-helper.com/index.phpmib-helper.com/index.php

        这是国外大神制作的MIB查询工具,可以帮我们根据版本号寻找对应的补丁

保时捷帕拉梅拉(971)开通全屏Carplay

MIB-Helper


如作者这辆,最新的版本补丁为MHI2_CN_POG24_K1018,其他版本的也可以据此查询,找到对应的版本补丁。我们去这个网站下载最新的补丁。用户名:guest    密码:guest

MIB Solution :: Loginmibsolution.one/#/1/18


保时捷帕拉梅拉(971)开通全屏Carplay


        这个文件几乎包含了全部MIB车机的补丁

保时捷帕拉梅拉(971)开通全屏Carplay

        下一步,我们就要祭出我们的大杀器了

GitHub – Mr-MIBonk/M.I.B._More-Incredible-Bash: M.I.B. – More Incredible Bash – The Army knife for Harman MIB 2.x aka MHI2(Q) unitsgithub.com/Mr-MIBonk/M.I.B._More-Incredible-Bash

        在GitHub上下载这个开源的MIB利用工具

保时捷帕拉梅拉(971)开通全屏Carplay


        在这里选择发行版,下载

保时捷帕拉梅拉(971)开通全屏Carplay

        这是下载之后解压的全部内容,下载之后我们需要准备一张SD卡,并且格式化为fat32格式,把上面的文件全部解压到SD卡中。

保时捷帕拉梅拉(971)开通全屏Carplay

        接着我们把刚刚下载的全部的补丁文件放到SD卡的patches目录中

保时捷帕拉梅拉(971)开通全屏Carplay


        这时候电脑端的准备工作就全部OK了,下面我们把SD卡插入到车内(帕拉梅拉是插在副驾驶手套箱内的SD卡槽)后启动车辆,在车机开启了之后,在主菜单同时按下中间的小圆纽和media三秒,进入红色工程模式。

保时捷帕拉梅拉(971)开通全屏Carplay

        这时候屏幕的左边会跳出软件更新,我们选择从SD卡升级,然后一直下一步,这时候屏幕会重启几次,不要管他,最后完成他会自动返回主菜单(如果提示插入诊断设备备份的话,点击不备份就可以)。

保时捷帕拉梅拉(971)开通全屏Carplay


保时捷帕拉梅拉(971)开通全屏Carplay

保时捷帕拉梅拉(971)开通全屏Carplay

耐心等待就好

        更新结束后进入到主菜单,这时候只是加载完了工具,并没有烧录补丁,所以这时候的carplay还是半屏的,我们要进入到绿色工程模式,进行全屏carplay的刷入

保时捷帕拉梅拉(971)开通全屏Carplay

绿色工程模式这么进入

        这时候,车辆的车机应该就变成了这样

保时捷帕拉梅拉(971)开通全屏Carplay

显示的内容可能不太一样,笔者这里是ifconfig画面

        刚开始会有两个选项,我们选择MIB,进入mib后进入这个菜单

保时捷帕拉梅拉(971)开通全屏Carplay

    multimedia_system/porsche/pog24,我们选择 Enable widescreen CarPlay,然后车机会自动重启,重启之后我们的宽屏幕carplay就刷好了

保时捷帕拉梅拉(971)开通全屏Carplay

        至此,全屏carplay的刷写过程就全部结束了,至于无良商家所说的所谓正版全屏Carplay,正版激活码之类的,纯属无稽之谈,口说无凭,笔者用了一点时间root掉了自己的这台帕拉梅拉的车机系统,这就是一个非标准的Linux系统。

保时捷帕拉梅拉(971)开通全屏Carplay

    笔者跟踪了一下开启宽屏carplay的代码

保时捷帕拉梅拉(971)开通全屏Carplay

    继续追踪g24wide这个java文件

保时捷帕拉梅拉(971)开通全屏Carplay

package de.audi.app.terminalmode.pgen2;

import de.audi.app.terminalmode.AbstractTerminalModeConfiguration;
import de.audi.atip.base.IFrameworkAccess;

public class PGen2TMConfiguration extends AbstractTerminalModeConfiguration {
private final int screenOffsetX = Integer.parseInt(System.getProperty("terminalmode.screenoffsetx", isRightHandDrive() ? "506" : "134"));

private final int screenOffsetY = Integer.parseInt(System.getProperty("terminalmode.screenoffsety", "55"));

private final int touchpadX = Integer.parseInt(System.getProperty("terminalmode.touchpadx", "1440"));

private final int touchpadY = Integer.parseInt(System.getProperty("terminalmode.touchpady", "540"));

public PGen2TMConfiguration(IFrameworkAccess paramIFrameworkAccess) {
super(paramIFrameworkAccess);
}

public boolean hasKnob() {
return true;
}

public boolean hasTouchscreenHigh() {
return true;
}

public String getScreenName() {
return "Porsche";
}

public boolean isAutoConnect() {
return false;
}

public boolean getStoreUserAcceptState() {
return false;
}

public boolean shouldShowDisclaimerAtLeastOnce() {
return true;
}
public boolean isKnobDirectionInverted() {
return true;
}

public boolean usesOldMediaConnector() {
return true;
}

public int getScreenOffsetX() {
return isRightHandDrive() ? 0 : 114;
}

public int getScreenOffsetY() {
return 55;
}
public int getScreenResolutionX() {
return 1440;
}

public int getScreenResolutionY() {
return 540;
}

public int getWindowResolutionX() {
return 1326;
}

public int getWindowResolutionY() {
return 480;
}

public int getTMWindowResolutionInXAxis() {
return 1326;
}
public int getPhysicalDisplayHeight() {
return 110;
}

public int getPhysicalDisplayWidth() {
return 295;
}

public int getTouchPadResolutionX() {
return this.touchpadX;
}

public int getTouchPadResolutionY() {
return this.touchpadY;
}

public boolean isTouchScreenInputWidget() {
return true;
}

public boolean hasBothPhoneMFLKeys() {
return true;
}

public boolean supportsDeletionOfConnectedDevices() {
return true;
}

public int get
DSICarPlayScreenResolution() {
return 3;
}

public int getCarPlayPhysicalDisplayHeight() {
return 110;
}

public int getCarPlayPhysicalDisplayWidth() {
return 295;
}

public boolean hasTwoVirtualButtonModels() {
return false;
}

public boolean useDSIAndroidAuto2() {
return true;
}
}

    根据Apple给出的MFI开发文档,车机的分辨率确实有所变化

保时捷帕拉梅拉(971)开通全屏Carplay


        但这并不代表就是盗版,因为代码中并未对IAP2的认证协议进行欺骗或者修改,修改的只是车机的部分的显示代码,所谓激活码,也不过就是telnet的登陆密码,跟apple的MFI八竿子打不着,不存在盗版正版一说。

保时捷帕拉梅拉(971)开通全屏Carplay

        root掉车机系统后,你可以在车机上做任何事情,因为他就是一台Linux,具体做什么大家就自行发挥想象力把,有兴趣想root的,也可以持续关注,我有时间就写

搬运著名出处和作者

        最近在研究piwis3,如果各位有兴趣的话,下次为大家公开971/9Y0等sport chrono和弹射的开通方法,算法,让改装店不赚你冤枉钱。


原文始发于微信公众号(黑白天实验室):保时捷帕拉梅拉(971)开通全屏Carplay

版权声明:admin 发表于 2023年6月13日 下午12:54。
转载请注明:保时捷帕拉梅拉(971)开通全屏Carplay | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...