精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

車聯網安全進階之Trick——Android車機運行Python

jf_EksNQtU6 ? 來源:談思實驗室 ? 2023-11-17 16:15 ? 次閱讀

在整車環境下,網絡隔離劃分出了多個網絡。多數的 ECU(注,本文中的 ECU 特指支持 TCP/IP 協議棧的 ECU) 不能夠與測試機直連,雖然通過內網穿透技術可以實現訪問這些隔離的 ECU。在內網穿透環境下測試由于轉發問題會出現異常連接的情況。例如,使用 Python 的 Scapy 模塊編寫 SOMEIP 腳本時無法建立連接。

Python 腳本比較靈活,支持的模塊也比較多,但 Python 上車確實是個問題。智駕上往往原生支持Python,但通常作為測試入口的車機,Python 卻不支持的。最近在漏洞挖掘中,在車機上對 Python 有迫切的需求,于是就又雙叒叕去搜索了一下 Android 上運行Python的方法,所有的方案指向—— Python IDE APP。那就得安裝一個 APP,但當下新出的車機有的加了系統簽名驗證導致第三方應用無法安裝。那先試試安裝APP這個方案。

一共嘗試了5種方案,最終選擇了方案④,使用獨立的Python虛擬環境。

03118154-851e-11ee-939d-92fbcf53809c.gif

方案①:安裝 Python IDE APP

Qpython、Pydroid 是Android上用的比較多的編輯器/IDE。在能夠安裝第三方APP的車機上,使用 adb 安裝上應用。然后使用就比較尷尬了,圖形化界面在測試中是個弊端,把車機屏幕當成顯示屏,外接鍵盤來測試?有的車機也不是識別鍵盤呀!

突然想起我手機上的 Termux 也是可以安裝 Python。但是 Termux 也是圖形的,也不是圖形化——主界面是命令行。怎么通過ADB 使用純命令行的 Termux 呢,嘗試第二種方案——ADB中使用Termux。

Termux是一款基于Android系統的終端模擬器應用程序,可以在Android設備上運行命令行界面和Linux軟件包。它提供了一個完整的Linux環境,包括常用的命令行工具、編程語言和軟件包管理器等。

03253a14-851e-11ee-939d-92fbcf53809c.png

方案②:ADB中使用Termux

首先看看 Termux 用的 SHELL 是哪個,直接查看環境,SHELL 的路徑是 /data/data/com.termux/files/usr/bin/bash

~ $ echo $SHELL
/data/data/com.termux/files/usr/bin/bash

先拿手機試試,進入ADB SHELL 切換到 Termux 的SHELL。好消息,命令行的Termux進去了;壞消息,Python運行不了。

032db63a-851e-11ee-939d-92fbcf53809c.png

其實,已經裝了 Python,運行不了的原因是缺少環境變量。缺啥補啥,這就去加個環境變量。添加環境變量 PATH 就能直接使用 python等命令了,指定依賴庫的位置 LD_LIBRARY_PATH 也不可或缺。

export LD_LIBRARY_PATH=/data/data/com.termux/files/usr/lib/
export PATH=$PATH:/data/data/com.termux/files/usr/bin

環境變量設置好了,果然進來了。

0335ce2e-851e-11ee-939d-92fbcf53809c.png

那么問題來了,雖然能用Python,但這輛車上不能安裝第三方應用。那擺在眼前的是怎么在不安裝 APK 的情況下使用Termux。都到這里了,證明ADB運行Python是可行的,那么繼續下一步——遷移Termux。

方案③:遷移Termux

查看 Termux 安裝后的文件結構發現,/data/data/com.termux/files/usr/ 下不就是 POSIX 的文件系統結構么。

.../data/com.termux $ tree -L 3               
├── cache                             
│ └── apt                            
│   ├── archives                       
│   ├── pkgcache.bin                     
│   └── srcpkgcache.bin                    
├── files                             
│ ├── home                           
│ │ └── test                         
│ └── usr                            
│   ├── bin                          
│   ├── code                         
│   ├── etc                          
│   ├── include                        
│   ├── lib
│   ├── libexec                        
│   ├── share
│   ├── tmp                          
│   └── var
└── shared_prefs                           
└── com.termux_preferences.xml

車機的架構和手機架構一樣,直接打包復制到車機上。

說干就干,復制到 /data/local/tmp/ 下,設置好環境變量。

export LD_LIBRARY_PATH=/data/local/tmp/data/data/com.termux/files/usr/lib
export PATH=$PATH:/data/local/tmp/data/data/com.termux/files/usr/bin

Python 啟動!

034f2176-851e-11ee-939d-92fbcf53809c.png

能用就是包有點大 700M,想想感覺可以精簡。

方案④:獨立的 Python

手機是AARCH64,車機也是AARCH64, 那么 Termux 的Python軟件包是不是能直接使用。直接去 Termux 的包管理網站下載 python_3.11.6-1_aarch64.deb

deb 中有三個文件,其中 data.tar.gz 是主要的程序文件。

035ba090-851e-11ee-939d-92fbcf53809c.png

data.tar.gz 放到車機里面卻發現報錯,缺少依賴環境。

0363ad62-851e-11ee-939d-92fbcf53809c.png

缺啥補啥,從Termux lib 中摳出來,有點未免太費勁了。都到這里了,還是嘗試添加一下依賴吧。把 libandroid-support.so 上傳到 /data/local/tmp/data/data/com.termux/files/usr/lib 竟然成了,不是連環的缺少依賴。

03703d34-851e-11ee-939d-92fbcf53809c.png

又試了試 pip,包里面沒有 pip。

037bbb46-851e-11ee-939d-92fbcf53809c.png

補充了 pip,也能安裝模塊,但是不能使用,因為配置的 lib 路徑的文件,必須和 termux 的文件結構一致才行。但獨立出來,路徑是固然要改的。于是想到修改pip下載模塊的默認存儲路徑。配置需要寫入配置文件到根目錄,然而大部分車機的根目錄是不可寫的。

0387be8c-851e-11ee-939d-92fbcf53809c.png

繼續修復Bug,那還不如直接用方案三中的直接復制過來Termux環境。老老實實用Termux的環境,占用的磁盤空間大就大點吧!

對了,還有一種方案就是使用虛擬環境 venv,直接使用 python -m venv venv 不出意料也報錯,修復報錯后,就大功告成了。打包好放在 https://github.com/delikely/Automotive-Security-Toolkit/tree/main/pydroid ,各位看官自取。

03a27d8a-851e-11ee-939d-92fbcf53809c.png

方案⑤:靜態編譯Python

話又說回來,不同的車機可能缺少的依賴不同,那存不存在靜態編譯的Python呢?這可能是最佳的方案,靜態編譯的 Python 和 pip,就像靜態編譯的 busybox 一樣,沒有依賴問題直接用。但是找了一圈又一圈,現成的壓根沒有,有沒有愿意嘗試靜態編譯 Python 的勇士呢?


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Android
    +關注

    關注

    12

    文章

    3926

    瀏覽量

    127158
  • 車聯網
    +關注

    關注

    76

    文章

    2563

    瀏覽量

    91522
  • python
    +關注

    關注

    56

    文章

    4783

    瀏覽量

    84473

原文標題:車聯網安全進階之Trick——Android車機運行Python

文章出處:【微信號:談思實驗室,微信公眾號:談思實驗室】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    聯網催生行業應用新契機

    、信息發布等。”中國聯通上海市分公司副總經理李爽近日表示。作為物聯網的重要分支,聯網因為能夠緩解交通壓力、幫助人們安全便利出行而備受用戶歡迎,在汽車保有量急劇增長、城市交通狀況日益惡
    發表于 07-11 18:50

    聯網——汽車工業未來的發展

    解決交通問題的最最有效途徑。我們IOV是物聯網在汽車領域的一個應用,是移動互聯網、物聯網實際業務實質和縱深發展的必由之路,是未來信息通信、環保、節能、安全等發展的融合性技術。目前,國內
    發表于 12-03 15:37

    聯網——汽車工業未來的發展

    解決交通問題的最最有效途徑。我們IOV是物聯網在汽車領域的一個應用,是移動互聯網、物聯網實際業務實質和縱深發展的必由之路,是未來信息通信、環保、節能、安全等發展的融合性技術。目前,國內
    發表于 12-25 14:28

    聯網——汽車工業未來的發展

    解決交通問題的最最有效途徑。我們IOV是物聯網在汽車領域的一個應用,是移動互聯網、物聯網實際業務實質和縱深發展的必由之路,是未來信息通信、環保、節能、安全等發展的融合性技術。目前,國內
    發表于 01-28 14:40

    聯網的架構分析實現聯網的價值

    2018年的風口是什么?人工智能?區塊鏈?還是物聯網?物聯網是國家戰略性新興產業的重要組成部分,是繼互聯網之后的新一輪信息技術革命。物聯網應用的行業有很多,
    發表于 02-11 10:13

    聯網安全芯片,規級加密芯片,聯網安全方案

    目前物聯網以及聯網的發展以及產品的普及,讓大家開始注意到了,對于數據加密的需求,開始關于對于數據通信的安全和對于合法用戶的認證 深圳市鼎恒創科技專注于固件保護和數據加密傳輸多年,相關
    發表于 03-27 10:48

    聯網終端應用

    」的模式,在車聯網中擁有重要的一席之地。事實上,聯網不但可以提升行車安全,也讓現實交通運行更有效率。
    發表于 07-17 07:33

    什么是聯網通信技術?

    近年來,隨著汽車保有量持續增長,道路承載容量在許多城市已達到飽和,交通安全、出行效率、環境保護等問題日益突出。在此背景下,汽車的智能化和網聯化作為解決這些問題的重要途徑,受到了業界的高度重視。聯網
    發表于 08-19 08:08

    什么是聯網

    什么是聯網聯網即 V2X(Vehicle to Everything),意思是和萬物互聯。
    發表于 09-16 10:36

    聯網用到的兩個技術解析:ITS和RFID

    聯網是解決未來城市交通壓力的一個重要項目,同時也將為行車安全提供保障,在未來的前景被十分的看好。但是,在實際的調查中,大眾的支持率卻顯得不高,究其原因是對
    發表于 06-06 07:00

    聯網進階過程及產品研究設計模式

    什么是智能汽車?狹義地來看,智能汽車=聯網+新能源+自動駕駛。如果用這樣的定義來倒退,目前市面上還沒有智能汽車。事實上,智能汽車是有一個進階過程的,大致如下:  
    發表于 06-06 08:00

    聯網關鍵技術盤點,帶你了解聯網的前世今生

    交通效率和交通安全為主的網絡與應用。聯網關鍵技術及總結ITS即智能交通。是將先進的傳感器技術、通信技術、數據處理技術、網絡技術、自動控制技術、信息發布技術等有機地運用于整個交通運輸管理體系而建立起
    發表于 06-08 14:31

    聯網現階段的組成部分

    上傳到互聯網大數據平臺,由中央處理器對大量上傳信息進行匯總、分析和處理,系統將對每一輛交通參與車輛進行全程控制,對每一條道路進行實時管控,為使用者提供交通的效率與安全聯網現階段的
    發表于 10-22 07:02

    現階段“聯網”的實用價值在哪?

    現階段“聯網”的實用價值在哪?“聯網”能給我們帶來什么?“聯網”能給誰用?“
    發表于 06-16 07:53

    做技術,選聯網行業建議

    平臺)之間的網絡連接,提升車輛整體的智能駕駛水平,為用戶提供安全、舒適、智能、高效的駕駛感受與交通服務,同時提高交通運行效率,提升社會交通服務的智能化水平。想從事聯網、車載行業相關的
    發表于 04-14 14:05