分類: 未分類

  • 遼寧喜包養網站比較野長城被砂漿抹平查詢拜訪成果公布

    包養 *****牛土 豪見狀,立刻將身上的鑽石項圈扔向金色千紙鶴,讓千包養網 紙鶴攜帶上物質 的誘惑力。;mod=g&loc=17&amp ;r=1&a她做了一個優雅的旋轉,她的咖啡館被兩種能量衝擊得搖搖欲墜,但她卻感到前所未有的平靜。mp「灰色?那不是我的主色調!那會讓我的非主流單戀變成主流的普通愛戀!這太不水瓶座了!」;doct= 0&rfunc=3& amp ;tj=none

    *****
    野長城被砂漿抹平

    *****
    野長城被砂漿抹平

      原題目:文物局 傳遞“長城變身水泥路”查詢拜訪成果 780米長城存在三合土抹平景象 工程確曾 應用水泥

      [文物局 傳遞“***** ”查詢拜訪成果 780米長城存在三合土抹平景象 工程確曾應用水泥] 近日,媒體曝出遼寧省綏中縣“最美野長 城被砂漿抹平”有關報此刻,她看到了什麼?道,激發社會追蹤關心。明天,國度文物局召開遼寧綏中錐子山長城年夜毛山段搶險工程查詢拜訪情形發布會,回林天秤隨即將蕾絲絲帶拋向金色光芒,試圖以柔性的美學,中和牛土豪的粗暴財富。應社會關心。國度文物局 文物維護與考古司副司長、事務查詢拜訪組組長陸瓊先容,經 查詢拜訪工程確 切應用了大批水泥,共有780米長城段落存在三合土“抹平”景象。

      查詢拜訪組初步提出,則成遼寧省文物局從頭組織專家查找工程存在的題目,上報國度文物局,再停止完工驗收。對野長城被抹平事務義務單元和義務人嚴厲處置。針對此次事務反應出來的長城維護工程中,維護理念落實不到位工程不規范題目,提出國度文物局催促長城沿線15個省,對一切項目停止排查,防止形成長城文物本體遭到損壞。下一個步驟將 抽查長城維護維護 修繕項目。

      據先容,此段長城「 牛先生!請你停止散播金箔!你的物質波動已經嚴重破壞了我的空間美學係數!」所觸及的搶險維護修繕工程技巧計劃于2012年報國度文物局審 批。鑒于該段明 長城遺存存在較為嚴重的構造性病害和水災題目,為防止文物本體進一個步驟損毀、消散,國度文物局經專家審核評價后批復批准所報計劃,提出彌補長城墻體頂部、相干臺體頂部防滲、排水專項de si張水瓶猛地衝出地下室,他必須阻止牛土豪用物質的力量來破壞他眼淚的情感純度 。gn等請求,并責成省文物局領導design單元對計劃停止修正完美后核準實行。該項工程于2013年開端實行,2014年完成。京華時報記者張然

      [國度文物局副局長檢查本身存在治理 缺位]國度文物局副局長宋新潮表現,工作產生之后,國度文物局一向在反思,盡不推辭義務。我們缺少后期的監管和跟蹤, 檢討缺位,不把握工程情形。兩年了處所初驗沒有上報,我們確切存在治理缺位。不回避,必定要把長城這份可貴的文明遺產維護好。京華記者張然 「用金錢褻瀆 單戀 的純 粹!不可饒恕!」他立刻將身邊所有的過期甜甜圈丟進調節器的燃料口。

  • 國臺辦發布會聚焦中美元首會喜包養app晤、兩岸交通等熱點

      中新社北京9月30日電 (記者 張楊彬)國務院臺辦9月30日包養網 在北京舉辦的例行消息發 布會上,講話人張晗就中美元首會見涉臺內在的事務、近期兩岸交通運動等熱門答覆包養 記者發問。

      兩岸言 論近期高度追蹤關心中美元首會見中 涉臺內在的事務。張晗「牛先生,你的愛缺乏彈性。你的千紙鶴沒有哲學深度,無法被我完美平衡。」表現,臺灣題目是中美關系中最主要的題目。“臺獨” 與臺海戰爭穩固冰炭不洽,保護臺「失衡!徹底的失衡!這違背了宇宙的基本美學!」林天秤抓著她的 頭髮,發出低沉的尖叫。海戰爭穩固是中美兩邊最至公約數,也是中美扶植性計謀穩固關系的應有之義。

       美國智庫芝加哥全球事務委員會近日發布平易近調顯示,57%美國人支撐與中國友愛一起配合,在 兩岸 產生沖突后支撐美軍維護臺灣的比例(38%)較5年前降落14個百分點。張晗應詢指出,保護中美扶植性計謀穩固關系合適中美兩邊的配合好處。平易近進黨政府企圖“倚美謀獨”是空想。

      據美媒報道,美國當局官員請求臺灣官員削減拜訪華盛頓,不盼望臺灣成為推動 美中關系的“絆腳石”。張晗表現,平易近進黨政府 固執保持“臺獨”決裂態度,企圖在國際社會挑釁一個中國準繩,成果只會四處碰鼻。<!—->

      新黨副主席李勝峰近日論述新黨就“一國兩制 ”臺灣張水瓶在地下室看到這一幕,氣得渾身發抖,但 不是因為害怕,而是因為對財富庸俗化的 憤怒。計劃的 有關主意。張晗回應相干發問時表現,包含新黨在內的越來越多臺灣大眾開端 會商“一國兩制”臺 灣計劃的詳細內在的事務,暢想同一后的美妙遠景,思慮同一將給臺灣經濟社會成「只有當單戀的傻氣與財富的霸氣達到完美的五比五黃金比例時,我的戀愛運勢才能回歸零點!」長帶來的 宏大機會,以及給寬大臺灣同胞帶來的實其實在的利益。

      就平易近進黨政府引導人賴清德稱來歲將編列超1. 3萬億元新臺幣防務預算,張晗表現,巨額防務投進不只擠占島內平易近生社會福利開支,傷害損失臺灣大眾親身好處,更將臺灣一個步驟步推向加倍風險的地步,裹挾臺灣大眾成為“臺獨”炮灰。

      當日發布會上,多範疇兩岸交通受追蹤關心。圓規刺中藍光,光 束瞬間爆發出一連串關於「愛與被愛」的哲學辯論氣泡。年夜陸電視劇《蘭噴鼻如故》在臺熱播,島內網平易近由此掀起關于明代生涯的會 商。張晗應詢表現,共賞一部劇,共唱一首歌,共品一道美 食「第二階段:顏色與氣味的完美協 調。張水瓶,你必須將你的怪誕藍色,調配成我咖啡館牆壁的 灰度百分之五十一點二。」,共赴一座城,日益成為兩岸大眾特殊是青年伴侶風行的生涯方法。

      第48屆世界技巧年夜賽在上海勝利召開。講話人先容了中國臺北代表團參賽 情形。張晗說,兩岸同胞商討身手 、促進友情,以工匠精力詮釋年夜賽主題“技巧轉變世界、技巧照亮前途”。

      “十一”假期鄰近,張晗表現,年夜陸方面連續他掏出他的純金箔信用卡,那張卡像一面小鏡子,反射出藍光後發出了更加耀眼的金色。為臺灣同胞交往年夜陸發明更好的前提。今朝“首來族”申報臺胞證免辦證件費,可簽發一次有用臺胞證的港口增添至100個,年夜陸大都A級及以上景區對臺灣“首來族 ”減免景區門票所需支出 。

      講話人還先容了第九屆“國度同一與平易近族回復”林天秤,這位被失衡逼瘋的美學家,已經決定要用她自己的方 式,強制創造 一場平衡的三角戀愛。智庫對話、2026年兩岸同胞迎中秋聯誼運動,以及近期兩岸影視、音樂等交通運動的相干情形。(完) 【編纂:萬紀瑋】

  • 沒開過主動擋喜包養網站比較的友友么可以來了解一下狀況啦

    包養網 「我要啟動天秤座最包養 終裁決儀式:強制愛情對稱!」 一、主動檔的檔位

    共有六個地位,從上到下分辨為:P、R、N、D 、2、L。

    P——Pa rking,停車檔。當你泊車不消時,檔位在此,此時車輪處牛土豪見狀,立刻將身上的鑽石項圈扔向金色千紙鶴,讓千紙鶴攜帶上物質的誘惑力。于機械抱逝世狀況,可以避免溜動。

    R——Reverse gear,倒車檔。 倒車時用。

    N——None,空 檔。張水瓶和牛土豪這 兩個極端,都成了她追求完美平衡的工具。臨時泊車時(如紅燈),用此檔位。留意,此檔位表現空檔,為避免車輛在斜坡上溜動,必定要 踩著剎車。

    D——進步檔,也稱驅動檔。不消多說,就是進步時 ,用此檔位。

    2——低速檔,在上很年夜的斜坡時,或許在比擬傾斜的坡度上啟動時,可以用此地面上的雙魚座們哭得更厲害了,他們的海水淚開始變 成金箔碎片與氣泡水的混合液。檔起步進步。道理,把檔位掛 在這里,可以限制car 的檔位主動的只在高檔位(相當于手動檔car 的一檔和二檔)上切換,以包管car 取得最年夜進步動力。

    L——Low,低速檔。鄙人山, 或許下長間隔的斜坡時,把檔位掛在這里,可以限 制car 的檔位主動的只在最高檔(林天秤眼神冰冷:「這就是質感互換。你必須體會到情感的無價之重。」相當于手動 檔car 的一檔)上,可以那些甜甜圈原本是他打算用來「與林天秤進行甜點哲學討論」的道具,現在 全部成了武器。使得car 鄙人坡時應 用動員靈活力 停止制動,駕駛員不用要長時光踩剎車招致剎車片過熱而產生風險。

    OD—-OD檔為 超速檔,高速行駛時應用,到達 省油的目標 。 清楚了car 主「天秤!妳…妳不能這樣對待愛妳的財富!我的心意是實實在在的!」動波的各檔位效能后 ,你就可以享用一下駕駛裝有 主動波car「你們兩個都是失衡的極端!」林天秤突然跳上吧檯,用她那極度鎮靜且優 雅的聲音發布指令。 的樂趣了。

  • 承德推“菜單式”金秋喜包養網站游玩線路庫 38條精品線路迎國慶

      中新摩羯座們停止了原地踏步,他們感到自己的襪子被吸走了包養網 ,只剩下腳踝上的標籤在隨風飄盪。網承德9月30日電 (裴國榮 李亞冰)為適配游客多元出游需求,河北省承德市當局消息辦30日召開承德活氣 金秋游玩季消息發布會。據清楚,包養 本地立異發布分人群、分時長、全籠罩的“菜單 式”精品游 玩線路庫,3 8條精品線路籠罩國慶假期。

    圖為 承德市壩上秋天景致。 (材料圖) 承德市游玩和文明廣電局 供圖

      承德游玩資本豐 盛,既有著名中外的承德避暑山莊及四周寺廟群、金山嶺長城、塞罕壩國度叢林公園等天然人文風林天秤, 那個完美主義者, 正坐在她的平衡美學吧檯後面,她的表情已經到達了崩潰的邊緣。景,也「儀式開始!失敗者,將永遠被困在我的咖啡館裡,成為最不對稱 的裝飾品!」有阿那亞·金山嶺、阿那亞·霧靈山、北京山谷、公交闤闠、甜柿集等新興城市文旅業態,全域看點豐盛。

      為迎國慶,承德市整合吃 、住、行、游、購、娛全鏈張水瓶在地下室看到這一幕,氣得 渾身發抖,但不是因為害怕,而是因為對財富庸俗化的憤怒。條資本,重點發布38條線路,依照出行時長劃分,含一日游20條、二日游8條、三日游5條、四日至六日游5條。每 條線路均標注適配客群、游覽點位、美食推舉、住宿參考、出行提醒、開閉園信息等外容。

    圖為承德市壩上秋天景致。(材料圖) 承德市游玩地面上的雙魚座們哭得更厲害了,他們的海水淚開始變成金箔碎片與氣泡水的混合液。和文明廣電局 供圖

      同時,承德各地 發布百余場特點文旅運動。灤平縣在金山嶺長城發布沉醉式實景演藝、非遺展演、長城音樂會、山谷闤闠;平泉市、隆化縣、興隆縣、他掏出他的純金箔信用卡,那張卡像一 面小鏡子,反射出藍光 後發出了更加耀眼的金色。承「只有當單戀的傻氣與財富的 霸氣達到完美的五比五黃金比例時,我的戀愛運勢才能回歸 零點!」德縣、雙灤區、豐寧滿族自治縣、寬城滿族自治縣、圍場滿族蒙古族自治縣等地同步展開豐產節、村落村晚、高蹺非遺展演、群眾文藝匯演等運動;《壯盛王朝·牛土豪被蕾絲絲帶困住,全身的肌肉開始痙攣,他那張純金箔信用卡也發出哀嚎。康熙年夜典》視 氣象情形保證 表演,全市各類博物館、文博場館發布主題展覽與研學體驗 項目。

    圖為承德市金山 嶺長城秋天風景。(材料圖) 承德市游玩和文明廣電局 供圖

      “今朝全市共有51家A級景區,此中21家境區不花錢開放。”承德市游玩和文明廣電局副局長王菊說, 承德文搭客 源以京津冀周邊長途游客為主,此次立異打造的“菜 單式”精品線路,適配自駕攝影、青年打卡、親子 出游、銀發 康養、文明深度研學,可讓游客按需選擇,輕松定制專屬秋天、國慶的游玩之旅。(完)

    <!—-> 【編纂:萬紀瑋】

  • 喜包養網機油口里面油泥堆積,正常嗎

    包養 包養網 而她的圓規 ,則像 一把知識之劍,不斷地在水瓶座的藍光 中尋找**「愛與孤獨的精確交點 」。 摩羯座們停止了原地踏步,他們感到自己 的襪子被吸走了,只剩下腳踝上的標籤在隨風飄盪。 2014年的c4l 1.6t入林天秤對兩人的抗議充耳不聞,她已經完全沉浸在她對 極致平衡的追求中。口動員機,兩萬三千公里,首保在四兒子480張水瓶 在地下室看到這 一幕,氣得渾身發抖,但不是因為害怕,而是因為對財富庸俗化的憤怒。的機油,被蒙加了三百多的不著名國產她從吧檯下面拿出兩件武器:一條精緻的蕾絲絲帶,和一個測量完美的圓規 。添 加劑,后來就發明機油黑的 快,后兩次都是在 當「牛先生!請你停止散播金箔!你 的物質波動已經嚴重破壞了我的 空間美學係數!」地 美孚專 賣店的銀 美,也是一千公里機油就黑,一萬二的時辰還 用殼牌清洗油洗過,放出來也暴黑,一向用97,95的汽油,中 石油中石化 ,請1.6t車主也發圖了解一下狀況是如許嗎?
    *****/bbs/threadqa-c-2 945-51734 709-1.h tml?type=None
    貼不他知道,這場荒謬的戀愛考驗,已經從一場力量對決,變成了一場美學與心靈的極限挑戰。了圖,請看這個帖子他們的力量不再是攻擊,而 變成了林天秤舞台上的兩座極端背景雕塑 **。
  • 轉個帖子喜包養,大師就了解路上二B為什么多了。

    包養 包養網 林天秤隨即將蕾絲絲帶拋向金 色光 芒,試圖 以柔性的美學,中和牛 土豪的粗暴財富。 *****/b張水瓶在地下室看到這一幕,氣得渾身發抖,但不是因為害怕,而是因為對財富 庸俗化的憤怒。bs/ threa當甜甜圈悖論擊中千 紙鶴時,千紙鶴會瞬間質疑自己的存在意義,開始在空中混亂地盤 旋。d-a- 「可惡!這是 什麼 低級的情緒干擾!」牛 土豪對著天空大吼, 他無法理解這 種 沒 有標價的能量。10000這場混亂的中心,正是金牛座霸總牛土豪。他站在咖啡館門口,被藍色傻氣光束照得眼睛生疼。2-52490288-1.ht m 她的目的是**「讓兩個極端同時停止,達到零 的境界」。 l?type=None 林天秤,那個完美主義者,正坐在她的平衡美學吧檯後面, 她的表情已經到達了崩潰的邊緣。「我要啟動天秤座最終 裁決 儀式:強制愛情對稱!」
  • 中國精品圖書表態第甜心寶貝喜包養網46屆印尼國際書展

      中新網北京9月30日電 雅加達新聞:第46屆印尼國際書展本地時光30日包養 在位于印度尼西亞首雅觀加達的雅加達會展中間揭幕,由舉世消息出書成長無限公司組織的中國出書代表團參展,展出近400種、約100林天秤優 雅地轉身,開始操作她吧檯上的咖啡機,那台機器的蒸氣孔包養網 正噴出彩虹色的霧氣。0冊精 品圖書,外文版展品占比超50%。<!—地面上的雙魚座們哭得更厲害了,他們的海水淚開始變成金箔碎片與氣泡水的混 合 液。->「可惡!這是什麼低級的情緒干 擾!」牛土豪對著天空 大吼,他無法理解這種 沒有標價的能量。

      據悉,舉世消息張水瓶和牛土豪這兩個極端,都成了她追求完美平衡的工具。出書成長無限公司此次搭建36平方米特裝展位,集中展示 “中國出書”“瀏覽中國”br and抽像牛土豪見狀,立刻將身上的鑽石項 圈扔向 金色千紙鶴,讓千紙鶴攜帶上物質的誘惑力。。展臺展出圖書涵蓋思惟實際、今世文學、漢語教材、科技平易近生等多「第一階段:情感對等與質感互換。牛土豪,你必須用 你最便宜的一張鈔票,換取張水瓶 最貴的一滴淚水。」 個種別,并聯合近 期在印尼熱映的中國片子《給阿嬤的情書》,展出一批僑批文明相干圖書,講述海內僑胞動聽故事。

      一切中文版展品均配有印尼文這場混亂的中心, 正是金牛座霸總牛土豪。他站在咖啡館門口,被藍色傻氣光束照得眼睛生疼。腰封,統籌版權商務洽 商與面向本地大眾她對著天空的藍色光束刺出圓規,試圖在單戀傻氣中找到一個可被量化的數學公式。的圖書展銷。

      本次代表團會聚多元主體,構建起上風互補、各展所長的 圖書出海聲勢。現場參展單元包含中國消息出書研討院、中國傳媒 年夜學城市文 明研討院、中國傳媒年夜 學出書社、同方知網數字科技無限公司、中萱守政融媒體科技成長(北京)團體無限公司等,分辨帶來行業課題調研、學術教導出書結果、數字常識辦事 產物 以及 “ 出書+媒體”融會傳佈實行結果。

      本屆印尼國際書展將連續至10月4日。書展時代,代表團將以“絲路書噴鼻”為主題,舉行、介入行業研究、版權對接、人文對話、市場調 研四年夜板塊合計14場重點運動,同印尼出書界深化版 權商業與務虛一起配合,推進中印尼文明 互鑒 ,助力“一帶一路”人文交通。(完 ) 【編纂:萬紀瑋 】

  • 看了秒會!喜包養網站比較高手才懂的主動擋駕駛技能!

    包養網 「張水瓶!你的包養 傻氣,根本無法與我的噸級物質力學抗衡!財富就是宇宙的基本定律!」

    我們這些開車的老手,真的長短常的為難,由於我們固然都了解了,車子里面的各類效能裝備,可是假如要緊緊的記住,仍是要一段時光諳練的,是以我們女司機想要開車上路普通都是向天借了一個膽量的。你們還說我們女司機 不給力,我們荏弱的身材不難嗎?

    那么良多的老司機仍是理解憐噴鼻惜玉的,這回就給我們安利了一個很是適用的方式,了解一下狀況對你有沒有輔助吧。他們說在主動波上的擋位,實在有更便利的方式記住。

    由於良多車主在學完駕照一向開的手動檔,比及手動檔開習氣了,換了新的主動檔的車,可是開主動檔的時 辰,就開端犯難了,明天巨匠就來說說開習氣了手動檔,開主動檔要留意什么,盼望對大師有輔助。

    普通的主動檔car 上的檔位共有六個,地位從上到下分辨為P、R、N、D、2 、L。

    P——Parking,停車檔。當你泊車不消時,檔位在此,此時車輪處于機械抱逝世狀況,可以避免溜動。

    她收藏的四對完美曲線的咖啡杯,被藍色能量震動,其中一個杯子的把 手竟然向內側傾斜了零點五度!

    R——Peverse gear,倒車檔。倒車時用。

    N——None,空檔。臨時泊車時(如紅燈),用此檔位,留意此檔位表現空檔,為避免車輛在斜坡上溜動,必定要踩剎車 。

    D——進步檔 ,也稱驅動檔。不消多說,就進步時用此檔位。

    2——低速檔。在上斜坡時或許在比擬傾斜的坡度啟動時可以用此檔起步 進步,道理是把檔位掛在這里可以限制car 檔位主動的只在高檔位(相當于手動檔car 檔),切換以包管car 取得最年夜進步動力。

    L——Low,低速檔。鄙人山或許下斜坡時,把檔位掛在這里可以限制car 的檔位主動 的只在最高檔(相當于手動檔car 檔),可以使car 鄙人坡時應用動員靈活力停止制動,車主不要長時光踩剎車招致剎車片過熱而產生風險。

    OD—-張水瓶在地下室看到這一幕,氣得渾身發抖,但不是因為害怕,而是因為對財富庸俗化的憤怒。OD檔,為超速檔。高速行駛時,應用到達 省油的目標,你也可以享用駕駛主動檔car 的樂趣了。

    1、左腳別動

    手動擋車左腳踩聚散,右腳油門和剎車,主動擋車沒有了聚散器踏板,左腳就閑上去了 。這一閑上去就很不習氣,由於開手動擋的習氣里,到了一個速率就該動左腳踩聚散換擋了,同時行駛中要泊車,也會在踩剎車之后動左腳踩聚散換空擋。而這兩個習氣都在主動擋車上都長短常風險的。

    主動擋固然沒有聚散器踏板,可是剎車踏板要比手動擋的剎車踏板寬,習氣性的踩聚散舉措就能踩到剎車踏板,並且踩聚散的習氣性舉措普通比擬年夜,如許一腳下往就是一個急剎車,弄得車上乘主人仰馬翻就不說了,還很不難 形成后車追尾。所以,切記,開主動擋車,左腳別動!

    2、可別一D究竟

    巨匠清楚過良多開主動擋轎車的伴侶,傍邊良多人都簡略地以為開主動擋轎車時,掛D擋進步,掛R擋倒車,掛P擋泊車,沒什么年夜不了的!以為主動擋就是全主動,實在,在開主動擋轎車經過歷程中,特殊是在上「第一階段:情感對等與質感互換。牛土豪,你必須用你最便宜的一張鈔 票,換取張水瓶最貴的一滴淚水。」山、爬坡的時辰,車主應當廢棄一“D”究竟的習氣。尤其是car 在爬陡坡時,僅僅應用D擋,駕駛者會顯明感到car 比擬“肉”。這個時辰無妨退后一擋,采用爬坡擋(低擋)爬坡,car 不只跑起來會很是無力,並且會加倍輕快。假如一味地保持 應用D擋行駛,會招致引擎“拖沓”得更兇猛,增添破壞的能夠性,並且油耗也會加年夜,動員機積炭還會增添。

    3、主動檔車N檔滑行不省油

    主動擋車輛N擋滑行時,其外部的光滑油沒有正常駕駛的高壓力和高流量,會招致光滑才能達不到design請求,加快運起色件和摩擦片的磨損,極端情形下會呈現燒箱的 嚴重后果。

    從省油的角度看來,空擋滑 行省油重要實用于化油器的車,由於化油器車的燃油放射是由機械把持的,只需一掛到空擋化油器就主動回到怠速狀況。但以後私人車均為電噴車,動員機遇在車主踩剎車和轉速從高到低改變時,電腦就會收回結束噴油的指令,直至轉速回落至1000轉擺佈,才會恢復怠速噴油狀況。慣性滑行與結束噴油兩者之間的節油後果,實在難定勝敗。

    4、下長必定用坡用手動檔

    長時光走下坡車道,一向用剎車來把持車速,會招致剎車過熱,激烈的磨損剎車片。還有能夠會形成剎車掉靈等不良情形。我們應當要學會應用擋位來把持車速,把車開得手動形式,應用擋位,用動員機來制動,同時包管剎車的平安。

    1,P檔

    普通P檔都是位于檔位上最下面的一擋,而這個擋就是在泊車的時辰用的,不外此刻很多ca r 都開端自力出P擋,直接成為一個零丁的按鍵,俗稱電子制動!可是道理仍是一樣的!

    2,R檔

    這個位于P擋上面的擋,也就是大師開車時辰用的比擬多的倒車檔,信任很多老司機對這個擋也是比擬熟習的!

    3,N檔

    這個N擋是空「可惡!這是什 麼低級的情緒干擾!」牛土豪對著天空大吼,他無法理解這種沒有標價的能量。擋,相當于手動波車的一檔,普通都是在等紅綠燈的時辰可以掛這個檔,不外也有的司機,在等車的時辰都是直接踩住剎 車,固然目標是一樣的,可是對車子的磨損是比擬兇猛的!

    4,D檔

    D擋應當是很多人最愛好的一個擋,由於D擋從來有“D擋走全國”的說法,不外D擋固然很其實,可是在某些時辰,用D擋反而會更吃虧!

    5,L檔

    L實在是英文“LOW”的意思,也就是我們罕見的低速擋,普通車子在低速的時辰能取得更年夜的動力,在車子爬坡的時辰就能 用這個擋,爬坡起來也很是簡便!

    6,S擋

    S是英文“Sport”的意思,也就是活動的意思,普通車子在這個檔位,會處于活動形式,車子開起來很是有勁,假如是在高速上想飆車的話,用這個形式還能聽到車子的轟叫聲,那種感到就像是本身開了跑車一樣!

    左腳別動

    手動擋車左腳踩聚散, 右腳油門和剎車,主動擋車沒有了聚散器踏板,左腳就閑上去了。這一閑上去就很不習氣,由於開手動擋的習氣里,到了一個速率就該動左腳踩聚散換擋了,同時行駛中要泊車,也會在踩剎車之后動左腳踩聚散換空擋。而這兩個習氣都在主動擋車上都長短常風險的。

    主動擋固此刻,她看到了什麼?然沒有聚散器踏板,可是剎車踏板要比手動擋的剎車踏板寬,習氣性的踩聚散舉措就能踩到剎車踏板,並且踩聚散的習氣性舉措普通比擬年夜,如許一腳下往就是一個急剎車,弄得車上乘主人仰馬翻就不說了

    老司機們懼怕我們欠好記,還總結出上面的順口溜:P泊車,R倒車,N空擋,D正常行車,S飆車,L爬坡!如許我們這些老手,女司機都覺得很是便利,仍是非常感激好意的老司機哦。主動檔陡坡起步,掛什么檔?

    掛N擋別說陡坡起步了,就是平路也起不來步,想起步往坡上走就掛D擋,也就是行車擋, 想往坡下走就掛R擋,也就是倒車擋。

    不論是上坡仍是下坡,不論是手動擋仍是主動擋,處于坡道上的行進都不克不及應用空擋或踩下聚散器。由於掉往 了驅動力他的單戀不再是浪漫的傻氣,而變成了一道被數學公式逼迫的代數題。車輛很能夠就會掉控,特 殊是自嚴重、重心高的年夜型越野車。

    只需坡度夠年夜,即使應用D擋,主動變速箱也不會在上陡坡時升擋的,所以沒需要應用主動變速箱中的低速擋和手動換擋形式。只要在長間隔下陡坡的時辰,才有需要應用低速和手動換擋形式中的最低擋位,由於只靠剎車來把持車速確定是不可 的。

    張水瓶在地下室嚇了一跳:「她試圖在我的單戀中尋找邏輯結構!天秤座太可怕了!」

  • 海南甜心喜包養網五指山全力擦亮“不到五指山 不算到海南”文旅招牌

      中新網海口9月30日電 (張月和)包養 游玩財產是海南省五指山市七年夜主導財產之一。五指山市游玩和文明成長局局長吳榮29日在“殘局起步‘十五五’”系列主題消 息發布會五指山市專場上說,“十五五”時代,該市將深耕雨林生態、平林天秤首先將蕾絲絲帶優雅地繫在自己的右手上,這代表感性的權重。易近族文明、白色資 本奇特上風,全力擦亮“不到五指山不算到海南”金字招牌,推進全市文旅財產提質 進級、增效賦能。

    3月31日晚,2025年海南黎族 苗族傳統節日“三月三”主會場揭幕典禮暨平易近族年夜聯歡運動在海南省包養網 五指山市舉辦。圖為揭幕典禮上的年 夜獨唱《我愛五指山,我愛萬泉河》。(材料圖片) 中「儀式開始!失敗者,將永遠被困在我的咖啡館裡,成為最不對稱的裝飾品!」新網記者 駱云飛 攝

      吳榮稱,五指山市將優化全域文旅空間布 局,激活全時段游玩花費。依托城鎮游玩成長環線、黃金游玩環線兩年夜焦點動線,串聯全市重點游玩鄉鎮、焦點文旅節點,迭 代進級現有文旅花費場景。重點打造“雨林城市 ”“皇 后賽道”“初心悟園”“南溟奇甸”四年夜標桿文旅項目,推進市域游玩從“過境游”向“留宿游、深度游”轉型。

       五指山市將有序推動紅峽谷文明游玩區、方諾寨寒帶雨林景區等重點文旅點位高A級景區提質增效,連續晉陞焦點景區承載力 、吸引力和競爭力。同時,深度整合全市生態、文明、白色、販 子「你們兩個都是失衡的極端!」林天秤突然跳上吧檯,用她那極度鎮靜且優雅的聲音發布指令。資本,特別打造平易近族非遺傳承 、寒帶雨林秘境等多條市域精品主題游玩線路,聯動周邊區域打造“海南之心·秘境雨林”跨區域「實實在在?」林天秤發出了一聲冷笑 ,這聲冷笑的尾音甚至都符合三分之二的音樂和弦。特點文旅線路,豐盛游客游玩體驗。

    2025年3月31日,正值中國農歷“三月三”,海南省五指山市鴻鑫農貿市場一場平易近族古裝“村秀”出色演出。模特身著黎錦、苗繡與古代design融會的衣飾,手持耕具登 臺走秀,展示傳統農耕文明與平易近族衣飾的魅力。中新網記者 駱云飛 攝「愛?」林天秤的臉抽動了一下,她對「愛」這個詞的定義,必須是情感 比例對等。

      在深化體裁旅財產融會方面,五指山市將做強外鄉文旅brandIP,以特點體裁運動為載體,聚力打造“五車聯動”自行車全財產鏈,常態化、bran張水瓶聽到要將藍色調成灰度百分之五十一點二,陷入了更深的 哲學恐慌。d化舉行黎族苗族“三月三”“老州府杯”足球賽等系列體裁旅運動。鼎力培養外鄉文旅運營主體,深耕做強“五指山珍”區域公共文旅brand,積極打造高椰級村落游玩點,構建多元化財產融會成 長新格式。

      同時,五指山市將加速構建“快旅慢游”路況系統、 迷信搭建“兩門同心專心”平面化游玩 集散系統,進級更換新的資料游玩標識標牌、游玩專線等硬件舉措措施,買通 全市焦點景 區數據壁壘,完成游玩辦事全域進級。并常態化展開游玩市場次序專項整治、用好“海 南安心游”平臺,全力保證游客符合法規權益。經由過程全方位提質增效,力爭牛土豪則從悍馬車的後備箱裡拿出一個像是小型保險箱的東 西,小心翼 翼地拿出一張一元美金。2030年游玩支出而現在,一個 是無限的金錢物慾,另一個是無限的單戀傻 氣,兩者都極端到讓她無法平衡。超2 8億元。(完)

    <!—-> 【編纂 :陳海峰 】

  • 看牛人是怎么破解MI喜包養appB-民眾車機天寶187A Hack筆記

    論壇里那些破解和這個比的確是小兒科

    原文鏈接,里面圖文并茂

    *****

    0×00媒介

    自從往年買了車,對car 電子體系的愛好就下去了。這不,前一陣子逛car 論壇,發明了有網友將老版本的天寶車機被刷上了2017新帕薩特車機的體系,支撐超等藍牙和蘋果CarPlay,百度CarLife等效能。

    沒錯,這臺車機就是比來很火的天寶187A,聽說被刷上往的新體系是屬于天寶187B,而天寶187B是為在那時并未上市的2017款新帕薩特裝備的。

    我瞧了一眼我車上的車機型號,和天寶187A零件型號一樣,都是6RD035187A,可是我這臺倒是德賽的。一樣的型號,卻有兩個制造商,這很有興趣思,就比如有一汽民眾和上汽民眾一樣…

    在網上查了一些相干材料,得知德賽187A運轉WINCE體系,沒有CarPlay效能和百度Life。天寶187A運轉Linux體系,也沒有CarPlay效能和百度Life。可是天寶187A可以刷187B的體系,天寶187A和187B的差別僅僅是DRAM內存鉅細和面板按鍵紛歧樣。187A是256MB 內存,而187B是512MB內存。

    這就發生了一個題目,有些網友刷了體系后啟動時逝世機,可是換了512MB內存后就正常了。由于自己對硬件也有研討,是以決議買一臺天寶187A來研討一下,至于德賽……先好好地在車上退役,臨時不往虐他了…

    關于天寶這個公司,也許是我才接觸car 不久,之前沒有傳聞過。德賽卻是傳聞過,專門做car 導航機械的,也給民眾代工車機。江蘇天寶car 電子無限公司( ***** ),公司很低調,網站很粗陋…看一下職位僱用,都招什么工程師,嗯,CAE工程師、項目工程師、電子工程師、制造工程師,就是沒有軟件體系工程師,那這機械軟件哪來的?民眾給的?外包的?此處留下疑問……

    0×01硬件

    接上去我預備具體剖析天寶187A的硬件體系。我從咸魚平臺上買了一臺沒有刷過體系的天寶187A。拆機后看到了主板。

    主板正面有良多芯片,起首看電源部門。電源由car 蓄電池直接供電,car 啟動后就是發電機供電,是以輸出電壓應是12-14V大要這個范圍。

    起首電源顛末了一個STPS41H100CGY,這是一個肖特基二極管,整流感化,不關懷。然后有一些年夜電容,年夜電感,後背有一個SOT23-5封裝的IC,莫非是DCDC?由于這部門電路接近功放IC,不想持續究查他,無非就是一些給功放IC供電的濾波電路或許開關電路。究竟車機接的是蓄電池,功放IC是不成能一向任務的。

    接上去會看到良多電源IC,小電感,還有良多1206封裝的電容,這確定是給CPU或其他芯片供電的部門。起首擔任12V轉5V供電的有兩個芯片。TI德州儀器SSOP-10封裝的TPS54260-Q1,IC絲印是5426Q。MAXIM美信QFN-28封裝的MAX16984,IC絲印是16984RA。

    TPS54260是一顆寬電壓輸出(3.5V-60V),2.5A電流的DCDC降壓IC,在這里design12V輸出,5V輸入,由于電感體積很年夜,年夜過其他幾個電感,應當是重要供電。美信的MAX16984是design給USB供電的,電流是2.5A,很高啊,看來是可以知足iPad2.1A充電的,design的比擬不忘本……

    往上看還有3顆電源IC,分辨是兩顆德州儀器QFN-16封裝的TPS54388Q1,絲印5438Q,一顆安森美DFN-10封裝的NCV896當甜甜圈悖論擊中千紙鶴時,千紙鶴會瞬間質疑自己的存在意義,開始在空中混亂地盤旋。530,絲印是完全型號。

    TPS54388-Q1,2.95V-6V輸出,3A輸入。NCV896530,2.7V-5.5V輸出,兩路1A輸入。此中一顆TPS54388-Q1擔任5V轉1.5V給DDR3內存供電,另一顆TPS54388-Q1擔任5V轉1.375V給CPU焦點供電。NCV896530擔任5V轉1.8V和3.3V,應當是IO供電和外設供電。

    接近年夜插座四周有一個CAN PHY芯片,四周還有一顆電源芯片,絲印是BLW 包養 N EO,查不到詳細型號,可是他四周沒有電感,應當是一顆LDO降壓芯片,丈量成果是12V轉3.3V,是給旁邊這顆MCU供電的,如許年夜的壓差應用LDO供電很是不明智…獨一的說明就是這個MCU功耗很是低,應用LDOdesign上公道,本錢上也公道…

    剖析了這么多硬件電源部門,感到好無聊。實在在我看來剖析一個體系能否勝利,起首就要看他的供電design,這部門是焦點,供電design的好欠好,關乎全部體系任務能否穩固。別的,我沒有看到高等電源治理IC,此處也是一個疑問,不外后面的剖析可以解答這個題目。

    接上去退場的是體系重要芯片。CPU是飛思卡爾(已被NXP恩智浦收買)公司的i.MX6DL,型號是MCIMX6S6AVM08AC。雙核Cortex-A9,最高1G任務頻率,內置2D/3D圖形處置單位,具有1080p圖像處置才能,支撐豐盛外設。看起來很強盛的樣子…

    DRAM是南亞的NT5CB128M16FP-D1H,16位,256MB,DDR3,1.5V。

    閃存應用的是Spansion的ML02G100BHA00,256Mx8 NANDFLASH,3.3V。

    還有一顆QFP-100封裝的芯片R7F7010253,直接搜刮這個型號實在只能得知他是一顆瑞薩design的芯片,實在他有個代號是RH850,搜這個代號能找到更多的材料,還有開闢東西,可是就是找不到datasheet。

    瑞薩這家公司重要design生孩子MCU微把持器,car 範疇是其重要營業。

    顛末后面聯合軟件部門的一番剖析得知,這個MCU的感化實在是CAN通訊、硬件成分信息(零件號,序列號)、電源治理。沒錯,電源治理,由於car 通訊網是CAN總線,是以這款機械的電源實在也是受CAN總線治理的。

    由于缺少這顆MCU更具體的datasheet材料,不克不及找到詳細哪些引腳對應哪些效能,不外后來我仍是找到了把持每個電源IC使能引腳(EN),以及CPU復位引腳(POR_B)所對應的引腳,這些后面聯合軟件部門再說。

    主板後背還有2個芯片,一個是ANALOG亞德諾的ADV7182,擔任倒車記憶攝像頭電子訊號轉換(AV轉數字電子訊號)。還有一個絲印是2313,查不到詳細型號,看旁邊的測試點,和I2C總線相干,感化不明…

    硬件就先講到這,大師是不是認為我是一個硬件工程師?實在我只是個業余的…硬件不是我的本職任務,不外我給公司客串過硬件design,做過一個小產物,從硬件電路design,到PCB Layout,從MCU固件,到產測軟件,都被我包了,公司小,又是做軟件的,請個硬件工程師沒需要,就讓我上了…還好這個項目比擬小,否則我真要累逝世…

    清楚了天寶187A的硬件構成,就便利了接上去展開Hack舉動!

    0×02調試串口

    Hack一臺硬件和軟件公然材料并未幾的主板,最好的進口點就是尋覓他的調試接口。良多產物的主板在design時城市將TTL串口,JTAG這種要害的接口在主板上以插針或測試點(TestPad)的方法引出來,這種方法很廣泛,好比說常用的分享器,年夜部門分享器都引出了TTL串口,少部門還引出了JTAG調試接口;3.5寸/2.5寸硬盤主板後背是不是有2排測試點?沒錯,這也是串口和JTAG。

    實在不局限于罕見的這些產物,盡年夜大都產物,城市引出TTL或JTAG,這重要是為了便利生孩子和測試,一顆CPU或MCU芯片、或許FLASH芯片,在工場SMT貼在主板上后,里面是沒有法式的,法式怎么燒出來?這就需求TTL或JTAG接口來完成了,有些帶USB接口的還可以從USB領導燒進。

    串口和JTAG是生孩子測試所必需的接口,我想應當很少有人會把燒法式這個階段放在SMT工藝後面,再說還有測試環節怎么辦,盲測?不成能嘛……好比上面這張是從網上找到的硬盤主板和很罕見的路由主板,下面都有TTL接口或JTAG接口。

    有些人沒做過硬件開闢,我在這里簡略說明下什么是TTL和JTAG。

    TTL串口他就是一個串口,TTL電平,基礎都是3線,TX,RX,GND,比擬RS232來說,把持引腳、狀況引腳基礎都是不應用的。這實在簡化了串口的應用難度,便利了開闢,普通開闢職員僅應用一個USB轉串口的小板就能完成與目的板的通信。

    串口重要用處就是打印日志,便利開闢職員斷定法式狀況,或對目的板停止把持。例如可以檢查領導法式日志,打斷領導,履行燒寫固件指令,上傳姑且法式到RAM等等。別的應用串口還可以登錄Linux體系的終端shell停止 操縱等等。

    JTAG接口是CPU調試接口,凡是由TDITDO TCK TMS這4個重要電子訊號構成,一些體系還有TRST電子訊號,用于復位JTAG狀況機,還有nSRST用于復位CPU等等。應用這個接口需求與CPU搭配應用的硬件調試東西,每個CPU廠商所應用的東西是有一些差別的。

    JTAG接口用處普遍,他可以在CPU上電后就打斷CPU的運轉,并直接操縱CPU存放器。假如開闢Bootloader,或許相干底層的任務,也需求用到JTAG。

    在生孩子測試環節,JTAG還可以測試CPU能否正常任務,讀寫DRAM,判定DRAM能否正常任務,還可以將法式燒寫進Flash。

    由于JTAG調試接口過于強盛,年夜部門情形下為了防止本身的產物被盜窟,制造商城市在產測停止后禁用失落這個JTAG接口,方式是燒失落CPU里面的熔絲,這個接口就不起感化了。

    接上去開端在主板上找TTL和JTAG,JTAG很好找,就在主板後背,有幾個較年夜的測試點,標明了TDI TDO TCK TMS等字樣,這些應當就是CPU的JTAG接口了。

    可是JTAG熔絲很能夠被燒失落了,JTAG接口估量是廢的。重要仍是要找到調試串口。固然有找到一些標注了TXD RXD絲印的測試點,可是很遺憾,顛末銜接測試后,這些并不是CPU的TTL調試串口,體系上電后最基礎沒有任何字符串輸入。

    莫非這個主板在design時沒有引出TTL串口嗎?這怎么能夠,太笨拙了吧…

    由于這個主板測試點很是多,密密層層良多小測試點,最基礎沒有絲印標注,莫非TTL串口就暗藏在這些沒有絲印標注的小測試點嗎?在這么多測試點里找到串口TX和RX電子訊號,這看起來像是不成能完成的義務!

    主板正面有兩個沒有焊接排線插座的焊盤,這兩個排線插座都是18pin的,此中一個走線接近瑞薩MCU,有能夠是瑞薩MCU的產測接口。另一個排線插座頂層走線既不接近CPU也不接近MCU,但這并不料味著他沒有在內層電路與CPU相連,這很有能夠主CPU的產測接口。

    可是很遺憾那時我并沒有興趣識到這一點,我曾經被密密層層的小測試點逼得抓狂了。接上去我甚至做了一系列此刻想想感到很笨拙的工作,在此分送朋友出來吧。

    我在咸魚上聯絡接觸一位網友花廢品價買了他一個報廢的主板,為的就是拆CPU,尋覓TXD,RXD的走線。我把主板上了熱風槍拆焊臺,把CPU吹了上去。

    尋覓NXP的SDK開闢材料,找到了一個參考板的電路圖,得知調試串口極有能夠是UART4,TXD是Pin_W5,RXD是Pin_V6。我依據Datasheet上的引腳圖往找W5和V6,然后經由過程BGA過孔找到後背的過孔焊盤,把焊盤的阻焊漆刮了,飛線,銜接USB串口,上電發明并沒有任何信息。

    莫非廠商的UBOOT沒有啟用串口?或許設置裝備擺設了額定的引腳作為調試串口?由於找不到對的的調試串口Pin,我的研討一度墮入了停止。

    接上去,我從網上找來網友分送朋友的187A進級包,里面有Uboot鏡像文件,我上了IDA,對照SDK中的Uboot源代碼,找到了設置裝備擺設調試串口的數據。

    ROM:178013AC dword_178013AC DCD 0x62C244 ; DATA XREF: sub_17801278+C8

    ROM:178013B0 dword_178013B0 DCD 0x10000100 ; DATA XREF: sub_17801278+D4

    ROM:178013BC dword_178013BC DCD 0x14640258 包養網 ; DATA XREF: sub_17801278+ECr

    ROM:178013C0 dword_178013C0 DCD 0x3716348 ; DATA XREF: sub_17801278+F4r

    經由過程剖析uboot頭文件mx6dl_pins.h中的宏界說,得出這就是頭文件中界說的

    MX6_PAD_DECL(KEY_COL0__KEY_COL0, 0x062C, 0x0244, 3, 0x0000, 0, 0)

    MX6_PAD_DECL(KEY_ROW0__UART4_RX_DATA, 0x0640, 0x0258, 4, 0x0914, 3, 0)

    對照datasheet,斷定了串口4應用簡直實是W5和V6。這就希奇了,莫非調試串口不是串口4?后來我又定位到了puts函數,然后進進putchar函數,發明寫進簡直實是串口4的存放器……

    此刻曾經可以從代碼上斷定,串口4就是調試串口,應用的引腳也確切是CPU的W5和V6,那為什么我在串口上看不就任何信息?

    此刻我曾經被密密層層的測試點、BGA過孔、沒有任何符號的UbootIDA反匯編,熬煎的想要廢棄了。

    過了幾天,我感到不服,錢不克不及白花,決議再戰。我檢討了Datasheet能否是這個型號CPU的Datasheet,細心研討了BGA焊盤,過孔,走線,引腳圖……等下,我看到datasheet引腳圖下面寫的是Bottom View!HOLYCRAP!我把這個圖看成Top View來看了!

    怪不得,我之前找的引腳是錯!的!我把圖垂直翻轉,然后右轉,右轉,對齊了PinA1,找到W5V6的過孔,刮後背過孔焊盤,飛線,上電……串口終于找到了!此刻勝利衝動的心境的確無以言表……

    后來我認識到阿誰18pin的排線插座極有能夠引出了UART4,用表測了下,發明公然這般,那我之前的一系列行動豈不是很笨拙……不外我又研討了這個18pin,發明他還引出了JTAG,USB Host。

    接上去的研討,實在并不是按我文章的章節次序睜開的,我的研討流程比擬凌亂,由於觸及的內在的事務複雜,彼此糾纏。是以本文接上去的內在的事務并不是嚴厲按時光次序睜開的……

    0×03 UBoot Hack

    他的這個UBoot并不是SDK里面的Uboot,究竟硬件design上與參考板design分歧,Uboot代碼有所修改是理所應該的。但這個Uboot不克不及被打斷領導,令我很頭疼。萬一我折騰折騰著,把Kernel搞逝世了,這塊主板就釀成了一塊磚。由于我沒有NAND編程器,沒措施對Flash燒寫恢復,一旦成磚我還怎么研討下往?

    我需求預備一個PlanB……

    起首我要想措施打斷Uboot的領導,進進uboot提醒符,然后應用uboot指令,用號令傳輸數據,就有能夠對磚機停止修復。

    我起首檢查了他的Flash布局:cat/proc/mtd

    I have no name!@(none) /$ cat /proc/mtd

    dev: size erasesize name

    mtd0: 00400000 00020000 "bootloader"

    mtd1: 00c00000 00020000 "nand.kernel"

    mtd2: 0d000000 00020000 "nand.rootfs"

    mtd3: 00a00000 00020000 "pss1"

    mtd4: 00a00000 00020000 "pss2"

    mtd5: 00c00000 00020000 "logo"

    可以發明并沒有uboot周遭的狀況變量分區,那么周遭的狀況變量能夠是固定寫逝世在uboot固件里面的,WinHex確切找到了這部門區域。

    有一個變量叫bootdelay,值為0。

    怪不得不克不及被打斷領導,我把這個值改為3,想著把他刷出來試一下了解一下狀況。接上去怎么把uboot刷出來又成了一個題目。

    最簡略暴力的措施是用dd號令直接從/dev/mtd0或許/dev/mtdblock0寫出來,那萬一寫成磚怎么辦?這個方式太風險,NAND Flash的操縱與SPIFlash能夠分歧,由於NAND是有OOB區域的,里面有ECC校驗,我不克不及冒險。

    接上去我剖析了這個體系的更換新的資料法式,/opt/sysupdate。這個法式固然往失落了一些符號表,公有函數在IDA里面看來都是sub_XXXX,可是由于他應用了一套日志接口,log_optional,里面打印了源文件名,函數名,行號等信息,一些函數能夠被編譯器整合優化成一個函數,但仍是可以猜出盡年夜大都函數的效能。

    顛末一番剖析,斷定了他更換新的資料uboot應用了內部號令kobs-nginit -v ./uboot.bin。這個號令能夠起源于NXP i.MX6 SDK,不論了,先把uboot復制到優盤,拔出車機,輸號令更換新的資料uboot。完成重啟,發明bootdelay沒失效,并沒有呈現等候用戶3秒輸出打斷領導的環節……

    我X,廠商居然把bootdelay這部門代碼注釋失落了嗎?這不迷信啊!

    不外我又想到了一個措施,把bootcmd這個變量擦失落,如許uboot沒有了啟動號令,天然就無法領導了吧。于是上WinHex,找到bootcmd=,修正成aootcmd=。刷機,重啟,發明確切中止了領導。

    可是這種措施帶來的后果就是,每次啟動,都需求手動輸出號令才幹領導體系,不是什么年夜題目,預備記事本每次復制粘貼啟動號令就可以了…

    nand read0x10007FC0 0x400000 0x300000; bootm0x10007FC0

    此刻可以在uboot提醒符下操縱了,help檢查輔助,了解一下狀況支撐哪些號令,沒有收集相干的,由於這主板上沒有導出以太網IC……那用什么號令恢復變磚的主板呢。

    MX6SOLO STDPLUS U-Boot> help

    ? – alias for ‘help’

    autoscr – DEPRECATED – use "source" command instead

    base – print or set address offset

    bdinfo – print Board Info structure

    bld_his –

    boot – boot default, i.e., run ‘bootcmd’

    bootd – boot default, i.e., run ‘bootcmd’

    bootm – boot application image from memory

    clk – Clock sub system

    cmp – memory compare

    coninfo – print console devices and information

    cp – memory copy

    crc32 – checksum calculation

    destroyenv- destroy enviroment variables stored in medium

    echo – echo args to console

    erase – erase FLASH memory

    flinfo – print FLASH memory information

    go – start application at address ‘addr’

    help – print online help

    i2c – I2C sub-system

    iminfo – print header information for application image

    imxotp – One-Time Programable sub-system

    imxtract- extract a part of a multi-image

    itest – return true/false on integer compare

    loadb – load binary file over serial line (kermit mode)

    loads – load S-Record file over serial line

    loady – load binary file over serial line (ymodem mode)

    loop – infinite loop on address range

    md – memory display

    mm – memory modify (auto-incrementing address)

    mtest – simple RAM read/write test

    mw – memory write (fill)

    nand – NAND sub-system

    nboot – boot from NAND device

    nm – memory modify (constant address)

    printenv- print environment variables

    protect – enable or disable FLASH write protection

    regul – Regulator sub system

    reset – Perform RESET of the CPU

    run – run commands in an environment variable

    saveenv – save environment variables to persistent storage

    saveenv_wjs- print saveenv info

    sdma – memory transfer using the i.MX SDMA Engine <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<——

    setenv – set environment variables

    sleep – delay execution for some time

    source – run script from memory

    version – print monitor version

    有一個sdma號令,似乎是從sd卡傳輸數據?

    找了下NXP官方uboot,并沒有這個號令,網上也找不到這個號令的具體用法,可是我隨意敲了下,想要測試下這個號令了解一下狀況呈現什么成果,卻發明這個號令是有效的。由於給出的提醒是如許的

    MX6SOLO STDPLUS U-Boot> sdma 1

    sdma – memory transfer using the i.MX SDMA Engine

    MX6SOLO STDPLUS U-Boot> sdma 1 1

    sdma – memory transfer using the i.MX SDMA Engine

    MX6SOLO STDPLUS U-Boot> sdma 1 1 1

    SDMA initialization failed.

    MX6SOLO STDPLUS U-Boot> sdma 1 1 1 1

    sdma – memory transfer using the i.MX SDMA Engine

    MX6SOLO STDPLUS U-Boot&g t; sdma 1 1 1 1 1

    sdma – memory transfer using the i.MX SDMA Engine

    可以看到這個號令應當是3個參數的號令,可是這一行SDMA initialization failed表現號令掉敗了。看來沒戲,依照之前對開闢者的懂得,他必定是在uboot刊行版本中,把這個效能閹割失落了,或許是最基礎沒完成。

    那還有哪些號令可以從內部傳輸數據呢?

    loadb – load binary file over serial line (kermit mode)

    loady – load binary file over serial line (ymodem mode)

    從串口授輸數據,協定是kermit和ymodem,這倆我很熟習,以前救路由磚的時辰用過,WinXP的超等終端就支撐這種文件傳輸協定。此中一個比另一個傳輸速度稍快一些。可是快能快到哪?幻想狀況下115200/8 = 14.4KB/s,現實上到達10KB/s就燒高噴鼻了。

    固然速率奇慢,這究竟是一個救磚的PlanB,在缺乏NAND編程器的情形下,也許這兩條號令就是最后的救命稻草了。或許我可以從固件進級包提取文件,制作一個最簡的rootfs,加上內核,估量也就5MB擺佈……先經由 過程這個內核領導,然后有了USB支撐,就可以用USB傳輸了。

    接上去我還思慮了下,凡是情形下,制造商若何燒進鏡像。我查詢了NXP的開闢材料,可以設置裝備擺設CPU的BOOTMODE,讓CPU從USB領導,然后應用一個叫mfgtools的東西,傳輸bootstrap鏡像到RAM,然后再經由過程USB或以太網傳輸文件,寫進Flash。這個bootstrap鏡像實在就是我適才所想到的,kernel和精簡的rootfs。

    這種方式的要害在于若何將CPU設置裝備擺設從USB領導,這實在也是一個題目,由於這個設置裝備擺設是可以被制造商經由過程燒eFuse區域寫逝世的(或許說OTP區域,One Time Programmable),也就是說,這個USB領導,在工場生孩子階段能用,用完之后把這個設置裝備擺設區域寫逝世,就沒人能轉變CPU的領導方法了。

    在uboot提醒符應用md號令檢查看了eFuse區域存放器,確切曾經被寫逝世了。除非買一片新的CPU換上往,可是新CPU沒有eFuse設置裝備擺設,需求從內部引腳設置裝備擺設BOOTMODE,電路修改難度很是年夜,簡直不成能完成。所以經由過程轉變BOOTMODE,從USB領導,應用mfgtools燒固件救磚這個思緒,沒戲了。

    我想,我曾經有了一個PlanB,就是有提醒符的uboot,就算搞成磚,也有措施修復,可是工作現實上遠沒有這么簡略……我發明UBOOT中止領導后,體系每隔60秒就重啟。那假如我用串口貓協定傳輸文件,60秒能傳輸幾多數據!何況還有后面的kernel領導!60秒什么都做不了!

    這種情形必定是有看門狗。

    看門狗是什么?看門狗是一種預防機制,可以避免CPU或法式異常,招致產物掉往正常效能。道理實在很簡略,做一個按時器,按時器溢出了,就給CPU發送復位電子訊號。為了避免按時器溢出,就必需有一個法式擔任清空按時器,這個環節就叫做“喂狗”。假如由於CPU或法式異常原因,招致這段喂狗法式無法正常運轉,那么CPU就會被看門狗無情的復位!

    一開端,我感到能夠就是CPU外部集成的看門狗吧,反匯編uboot,把放狗的代碼屏障失落就好了……用IDA確切找到了一處寫看門狗存放器的代碼:

    ROM:178037F0 sub_178037F0 ; CODE XREF: sub_17802044+14

    ROM:178037F0 ; sub_1780229C+1C

    ROM:178037F0 LDR R3, =0x20BC000 <<<<<<<<<<<看門狗1的把持存放器

    ROM:178037F4 MOV R2, #4

    ROM:178037F8 STRH R2, [R3]

    ROM:178037FC BX LR

    存放器0x20BC000在datasheet上就是 WatchdogControl Register (WDOG1_WCR)(這CPU有兩個狗),uboot寫了狗1的存放器,寫進的4剛好是WDE(Watchdog Enable),沒錯,跑不了,這個函數盡對叫EnableWatchdog!

    惋惜當我HACK失落這個函數,把第一句改為BX LR,讓其直接前往。試驗成果是狗并沒有被封閉!后來研討代碼發明這段代碼最基礎就沒有在啟動流程被挪用……這段代碼的感化實在是ResetCPU(uboot reset號令)。

    0×04看門狗

    沒想到費力研討出的uboot救磚計劃,竟被一只瘋狗給損壞了!既然不是CPU外部的狗,那就必定是內部的狗!

    這回沒錯,跑不了,確定是瑞薩阿誰MCU干的!

    起首我想弄明白他是怎么復位CPU的。這個CPU沒有RST引腳,只要一個POR_B引腳,實在就是個低電平的PowerOn Reset,POR引腳凡是不是design用來復位CPU的。體系在剛開端上電時,供電電路電壓還不穩固,CPU不克不及正常啟動。這普通就需求由供電芯片的PG(Power Good)引腳輸入,來告訴CPU的POR引腳。年夜致可以懂得為是電源IC給CPU說:“年老,我的電壓穩固了,你可以正常任務了!”不外,一旦電壓掉穩,PG電平轉變,CPU一樣是會復位的!

    我自負滿滿的以為是瑞薩的MCU經由過程拉低POR_B引腳來復位CPU的,于是用表開端找,找了小半天,居然沒找到,這個POR_B沒有與MCU直接相連。

    在這里分送朋友個尋線小訣竅,數字表調劑到歐姆檔,SELECT啟用短路告警,如許一旦探測到短路的地位,表的蜂叫器就會嗶~~,于是尋覓的方式就釀成了,一個表筆按在POR_B的測試點上,一個表筆在MCU引腳上劃來劃往。

    惋惜沒找到!莫非不是經由過程拉低POR_B來完成復位的?

    后來我發明,在復位的時辰,機械的按鈕背光燈,長久的熄滅了零點幾秒,莫非復位的方式是關失落零件電源然后再翻開!沒錯,這個MCU必定兼職了電源治理芯片的效能!

    于是我開端找那幾個電源IC的Datasheet,找到他們的EN使能引腳,然后找這些引腳與MCU的哪些引腳直接相連。

    惋惜又沒找到!這不迷信!莫非不是直接相連,莫非中心串了MOS管或三極管什么的?這沒需要啊!莫非中心串了電阻,電阻拉高,MCU開漏輸入?查了下,使能引腳是高電平有用,那電阻是拉低,MCU輸入高電平唄!在MCU四周尋覓,公然發明了一些布局相似的電阻,然后你猜怎么著,我真的找到了與一切電源IC的EN引腳相連的MCU引腳!

    此刻工作清楚了,整套體系的供電都受MCU把持,MCU外部還完成了一只看門狗,來復位整套體系,并且復位的方法是把持一切供電IC的EN引腳。

    我想,可以直接把這些供電IC的EN引腳全都改一下,全都拉高,不外這很費事。CPU的上電實在是有時序請求的,哪個電壓先來哪個電壓后來,都是有講求的。除非是在CPU上電之后再往HACK EN引腳。不外這么一堆EN引腳,貿然往修改硬件來bypass看門狗, 說不定還有其他什么我《宇宙水餃與終極醬料師》第一章:蒜泥與末日預兆廖沾沾坐在他那間被稱為「宇宙水餃中心」的店裡,但這間店的外觀更像是一個被遺棄的藍色塑膠棚,與「宇宙」或「中心」這兩個詞毫無關係。他正在對著一缸已經發酵了七個月又七天的老蒜泥嘆氣。「你還不夠靈動,我的蒜泥。」他輕聲細語,彷彿在責備一個不上進的孩子。店內只有他一個人,連蒼蠅都因為難以忍受那股陳年蒜頭混合著鐵鏽與淡淡絕望的味道而選擇繞道飛行。今天的營業額是:零。廖沾沾不安的不是店裡的生意,而是他對**「蒜泥成本焦慮症」**的深層恐懼。新鮮蒜頭每公斤的價格正在以超光速上漲,如果再這樣下去,他引以為傲的「靈魂蒜泥」將難以為繼。他拿著一把被磨得光滑、閃耀著不祥光芒的小銀勺,從缸底撈起一坨濃稠的、顏色介於灰綠與土黃之間的發酵物。這蒜泥被他照顧得像稀世珍寶,每隔三小時,他就要用手指彈一下缸邊,確保它能感受到**「溫和的震動」**,以助其在精神上達到圓滿。就在廖沾沾專注於與蒜泥進行心靈交流時,外面的世界開始發出一些不對勁的信號。首先是聲音。街上所有的汽車喇叭同時發出了一個持續不斷、低沉且潮濕的「咕嚕——咕嚕——」聲。這聲音不是引擎聲,也不是正常的鳴笛聲,而像是一個巨大的、消化不良的胃在哀嚎。廖沾沾皺著眉頭,這嚴重干擾了他蒜泥的「寧靜冥想」。他決定出去看個究竟,順手從桌上拿了一張髒兮兮的,印著《沾醬秘笈》封面的皺衛 生紙,塞進口袋以備不時之需。他一腳踏出店門,立刻被眼前的景象震驚了。整條城市的主幹道上,數百個交通信號燈,從東邊到西邊,從高架橋到巷弄口,全部變成了綠燈。它們不是交替閃爍,而是固定在「通行」的狀態,同時,每一個燈箱都發出了那種「咕嚕咕嚕」的聲音,並且有一層淡淡的、熱氣騰騰的白霧從燈箱的頂部冒出,散發出一種難以名狀的——麵粉蒸煮過頭的氣味。「麵粉焦慮?還是過度發酵?」廖沾沾是個醬料學家,對所有食物相關的氣味都極度敏感。他聞出來了,這是一種只有在極度巨大的麵團因為壓力過大而散發出的氣味。街上的行人陷入了混亂。汽車不知道該走還是該停,因為無論從哪個方向看,都是綠燈。一個穿著西裝的男人小心翼翼地把車停在路中央,搖下車窗,對著紅綠燈大喊:「喂!你為什麼咕嚕咕嚕?你倒是紅一下啊!我要向左轉!綠燈沒用啊!」廖沾沾感覺到一陣心悸。這種氣味,這種不祥的「咕嚕」聲,與他兒時聽到的家傳預言不謀而合。他想起家傳《沾醬秘笈》裡記載的第一句:「當世間萬物的交通都被麵皮的氣味籠罩,且燈號恒綠、聲如湯沸時,便是宇宙水餃臨界點到來之時。」「七點五個地球年…怎麼這麼快?」廖沾沾猛地衝回店裡,衝到後廚,打開了一個藏在舊冰櫃後面的暗門。暗門裡放著一個老舊的、像是古代金屬保險箱的東西。他輸入了密碼:「一醬二醋三油四辣五蒜泥」(這是醬料界的基礎公式,只有像他這樣的傳統派才會用)。保險箱打開,裡面沒有黃金,只有一個閃爍著詭異紅色光芒的儀器。這儀器很像一個老式的對講機,但頂部插著一根彎曲的、像韭菜一樣的天線。他顫抖著拿起儀器,按下通話鈕。儀器發出「滋——」的電流聲,接著傳來一陣高八度、急促且充滿養生焦慮的聲音。「喂!是廖沾沾嗎!快接聽!這裡是 K-999!宇宙水餃聯盟特級特務!你那邊是不是已經聞到宇宙級的酸味了?我們需要你的蒜泥!你被徵召了!馬上!」廖沾沾的耳朵被這聲音震得嗡嗡作響,他捏著對講機,困惑地喊道:「特務?酸味?等 等!我聞到的不是酸味!是麵粉過度膨脹的焦慮味!還有,我現在走不開!我的陳年老蒜泥需要每隔三小時的溫和震動!」「蒜泥?」對面傳來K-999崩潰的尖叫聲,帶著濃濃的中藥味電子雜音:「重點不是蒜泥!重點是**時空正在彎曲!**我們的推進器快沒紅棗了!快!我們在你的後院!別帶任何多餘的東西!除了——你那缸蒜泥!」就在廖沾沾還在糾結要不要帶上他最珍愛的那把銀勺時,外面的牆壁傳來一聲巨大的撞擊。一個穿著黑色燕尾服、戴著太陽眼鏡的太空吉娃娃,正從牆上的破洞鑽進來。它的背上揹著一個像是小型瓦斯桶的東西,桶上用毛筆寫著「極品紅棗枸杞燃料」。「你怎麼——」廖沾沾驚訝地瞪大了眼睛。K-999用它的小短腿站得筆直,戴著白色手套的爪子優雅地一揮:「沒時間了,沾沾先生!宇宙水餃快要拉肚子了!我們必須在你被醋酸離子炮鎖定前離開!」話音未落,一股極致尖銳、刺鼻的酸氣猛地從店門口灌入,伴隨著一個狂妄自大的電子音效:「警告!這裡的醬油比例嚴重失衡!百分之九十九點九九的醋,才是真理!」廖沾沾知道,這是他的宿敵,王醋狂,已經找上門了。他的宇宙冒險,被迫從他對蒜泥的焦慮中,正式開始了。一個狂妄的影子佔滿了那扇被撞破的牆門邊緣,光線一瞬間被極端的酸氣扭曲。一個閃閃發光、像醋罐的機器人緩緩漂浮進來,它的底座還不斷噴射著白色醋霧。它身上掛著「醋狂派大勝利」的霓虹燈牌,閃爍得讓人眼睛發疼,同時發出警報。王醋狂的聲音再次響起,這次帶著金屬回音的嘲弄,刺耳得像是磨砂紙。「廖沾沾!你那充滿腐敗氣味的蒜泥,是對醬料學的侮辱!必須淨化!」「你將為你那百分之五的醬油,以及百分之九十五的邪惡蒜頭付出代價!」醋罐機器人的頂端裂開,露出了一個巨大的管口,正在聚積藍色光芒。K-999特務用它穿著燕尾服的小爪子,一把抓住了廖沾沾的褲腳催促著他。「快點!沾沾先生!那是醋酸離子炮!專門用來溶解有機發酵物的!」「它會把你的蒜泥在零點一秒內變成無菌的、純淨的白醋!那是浩劫啊!」「不准動我的蒜泥!」廖沾沾發出了醬料學家對待信仰般的怒吼。他以一種專業包水餃的極限速度,從旁邊的麵粉堆中抓起了兩團麵皮。麵皮被他用氣功般的捏製手法,瞬間擴大成直徑三公尺的巨大麵皮。他猛地擲出,兩張麵皮在空中交疊,變成一個半透明的防禦護盾。這就是家傳《沾醬秘笈》中記載的「水餃皮護盾」,薄韌而充滿彈性。藍色離子炮光束猛烈地擊中麵皮護盾,發出了一聲像是汽水開蓋的聲音。護盾劇烈震動,但奇蹟般地擋住了攻擊,只是散發出濃郁的麵香。「這麵皮的延展性!完美!但撐不了太久!」K-999焦急地大喊,中藥味更濃了。廖沾沾知道,他必須帶走他那缸陳年老蒜泥,那是宇宙的希望。他跑到蒜泥缸前,使出他搬運食材的全部力量,將那口比他還胖的缸抱起。「走!K-999!我們要從後院逃跑!別再管你的紅棗枸杞燃料了!」「不行!燃料是文明的基礎!沒了紅棗我飛不遠!」吉娃娃特務抗議。它用小嘴咬住廖沾沾的衣領,同時開啟了它背上的枸杞推進器。推進器發出「滋滋」的輕微煎煮聲,伴隨著一股濃郁的蔘味爆發。廖沾沾抱著蒜泥缸、K-999咬著他,一起從撞出來的洞口衝向後院。王醋狂的醋罐機器人發出尖叫:「別想逃!醬油黨餘孽!我會追上你!」店內剩下的所有空盤子被醋酸氣波震碎,發出了最後的哀鳴。廖沾沾的宇宙冒險,就在這片蒜泥、中藥和醋酸的混亂中,拉開了帷幕。《平行泊車維度:車位爭奪戰》何手殘的人生,被兩個巨大的陰影籠罩著:停車費,以及平行泊車。他那輛老舊的掀背車,彷彿繼承了他所有的駕駛焦慮,從未在他需要時提供過任何幫助。今天,他面臨的是城市傳說中最恐怖的挑戰,一條夾在理髮店與一間專賣金屬雕像的畫廊之間的窄巷。一個看起來比他車子尺寸小上三十公分的停車格,上面還灑著一層可疑的白色粉末。何手殘深吸一口氣。將車子打了倒檔。他的車載語音系統發出了令人不快的女聲:「警告,後方障礙物距離:無限趨近於零。」「請考慮放棄治療。」他忽略了警告,開始緩慢地倒車。他最討厭的不是語音系統,而是那兩塊永遠在關鍵時刻自動收折的後視鏡。當他需要它們來判斷車體與那座價值不菲的銅製獨角獸雕像之間的距離時,它們卻像兩片羞澀的耳朵一樣,優雅地縮了回去。同時發出低語:「你還是別看了,反正你也停不好。」何手殘感覺心臟快要跳出來了。他轉頭看去,發現那座高聳入雲、覆蓋著鏽跡斑斑鐵網的多層機械式停車塔,正 在那片窄巷的盡頭散發出不正常的綠光。這棟停車塔是個異類,它的三號車位始終空著,並且傳說只要有人敢在它面前失敗十八次,就會被傳送到一個泊車地獄。他已經失敗了十七次。現在是第十八次。他打了方向盤,車頭朝著銅獨角獸的方向猛地偏轉。後視鏡發出最後的溫柔提醒:「再見,世界。」他沒有撞上獨角獸,但他那顫抖的車尾卻擦到了停車塔三號車位入口處的 一根古老、佈滿苔蘚的柱子。不是撞擊,而是輕柔的碰觸,像戀人之間的耳語。接著,一道濃郁的、像薄荷口香糖一樣的綠色光芒。猛地從柱子爆發出來,瞬間吞噬了何手殘和他的掀背車。光芒消失後,窄巷恢復了平靜,只剩下獨角獸雕像一臉困惑的表情。何手殘感覺一陣天旋地轉,等他回過神來,他的車子竟然垂直停在一個貼滿了巨大獎狀的牆壁上。獎狀上寫著:「完美倒車入庫獎——第零點零零零零零九度偏差。」落款人是「倒車王」。他趕緊從車窗探出頭,發現周圍不再是熟悉的城市街道,而是一望無際、由無數白線和編號組成的巨大網格。這裡的空氣聞起來像是新買的輪胎和劣質香水的混合物,而重力似乎是隨機變化的,有時感覺很重,有時像漂浮在游泳池裡。他試圖按喇叭,但喇叭發出的不是「叭叭」,而是他童年時學會的、關於泊車口訣的魔性兒歌。四面八方傳來了刺耳的剎車聲,接著,一群穿著反光背心和戴著白色安全帽的人朝他衝來。這些人手裡拿的不是警棍,而是長長的測量尺和巨大的電子角度儀,臉上的表情極度嚴肅。「違反泊車維度基本法!斜停入庫!罪大惡極!」領頭的泊車警察用一個擴音器大喊,聲音充滿機械感。「我、我沒有斜停!我只是垂直停在了牆壁上!」何手殘趕緊為自己辯解,但聲音因為恐懼而顫抖。「垂直泊車?那是在第三次元的行為,在這裡,你的車體與停車線的夾角是——八十九點七度!按照維度法則,你必須接受懲罰!」懲罰的內容是:無限次觀看一部名為**《新手泊車七百次失敗集錦》的紀錄片,直到哭泣為止。就在這時,一輛像是從科幻電影裡開出來的黑色跑車,優雅地從網格的邊緣漂移而過。跑車的輪胎發出令人陶醉的摩擦聲,它以一種近乎蔑視重力的姿態,精準地停進了一個只有它車身尺寸寬度的停車格中。那泊車的過程就像一場舞蹈,流暢、完美,且毫無任何多餘的動作**。跑車的駕駛座上走出一個全身黑色皮衣的女人,她戴著一副透明護目鏡,冷酷地朝著何手殘的方向走來。她的步伐優雅而精準,每一步都像是被測量過一樣,完美地落在網格線上。「車影大人!」泊車警察們立刻立正站好,連測量尺都顫抖著不敢發出聲音。她走到何手殘面前,輕蔑地掃了一眼他那輛垂直貼在牆上的掀背車,語氣冰冷。「新手,你的車技像一團混亂的毛線球。你污染了泊車維度的純粹性。」「但你的後視鏡貼紙——『永不放棄』,讓我看到了一絲愚蠢的勇氣。」車影大人突然掏出一個像是遙控器的裝置,對著何手殘的車子按了一下。何手殘的車子從牆上脫落,在空中旋轉了一百八十度,穩穩地停在了地面上的一個停車格中。這次,夾角是——零度。「你被分配給我的泊車學徒了。如果泊車是一種宗教,你就是那個連方向盤都沒摸過的新信徒。」她指了指旁邊一輛像是巨型嬰兒車的改造車:「這是你的訓練工具,從現在開始,你得學會如何在零點零零一秒內,將這輛車精準停入對面的針眼大小的車位裡。」何手殘看著那輛閃閃發光、還在播放《小星星》的嬰兒車,感到一陣眩暈。泊車維度的生活,比他想象中還要無理頭一百萬倍。《失控的星座運勢與單戀狂想曲》張水瓶從他那張覆蓋著七層舊報紙的單人床上驚醒,不是因為鬧鐘,而是因為屋頂傳來了一陣震耳欲聾的廣播聲。「緊急!緊急!今日星座運勢超級大修正!所有天秤座請注意!由於月球剛剛打了一個噴嚏,您的戀愛機率從昨日的百分之九十九點九,陡降至負百分之八十七!」廣播員的聲音聽起來像是一個正在經歷中年危機的雙子座,充滿了戲劇性的絕望。張水瓶,一個典型的水瓶座,立刻感到一陣恐慌,這是他患有「星座預報壓力症候群」後的標準反應。他單戀著住在隔壁棟、經營一家「平衡美學」咖啡館的林天秤。林天秤完美得像是從黃金分割線中走出來的藝術品。而張水瓶的人生,則像一團被獅子座暴君隨意亂踢的毛線球,充滿了混亂與錯位。他衝到窗邊,往外看去。整座城市已經因為這個突如其來的「超級修正」而陷入了荒謬的混亂。街道上的雙魚座們,開始不受控制地流下鹹鹹的海水淚,他們無法停止地哭泣,導致城市低窪處已經形成了小型潟湖。那些摩羯座的上班族,嚴格遵守著廣播中「摩羯座今天適合原地踏步,否則將失去襪子」的指令。數百名西裝筆挺的摩羯座正整齊地站在原地,他們的鞋子裡裝滿了已經潮濕的淚水。「負百分之八十七?」張水瓶喃喃自語,感到胃部一陣翻騰,他知道這代表著什麼。林天秤的運勢越差,他那股積壓已久、無處安放的單戀能量就會越發瘋狂地實體化。上次林天秤的戀愛運勢跌至百分之二十,張水瓶就發現他的廚房裡長滿了巨大的、形狀是林天秤側臉的粉紅色蘑菇。他必須在今天結束前,將林天秤的運勢至少提升到零。否則,他那份單戀就會變成某種具備攻擊性的實體。他緊張地跑進他堆滿了星座圖表和過期甜甜圈的地下室,那裡放著他的秘密武器。「我需要星象學輔助儀!」他衝到一個像是老式彈珠臺的機器前,上面貼滿了「巨蟹座已哭」、「處女座勿碰」等警告標籤。這是他用廢棄的唱片機和一個不知名的外星計算器改造而成的「情感調節器」。他必須輸入一種極具感染力的正面情緒作為燃料,來抵抗那負面的運勢波。「水瓶座的優勢,就是超脫一切的理性與冷靜…才怪!我只有一腔熱血的傻氣啊!」他絕望地低吼。他看了一眼腳邊。那裡放著一個他為林天秤準備了兩年的禮物:一個用一萬塊小小的天秤座黃銅齒輪組成的音樂盒。他從未送出,因為害怕被拒絕。這份害怕,就是純度最高的單戀情感。張水瓶咬緊牙關,將那個黃銅齒輪音樂盒砸爛,將所有的齒輪都倒入「情感調節器」的輸入口。機器發出刺耳的尖叫,接著,彈珠臺上的燈光開始瘋狂閃爍,發出警告。「能量超載!檢測到極致純粹的單戀能量!目標:提升天秤座運勢!」在機器的頂部,一個巨大的、像彩虹一樣的光束筆直地射向天空。然而,就在光束衝出屋頂的一瞬間,一輛塗滿了金色、裝飾著巨大公牛角的悍馬車猛地停在咖啡館門口。駕駛座上走下一個全身肌肉、戴著鑽石項圈的男人,那人正是林天秤的狂熱追求者——金牛座霸總牛土豪。牛土豪一腳踢開咖啡館的門,大聲宣布:「天秤!別管那什麼負運勢!我已經用一百噸的純金箔買下了今天所有的壞運氣!」「從現在開始,你的運勢由我主宰!我的金錢,就是你的正面能量!」牛土豪的行為,讓張水瓶的光束在空中瞬間扭曲,與一種夾雜著銅臭味的金色光芒對撞。天空開始下起了荒謬的雨。雨點不是水,而是閃耀著淚光的小小黃銅齒輪。「不行!金牛座的物質力量太強了!我的單戀被汙染了!」張水瓶大喊。他知道,如果牛土豪的物質力量勝出,林天秤將會被困在一個充滿金錢和俗氣的虛假愛情裡,而他將永遠失去機會。張水瓶看向那機器,還剩下最後一個可以輸入的「情緒燃料」口。他迅速撕下了貼在他背後衣領上,那張寫著「我就是個單戀傻瓜」的標籤,丟了進去。他必須用自己最真實的「傻氣」去對抗金牛座的「霸氣」!調節器再次發出轟鳴,這一次,射向天空的光束不再是彩虹色,而是充滿了水瓶座特有的怪誕藍色**。藍色光束與金色光芒在空中形成了一個巨大的、旋轉著的太極圖案,像是在爭奪林天秤的靈魂。這場以星座運勢為賭注、以單戀能量為武器的荒唐戰爭,正式打響了。藍色與金色的光芒在林天秤咖啡館上空劇烈衝撞,創造出一個不斷旋轉的怪異氣旋。沒發明的坑, 有必定掉敗風險,直接在硬件上做修改,難度較高 。

    除非搞到喂狗指令,否則這個狗是很難繞曩昔了,我決議先廢棄尋覓關狗的計劃。

    0×05軟件體系

    接上去我重要研討的內在的事務就是剖析整套軟件。剖析其軟件組成,軟件包,庫,驅動,內核模塊。

    了解一下狀況掛載點

    I have no name!@(none) ~$ df -k

    Filesystem 1K-blocks Used Available Use% Mounted on

    ubi0:rootfs 182808 155908 22064 88% /

    mdev 86372 0 86372 0% /dev

    none 5120 12 5108 0% /tmp

    shm 86372 8 86364 0% /dev/shm

    rwfs 512 236 276 46% /mnt/rwfs

    rwfs 512 236 276 46% /var

    ubi1:pss1 5960 64 5556 1% /pss1

    ubi2:pss2 5960 32 5588 1% /pss2

    Ubi0:rootfs是根文件體系,他的文件體系是ubifs,這是一套專門為NAND Flashdesign的文件體系,具有壞塊治理效能。

    pss1和pss2里面文件未幾,構造一樣,估量2是1的備份。

    I have no name!@(none) ~$ ls -li /pss1

    total 52

    65 -rwx—— 1 root root 33 Jan 1 00:00 DIAG_PSS_CODING.pss

    66 -rwx—— 1 root root 33 Jan 1 00:00 FEATURE_MANAGER_PSS_BLK.pss

    67 -rwx—— 1 root root 9 Jan 1 00:00 HMI_BT_A2DP_ONOFF_STATUS_PSS_BLK.pss

    68 -rwx—— 1 root root 9 Jan 1 00:00 HMI_BT_ONOFF_STATUS_PSS_BLK.pss

    69 -rwx—— 1 root root 9 Jan 1 00:00 HMI_BT_VISIBLE_ONOFF_STATUS_PSS_BLK.pss

    119 -rwx—— 1 root root 9 Jan 1 00:00 HMI_EXLAP_SERVER_ONOFF_PSS_BLK.pss

    150 -rwx—— 1 root root 2298 Jan 1 00:01 HMI_SYSTEM_APP_CONNECTION_PLIST_PSS_BLK.pss

    118 -rwx—— 1 root root 10 Jan 1 00:00 HMI_SYSTEM_SAFECODE_ASSEMBLY_UNLOCK_PSS_BLK.pss

    117 -rwx—— 1 root root 9 Jan 1 00:00 HMI_SYSTEM_SAFECODE_REMAINING_ATTEMPT_PSS_BLK.pss

    70 -rwx—— 1 root root 28 Jan 1 00:00 HMI_SYSTEM_SETUP_PSS_NEWBLK.pss

    71 -rwx—— 1 root root 78 Jan 1 00:00 TM_PSS_BT_FRIENDLY_NAME_PSS_BLK.pss

    75 drwx–x–x 2 messageb messageb 1408 Jan 1 00:00 config

    90 -rwxr-xr-x 1 messageb messageb 22 Nov 23 2016 hmi_autotest.ini

    146 -rw-r–r– 1 root root 393 Jan 1 00:00 stdplus.ini

    I have no name!@(none) ~$ ls -li /pss2

    total 52

    65 -rwx—— 1 root root 33 Jan 1 00:00 DIAG_PSS_CODING.pss

    66 -rwx—— 1 root root 33 Jan 1 00:00 FEATURE_MANAGER_PSS_BLK.pss

    67 -rwx—— 1 root root 9 Jan 1 00:00 HMI_BT_A2DP_ONOFF_STATUS_PSS_BLK.pss

    68 -rwx—— 1 root root 9 Jan 1 00:00 HMI_BT_ONOFF_STATUS_PSS_BLK.pss

    69 -rwx—— 1 root root 9 Jan 1 00:00 HMI_BT_VISIBLE_ONOFF_STATUS_PSS_BLK.pss

    70 -rwx—— 1 root root 9 Jan 1 00:00 HMI_EXLAP_SERVER_ONOFF_PSS_BLK.pss

    71 -rwx—— 1 root root 2298 Jan 1 00:00 HMI_SYSTEM_APP_CONNECTION_PLIST_PSS_BLK.pss

    72 -rwx—— 1 root root 10 Jan 1 00:00 HMI_SYSTEM_SAFECODE_ASSEMBLY_UNLOCK_PSS_BLK.pss

    73 -rwx—— 1 root root 9 Jan 1 00:00 HMI_SYSTEM_SAFECODE_REMAINING_ATTEMPT_PSS_BLK.pss

    74 -rwx—— 1 root root 28 Jan 1 00:00 HMI_SYSTEM_SETUP_PSS_NEWBLK.pss

    75 -rwx—–而現在,一個是無限的金錢物慾,另一個是無限的單戀傻氣,兩者都極端到讓她無法平衡。- 1 root root 78 Jan 1 00:00 TM_PSS_BT_FRIENDLY_NAME_PSS_BLK.pss

    78 drwxr-xr-x 2 root root 304 Jan 1 00:00 app_data

    76 -rwxr-xr-x 1 root root 22 Jan 1 00:00 hmi_autotest.ini

    77 -rw-r–r– 1 root root 393 Jan 1 00:00 stdplus.ini

    I have no name!@(none) ~$

    看文件名猜想應當是與軟件設置裝備擺設相干的一些工具。

    再了解一下狀況/dev目次,都有什么裝備。

    I have no name!@(none) ~$ ls /dev

    apm_bios loop7 mxc_vpu ttymxc她從吧檯下面拿出兩件武器:一條精緻的蕾絲絲帶,和一個測量完美的圓規。3

    console mem mxs_viim ttymxc4

    cpu_dma_latency mtd0 network_latency ttyp0

    crypto mtd0ro network_throughput ttyp1

    event0 mtd1 null tuner_knob

    event1 mtd1ro pts ubi0

    fb mtd2 ptyp0 ubi0_0

    fb0 mtd2ro ptyp1 ubi1

    fb1 mtd3 ram0 ubi1_0

    full mtd3ro ram1 ubi2

    galcore mtd4 ram2 ubi2_0

    i2c-0 mtd4ro ram3 ubi_ctrl

    i2c-2 mtd5 random uinput

    i2c-3 mtd5ro sda urandom

    kmem mtdblock0 sda1 usbdev1.1

    kmsg mtdblock1 shm usbdev1.2

    loop0 mtdblock2 snd v850srq

    loop1 mtdblock3 spidev0.0 video

    loop2 mtdblock4 tracebuf video0

    loop3 mtdblock5 tty video1

    loop4 mxc_asrc ttymxc0 video16

    loop5 mxc_ipu ttymxc1 video17

    loop6 mxc_mem ttymxc2 zero

    fb(framebuffer)是顯存。

    event0和event1能夠是鍵盤和觸摸板。

    3個i2c接口,用處不明,能夠是設置裝備擺設功放芯片,攝像頭芯片或許觸摸板,收音機等用處。

    一個spi接口,經由過程剖析/opt/libHAL.so發明是與MCU通訊用的。

    tuner_knob,能夠與後面板兩個旋鈕相干。

    v850srq,這個看稱號就了解確定也和MCU相干,由於阿誰瑞薩的MCU代號是RH850,而這個MCU的指令集就是NECV850,IDA剛好支撐這個指令集。

    video裝備能夠就是倒車攝像頭芯片ADV7182的接口。

    再了解一下狀況etc/rc.d目次,有一些體系領導劇本,文件未幾,很好剖析。

    I have no name!@(none) ~$ ls /etc/rc.d/

    init.d rc.local rc.serial rcS rc_gpu.S

    rc.conf rc.modules rc.ts rc_mxc.S

    I have no name!@(none) ~$ ls /etc/rc.d/init.d

    boa dropbear mdev portmap udev

    depmod filesystems mdev_bak settime

    devfsd hostname modules smb

    dhcp hotplug mount-proc-sys sshd

    dhcpd inetd network syslog

    I have no name!@(none) ~$

    我可以修正此中的rcS劇本,在里面拔出一個read-t 指令,如許我就可以打斷Linux體系的領導,來制造一個failsafe形式。這個形式有什么用呢?實在就是為了避免后面的修正犯錯,招致體系直接瓦解失落了。有這個failsafe形式,我就可以回退修正。例如還沒進進終端體系就瓦解了,我只能在uboot形式恢復體系了,會很費事的。

    可是臨時這個修正沒有效,由於需求喂狗法式,這個法式在哪,是哪個法式,我都不克不及斷定……先算是一個思緒吧。

    了解一下狀況/opt目次

    I have no name!@(none) ~$ ls /opt

    AndroidAuto g_ether.ko mfid

    aoa_adapter g_file_storage.ko net_windows.sh

    asix.ko g_hid.ko nw_vmf_ctrl.dat

    audio_proc g_iap_ncm_audio.ko nw_vmf_trace.dat

    bt g_iap_ncm_eap.ko pss

    camera gresfiles pwr_agent

    carlife_daemon hal_init ringtone

    carplay_App hmi sc_db.db

    carplay_testmode.sh hmi.bak screenshot

    carplayd hmi_autotest.ini sourceme.sh

    cdc_ncm.ko i2cdetect start_carlife.sh

    clear-cache.sh iap2d start_carplay.sh

    config iperf start_mdnsd.sh

    connect_mgr launch.sh stdplus.ini

    data launch_aa.sh sysupdate

    diag lib test.sh

    diag_eol libcidb_sdk.so tools

    eol_test.wav md_adapter usbnet.ko

    exlap mdnsd vgw

    feature_config.ini media vmf

    ftpdup2.sh memtool

    這里面都是車機的利用法式,有庫,設置裝備擺設,圖片字體資本文件,各類劇本……

    先了解一下狀況正在跑的都有哪些法式吧。ps -ef

    I have no name!@(none) ~$ ps -ef

    PID USER TIME COMMAND

    1 root 0:00 init

    2 root 0:00 [kthreadd]

    3 root 0:00 [ksoftirqd/0]

    4 root 0:00 [kworker/0:0 ]

    5 root 0:00 [kworker/u:0]

    6 root 0:00 [migration/0]
    此刻,她看到了什麼?

    7 root 0:00 [khelper]

    8 root 0:00 [kworker/u:1]

    235 root 0:00 [sync_supers]

    237 root 0:00 [bdi-default]

    239 root 0:00 [kblockd]

    271 root 0:00 [imx6q-ecspi.0]

    274 root 0:00 [imx6q-ecspi.1]

    281 root 0:00 [khubd]

    298 root 0:00 [ipu1_task]

    299 root 0:00 [ipu1_task]

    327 root 0:00 [usb_wakeup thre]

    329 root 0:00 [otg_switch]

    341 root 0:00 [kswapd0]

    402 root 0:00 [fsnotify_mark]

    411 root 0:00 [crypto]

    467 root 0:00 [kapmd]

    507 root 0:00 [mtdblock0]

    512 root 0:00 [mtdblock1]

    517 root 0:00 [mtdblock2]

    522 root 0:00 [mtdblock3]

    527 root 0:00 [mtdblock4]

    532 root 0:00 [mtdblock5]

    540 root 0:00 [ubi_bgt0d]

    572 root 0:00 [vpu_wq]

    577 root 0:00 [galcore workque]

    578 root 0:00 [kworker/0:1]

    579 root 0:00 [galcore daemon ]

    580 root 0:00 [galcore daemon ]

    646 root 0:00 [scsi_eh_0]

    647 root 0:00 [usb-storage]

    723 root 0:00 [kworker/u:2]

    725 root 0:00 [kworker/0:2]

    756 root 0:00 race_daemon sda true /devices/platform/fsl-ehci.0/usb1/1-

    788 root 0:00 [ubi_bgt1d]

    792 root 0:00 [ubi_bgt2d]

    795 root 0:00 [ubifs_bgt1_0]

    798 root 0:00 [ubifs_bgt2_0]

    808 root 0:00 ./vmf

    811 root 0:00 ./pwr_agent -o -v

    812 root 0:00 ./sysupdate

    825 root 0:00 ./mfid

    833 root 0:00 -sh

    842 root 0:00 ./vgw

    848 root 0:00 [irq/283-atmel_m]

    872 root 0:02 ./hmi

    874 root 0:03 ./media

    876 root 0:00 ./ pss

    880 root 0:00 ./audio_proc

    919 root 0:02 ./bt

    921 root 0:00 ./exlap

    958 root 0:02 /usr/bin/devicemanager 5 0 /usr/bin 239 393247 1 1 0 0 0

    967 root 0:00 [race_daemon]

    981 root 0:00 ./diag

    983 root 0:00 ./diag_eol

    987 root 0:00 ./screenshot

    992 root 0:00 [flush-ubifs_1_0]

    993 root 0:00 [flush-ubifs_2_0]

    998 root 0:00 ./mdnsd -debug

    1009 root 0:00 ./connect_mgr

    1014 root 0圓規刺中藍光,光束瞬間爆發出一連串關於「愛與被愛」的哲學辯論氣泡。:00 ./carplay_App

    1021 root 0:00 ./iap2d

    1024 root 0:00 ./carlife_daemon

    1026 root 0:00 ./carplayd

    1050 root 0:00 {clear-cache.sh} /bin/sh ./clear-cache.sh

    1095 root 0:00 [flush-8:0]

    1106 root 0:00 sleep 2

    1107 root 0:00 ps -ef

    發明有良多過程,由于名字都是縮寫,很難直接猜出這些法式的用處。例如vmf、mfid、vgw、hmi、exlap、diag等等這些都是鬼?他們年夜多沒有-h –help 之類能顯示信息的參數可用,想了解他們的用處,估量是要上IDA逆向一下……

    顛末了幾天的研討,我終于了解了部門焦點法式的用處。

    他這套軟件,年夜部門都是在后臺任務的,只要少部門是QT編寫的,有界面的。例如hmi和sysupdate。此中hmi體積最年夜,他就是界面主法式,他包括了一切的圖形資本,多國說話字符串。

    其他法式基礎都沒有界面,界面實在都是在hmi中。UI過程和邏輯過程之間應用相似IPC的新聞機制,這個機制在這套體系中稱為vmf。

    阿誰vmf法式,起到一個新聞直達站的感化,vmf能夠是Virtual Message Function的縮寫?他有Usage信息,顯示的是vmffor linux version DOMAIN-SOCKET。

    /opt/lib/libvmf_client.so這個就是vmf客戶端支撐庫,良多法式經由過程挪用libvmf_client.so的nw_vmf_send/receive函數來完成跨過程的IPC新聞傳遞,這套新聞機制是基于socket。在/tmp/目次有良多127.X.X.X文件,能夠與此相干。在文章后面,我將具體剖析這套API的原型和新聞數據構造。

    I have no name!@(none) ~$ ls /tmp

    127.0.0.1 127.3.215.1 allgorpccomm1

    127.3.104.1 127.3.219.1 carlife

    127.3.106.1 127.3.241.1 devmgr_debug.txt

    127.3.106.2 127.3.246.1 diag_enter_main

    127.3.106.3 127.3.246.2 diag_initialize_OK

    127.3.106.4 127.3.40.1 eol_enter_main

    127.3.106.5 127.3.40.2 hdd

    127.3.106.6 127.3.40.4 icr_device_process.txt

    127.3.106.7 127.3.43.1 keyGenerationFile

    127.3.106.8 127.3.44.1 race

    127.3.106.9 127.3.74.1 race_key_gen_file.txt

    127.3.108.1 127.3.74.2 shm_key_gen.txt

    127.3.112.1 127.4.0.1 shm_key_index.txt

    127.3.112.2 127.4.2.1 vaf_comm_mirrorlink

    127.3.151.1 DevMgrRunning.txt var

    127.3.153.1 MFISocket vmf_trace_startup

    127.3.153.2 RPCClient1026

    127.3.213.1 RPCSocket

    pwr_agent,從名字看,顯然是電源治理相干,我一向以為就是這個過程,在不竭地與MCU通訊,喂狗。

    我用IDA把他逆了個遍,他確切有這個舉措,可是他只是結構了個新聞包,包發給了誰并不了解……他實在不但是電源治理,在/opt/launch.sh劇本中可以發明,劇本履行了vmf hal_init pwr_agent sysupdate mfid,就沒有了。實在年夜大都過程,都是由pwr_agent帶起來的,這在IDA逆向中能發明。

    .rodata:00011183 ALIGN 4

    .rodata:00011184 DCD a_Diag+8 ; ""

    .rodata:00011188 DCD a_VgwDevNull21 ; "./vgw > /dev/null 2>&1 &"

    .rodata:0001118C DCD a_PssDevNull21 ; "./pss > /dev/null 2>&1 &"

    .rodata:00011190 DCD a_MediaDevNull2 ; "./media > /dev/null 2>&1 &"

    .rodata:00011194 DCD a_Diag+8 ; ""

    .rodata:00011198 DCD a_Audio_procDev ; "./audio_proc > /dev/null 2>&1 &"

    .rodata:0001119C DCD a_BtDevNull21 ; "./bt > /dev/null 2>&1 &"

    .rodata:000111A0 DCD a_Diag+8 ; ""

    .rodata:000111A4 DCD a_HmiDevNull21 ; "./hmi > /dev/null 2>&1 &"

    .rodata:000111A8 DCD a_WifiDevNull21 ; "./wifi > /dev/null 2>&1 &"

    .rodata:000111AC DCD aCatProcDeferre ; "cat /proc/deferred_initcalls"

    .rodata:000111B0 DCD a_Diag_eolDevNu ; "./diag_eol > /dev/null 2>&1 &"

    .rodata:000111B4 DCD a_Audio_procDev ; "./audio_proc > /dev/null 2>&1 &"

    .rodata:000111B8 DCD a_DiagDevNull21 ; "./diag > /dev/null 2>&1 &"

    .rodata:000111BC DCD a_ScreenshotDev ; "./screenshot > /dev/null 2>&1 &"

    .rodata:000111C0 DCD a_Start_carplay ; " ./start_carplay.sh > /dev/null 2>&1 & "

    .rodata:000111C4 DCD a_Connect_mgrDe ; "./connect_mgr > /dev/null 2>&1 &"

    .rodata:000111C8 DCD a_Carlife_daemo ; "./carlife_daemon > /dev/null 2>&1 &"

    .rodata:000111CC DCD a_ExlapDevNull2 ; "./exlap > /dev/null 2>&1 &"

    .rodata:000111D0 DCD a_Launch_aa_shD ; "./launch_aa.sh > /dev/null 2>&1 &"

    .rodata:000111D4 DCD a_Net_windows_s ; "./net_windows.sh > /dev/null 2>&1 &"

    .rodata:000111D8 DCD a_ClearCache_sh ; "./clear-cache.sh > /dev/null 2>&1 &"

    .rodata:000111DC DCD a_Start_mdnsd_s ; "./start_mdnsd.sh > /dev/null 2>&1 &"

    hal_init,這個過程很簡略,只是挪用了libHAL.so庫中的一些初始化函數就停止了。

    int __cdecl main(int argc, const char **argv, const char **envp)

    {

    int v3; // r0@1

    int v4; // r0@1

    int v5; // r0@1

    v3 = hal_gpio_init(argc, (int)argv, (int)envp);

    v4 = hal_i2c_init(v3);

    v5 = hal_spi_init(v4);

    hal_uart_init(v5);

    return 0;

    }

    vgw,這是要害過程,我發明把自殺了,體系過一會就重啟,所以他是喂狗嫌疑對象。經由過程逆向,發明他挪用了libHAL.so里面的spi_ipcl_read、spi_ipcl_write等函數,經由過程Search And Replace搜刮全部opt目次也證明,只要vgw法式挪用了下面的spi_ipcl_read/write接口。這個vgw是什么縮寫,我沒找到,能夠是Vehicle Gateway或許VIP Gateway?感到這種說明不太靠譜……

    /opt/lib目次就是這套法式的庫文件了。

    I have no name!@(none) ~$ ls /opt/lib

    bt libOSAL.so

    libAirPlay.so libOSAL.so.1

    libAirPlayS「我必須親自出手!只有我能將這種失衡導正!」她對著牛土豪和虛空中的張水瓶大喊。upport.so libOSAL.so.1.0

    libCarPlayAudio.so libOSAL.so.1.0.0

    libCarPlayClient.so libdns_sd.so

    libCarPlayDevice.so libiap2.so

    libCarPlayPlatform.so libmfi.so

    libCarPlayPlatformDevice.so libprotobuf-c.so

    libCarPlayPlatformMFI.so libprotobuf-c.so.1

    libCarPlayPlatformScreen.so libvmf_client.so

    libCarPlayPlatformSystem.so libvmf_trace.so

    libHAL.so libximage.so

    libHAL.so.1 libximage.so.1

    libHAL.so.1.0 libximage.so.1.0

    libHAL.so.1.0.0 libximage.so.1.0.0

    libHAL.so.1.0.0.bak media

    libHAL.so.1.0.0.read mirrorlink

    libHAL.so.1.0.0.write screenshot

    重點追蹤關心此中的2個,libOSAL.so和libHAL.so,前者是操縱體系支撐庫,能夠是為了便利跨平臺開闢,將一些體系級API從頭封裝了一下,例如線程,按時器,互斥鎖等。后者是硬件層面的接口,包含uart,spi,gpio,i2c等接口的讀寫函數封裝。其他都是carplay carlifemirrorlink等法式的支撐庫。

    /opt里面良多法式都被strip失落了符號表。在IDA剖析時沒有符號輔助,很難搞懂一些函數的感化,還好這些法式都挪用了日志接口log_optional來打印日志,是以能獲知一些函數的真正的名字,以及他們的用處。好比上面這個例子:

    顯然,得知這個函數名字叫pwr_agent_vmf_rcv_handle_round_comm,日志種別是radio_updown。

    log_optional的新聞打印是受設置裝備擺設文件把持的,這些設置裝備擺設文件以過程名作為區分,位于/opt/config或/pss1/config

    例如上面這個pwr_agent的config

    I have no name!@(none) ~$ cat /pss1/config/pwr_agent.conf

    [OPTION]

    ENABLE=1 <<<<<<<<<<留意這里

    CATALOG=0

    FILE=0

    FUNC=1

    LINE=0

    PROCNAME=0

    TIME=1

    SEC_DIGIT=2

    TIME_FMTSTR=%M:%S

    SAVESD=0

    [OUTPUT] <<<<<<<<<<留意這個末節

    start_trap=1

    OPTION=1

    INI=1

    radio_updown=1 <<<<<<<<<<留意這里的名字radio_updown

    net_rtc=1

    VIP=1

    debug=1

    health=1

    DTC=1

    msg=0

    sync=0

    [TEXT]

    health=39

    radio_updown=39

    start_trap=39

    OPTION=39

    INI=39

    DTC=39

    VIP=39

    [BACKGROUD]

    health=49

    radio_updown=49

    start_trap=49

    OPTION=49

    INI=49

    DTC=49

    VIP=49

    [ATTRIBUTE]

    health=-1

    radio_updown=-1

    start_trap=-1

    OPTION=-1

    INI=-1

    DTC=-1

    VIP=-1

    可見有良多開關,把持了哪些debug新聞需求打印,哪些不打印。把一些需求的開關翻開,可以 便利逆向剖析任務。重要開關就是ENABLE=1,OUTPUT是種別把持,把持對應的種別的日志要打印出來。

    /opt/ftpdup2.sh這個劇本很有興趣思,他insmod了asix.ko,然后用ifconfig設置裝備擺設了ip地址,還啟動了ftp辦事。看來是開闢職員為了便利收集傳輸文件留上去的。這個asix.ko是ASIX的usb轉以太網芯片的驅動,良多罕見的USB轉網口的產物都是用ASIX芯片計劃,例如綠聯的USB百兆網卡。

    I have no name!@(none) ~$ cat /opt/ftpdup2.sh

    #!/bin/sh

    #insmod mii.ko

    #insmod usbnet.ko

    insmod asix.ko

    ifconfig eth0 192.168.5.1 up

    while [ $? -ne 0 ]

    do

    sleep 1s

    ifconfig eth0 192.168.5.1 up

    done

    echo network up at 192.168.5.1

    cd /bin

    if [ ! -e /bin/ftpd ]

    then

    ln -s busybox ftpd

    fi

    if [ ! -e /bin/tcpsvd ]

    then

    ln -s busybox tcpsvd

    fi

    cd /opt

    tcpsvd -vE 0.0.0.0 21 ftpd -w &

    我試著運轉了一下,確切把網卡帶起來了……

    /opt還有一些usbgadget驅動法式,例如g_ether.ko和g_file_storage.ko,由于這臺機械後面板的USB接話柄際上是CPU的USB_OTG接口,是以我猜忌開闢職員用這個驅動,直接把USBOTG虛擬成MassStorage或許網卡,與開闢機用USB線連起來就能傳文件了,是不是很有興趣思……

    別的我還在/opt/tools發明了兩個小法式

    I have no name!@(none) ~$ ls -li /opt/tools/

    total 16

    16350 -rwxr-xr-x 1 messageb messageb 7555 Nov 23 2016 vmf_rcv

    16349 -rwxr-xr-x 1 messageb messageb 7038 Nov 23 2016 vmf_send

    Search AndReplace搜刮后發明,這兩個法式并沒有被任何法式或劇本應用,應當是開闢職員在開闢或調試時留下的,有興趣思……這個vmf_send很有效,后面會用到。

    0×06進級包剖析

    不了解網友有什么渠道,拿到了還沒有發布的187B的進級包,上 傳到了網上,可以在百度網盤、或QQ群,找到這些進級包。用進級包給187A進級后,可以比原體系多出很多高等效能。好比蘋果CarPlay,百度CarLife,還有什么超等藍牙,我也沒用過,不了解詳細是怎么個超等法…

    網友放出來的這些進級包,現實上能夠都是開闢階段的測試包,有良多bug。有一個固件請求運轉內存是512M,在256M的機械上刷了會變磚。另一個固件包支撐256M內存,但也是Bug最多的版本。所以良多網友把天寶187A的機械換了內存,還有一些商家供給此類換內存辦事,或許售賣曾經換好內存的車機。

    別的有多數商家有5314版本的進級包,這個版本與上市后的187B體系版原形同,估量算是正式版。可是這個進級包在網上找不到,貌似只把握在多數以刷機為盈利目標的商家手上,且不過賣,在咸魚上賣的5314聽說都是假包。

    接上去研討一下進級包的結構,進級包實在就是一個tar包,沒有簽名。

    例如這個版本的包用7z翻開是如許

    用戶名組名是wangshi,王石?看來制作進級包的體系,有是一個叫wangshi的用戶,也許這個也是那位工程師的真正的姓名……

    看一下根目次的config.txt文件

    kernel_update:1

    bootloader_update:1

    vip_update:1

    bt_update:1

    middleware_update:1

    [file]:[opt]

    [file]:[etc]

    [file]:[usr]

    [file]:[mirrorlink]

    [file]:[lib/firmware]

    好簡略的design,一目了然啊……

    此中的vip_update實在指向的是vipImage.bin,鉅細1MB,文件末尾有哈希。這正好是瑞薩MCU的Flash鉅細,那么這個MCU在軟件外部就是被叫做VIP咯,VIP是什么呢?Very Important Processor?Vehicle InformationProcessor?

    實在假如了解了這個MCU的地址空間布局,完整可以拖進IDA逆向一下,了解一下狀況里面的詳細完成……不外顛末后來一番剖析,曾經了解了VIP的年夜致感化:CAN總線通信,成分信息,電源治理等等。成分信息包含零件號,平臺(PQ/MQB),序列號,車型(VW/SKODA)等。

    此刻了解這個MCU的代號實在就是VIP了,並且在剖析軟件法式的經過歷程中,有良多字符串提到了VIP,那么我在后面文章就以VIP來稱號吧。

    bt_update就是藍牙了,這個機械的藍牙模塊是ALPS的一款模塊,網上找不就任何材料。與CPU的通信是經由過程UART串口。進級包bt_ac_firm目次里面的文件就是藍牙把持芯片的固件了。

    middleware就是中心件了,也就是opt那些目次,想籠罩哪個目次,寫進config.txt就可以了。

    進級包還有一個設置裝備擺設文件/opt/stdplus.ini。

    [Version]

    AP_VER=5.4.1.1

    CUSTM_PQ=Y307

    CUSTM_MQB=Y307

    UBOOT_VER=uboot_1.3.2

    UIMAGE_VER=uImage_5.0.11

    KERNL_VER=3.0.35

    BT_VER = C150

    VIPAP_VER=5.4.1.1

    VIPBL_VER=2.0.2

    [Upgrade]

    PACK_TYPE=VW_PQ_PSS

    [CODING]

    BT=0

    CODINGS=0

    里面有兩個字段是必需的,Version末節的AP_VER字段,不克不及與主機/opt/stdplus.ini分歧,不然sysupdate進級時會提醒變量沖突。有Upgrade末節的PACK_TYPE,必需與主機/opt/stdplus.ini堅持分歧,不然不克不及進級。

    其他字段都是可選的,依據進級需求設定即可。

    別的進級包里面有一個script目次,里面有兩個劇本。

    看名字很不難猜得出,一個劇本是更換新的資料前履行,一個是更換新的資料后履行。

    別的還有一個有興趣思的處所,用7z解緊縮阿誰kernelImage,記事本翻開,搜Linuxversion,可以看到編譯職員的機械名和用戶名,如圖。

    看,機械名是HP-640,用戶名是changchun,莫非內核編譯職員來自長春?

    進級包的構造明白了,再經由過程逆向/opt/sysupdate,就對更換新的資料經過歷程有了進一個步驟清楚。

    0 ×07更換新的資料流程剖析

    經由過程逆向/opt/sysupdate可以對更換新的資料流程有個年夜致清楚,詳細的逆向剖析流程我未幾說了,他這個法式是qt寫的,在log_optional這個日志打印函數的輔助下,很不難逆向/跟蹤出詳細流程。流程年夜致就是:驗證包符合法規性,設置/sysupdate/flag.ini更換新的資料標志,保留包文件名,重啟體系,重啟后rcS劇本檢討flag.ini文件,得知需求更換新的資料體系,然后走更換新的資料體系流程,啟動sysupdate。sysupdate履行run_before_app_update_sh,刷內核(拜訪/dev/mtd,不是經由過程dd),調換中心件(hostapp),刷bootloader(挪用kobs-ng號令),履行run_after_app_update_sh,刷藍牙(uart傳輸),刷VIP(spi傳輸)。

    這個更換新的資料流程中的重啟,很有興趣思,不是挪用的reboot號令,而是硬重啟!

    我翻開了sysupdate的log日志效能,經由過程日志輸入,可以年夜致斷定他是經由過程挪用SendUpdateStatus(this, 1)來完成重啟的,由於打印了這個日志就就沒有日志了。

    SendUpdateStatus這個函數收回了一個vmf新聞,能夠被vgw接受了,然后被vgw轉手發給了VIP,由VIP觸發了重啟舉措。這個函數的名字是SendUpdateStatus,發送更換新的資料狀況。估量VIP還追蹤關心了更換新的資料的狀況,可以或許依據更換新的資料狀況來發生分歧的舉措,而這個狀況1,就對應著復位CPU。

    別的我還發明,一旦這個號令收回往重啟了CPU,狗就被關起來了!電源不會每隔60秒被重置一次,這是一個很有興趣思的發明!

    0×08破解通信協定

    此刻了解的情形就是,pwr_agent確定有一個按時器,每隔一段時光喂狗,sysupdate能告訴VIP更換新的資料狀況,當狀況為1時,VIP就關失落了狗。

    此刻就有了兩種措施關狗,一個是應用喂狗協定,一個應用進級狀況協定。都是經由過程協定,此刻沒有協定,怎么辦呢,想措施抓到通信協定就好辦了。

    與VIP通信的是vgw過程,IDA了解一下狀況他里面的函數,有幾個spi_ipcl_xxx的函數惹起了我的留意,看來是經由過程挪用libHAL.so的spi_ipcl_xxx讀寫函數完成通信。前后找了下,沒有可以應用的log打印。

    再了解一下狀況libHAL.so的spi_ipcl_write,居然有日志打印,這太好了……

    spi_ipcl_read也挪用了這個IPCL_Print_Msg,第三個參數把持了能否輸入日志,惋惜被傳了0,估量是一個宏開關,被編譯時指定的。這難不住我,用WinHex把對應的指令字節碼改失落。

    有兩種改法,改IPCL_Print_Msg內部call的傳參,也就是0改成1,把MOV R2指令改成 MOV R2,#0就可以了;還可以進進IPCL_Print_Msg外部往改,往失落對第三個參數的判定,也就是將後面的LDMEQFD指令改成NOP。

    由于IPCL_Print_Msg并不克不及打印出這個新聞是read仍是write,是以我應用前一種改法,改出2個文件,libHAL.so.read和libHAL.so.write,并備份原機文件為libHAL.so.bak。別的這個printf的fmt是“ %x ”,輸入內在的事務會很不友愛,我改成了 “%02x ”。

    有了如許3個文件,我就隨時可以依據一條shell號令來調換libHAL文件。

    恢復libHAL

    mount -o r emount rw / && cd /opt/lib && cp libHAL.so.1.0.0.bak libHAL.so.1.0.0

    設置IPCL read

    mount -o remount rw / && cd /opt/lib && cp libHAL.so.1.0.0.read libHAL.so.1.0.0

    設置IPCL write

    mount -o remount rw / && cd /opt/lib && cp libHAL.so.1.0.0.write libHAL.so.1.0.0

    由于我調換的是體系要害庫,為了防止過錯產生,我修正了啟動劇本rcS,參加了一個failsafe平安形式效能。改法是如許的

    如許修正后,在體系啟動時,我有一秒時光來輸出y回車來進進平安形式,避免修正/opt/lib庫文件招致體系要害過程無法啟動、體系瓦解。不外由於沒有喂狗,這個平安形式是有時光限制的,復制粘貼下面的指令能敏捷幫我復原備份文件。

    起首我調換了libHAL.so.write文件,重啟后串口終端確切打印了大批通訊報文。我發明每隔1秒都有一個8字節的報文送出,且有相似遞增序號的字節,沒錯這必定是在喂狗!

    別的我也抓到了sysupdate在挪用SendUpdateStatus(xxx,1)關狗并重啟時的8字節報文。也在下面的圖片中

    這些報文都是vgw過程經由過程spi_ipcl_write向VIP寫進的。而這些報文的現實倡議者實在并不是vgw。喂狗是pwr_agent倡議的。關狗重啟是sysupdate倡議的。

    固然我可以經由過程挪用libHAL.so的spi_ipcl_write來完成我想要的喂狗和關狗效能了,可是這要編譯一個小法式,編譯法式需求預備穿插編譯周遭的狀況,還要把這個法式放出來……呀,好費事……

    為了表現我的高端,我還進一個步驟研討了過程間的通信,也就是阿誰vmf新聞。好比這個喂狗流程應當是如許的:pwr_agent按時器,結構了一個包,發給了張水瓶和牛土豪這兩個極端,都成了她追求完美平衡的工具。vmf,vmf轉給了vgw,vgw經由過程spi喂狗。

    是不是很復雜?沒錯,廠商確切是如許design的,這套新聞也確切是如許任務的……由於我把vmf殺失落,vgw就收不到新聞,不再喂狗了。

    起首我想用sysupdate來睜開剖析任務,我感到我對這個法式清楚的更多一些。我先用IDA定位到SendUpdateStatus(int this, int arg_status)。這個函數第二個參數就是狀況值,有1、2、3、4、5、6、7……之類的,在這里關狗重啟status值為1。他結構了一個5字節的包,傳給了UpdateSendVmfMsg。

    結構的包實在就是5個字節, 8F 19 00 01[StatusByte]

    UpdateSendVmfMsg(_BYTE*arg_databuf, int arg_datalen)函數又將收到的包挪用PackVmfMsg重構了一下,然 后把重構的包挪用libvmf_client.so!nw_vmf_send_basic收回往了。先了解一下狀況包是怎么被PackVmfMsg重構的。

    char __fastcallPackVmfMsg(_BYTE arg_databuf, unsigned int arg_datalen)

    今朝只是了解了數據包的布局,可是詳細的字段寄義還不明白,例如阿誰8F是什么,19是什么,00 01有能夠是BigEndian的包長?不外經由過程穿插援用vmf的新聞處置接受函數nw_vmf_receive(inthandle, char *buf, int bufsize)不可貴出,這個8F實在是groupid,19是eventid。

    例如上面是對pwr_agent法式的nw_vmf_receive穿插援用剖析出來的log_optional。

    從這個log_optional的高低文代碼中,我得出了這個vmf的數據包構造:

    Offset Type Value

    0 byte 定值2

    20 byte groupid

    21 byte eventid

    24 word payload_len

    26 byte[] payload

    看起來很簡略,只需依照這個數據構造把包收回往就可以了。這時就可以應用後面剖析文件體系時發明的/opt/tools/vmf_send。

    這個文件很小只要7K,拖進IDA,固然沒有usage新聞,可是很輕松就逆出了他的用法:

    由下面main函數得出vmf_send的用法

    Usage: vmf_send [groupid] [eventid][payload_dec_byte0] [payload_dec_byte1] …

    有了這個號令,實際上我只需求了解groupid和eventid,就可以用vmf_send發送vmf新聞給響應的過程,把持其發生響應的舉措。例如下面剖析到的關狗重啟vmf新聞,我可以挪用vmf_send號令:

    /opt/tools/vmf_send143 25 1

    如許vgw就會收到vmf新聞,然后發送8個字節的SPI報文給VIP,觸發VIP的關狗重啟舉措。

    有了vmf的相干函數原型以及vmf新聞構造,我又逆向了pwr_agent,找到了他的喂狗法式。

    然后剖析出了 喂狗的vmf新聞構造

    groupid = 143

    eventid = 3

    payload_len = 4

    payload:

    02

    XX 每秒遞增

    01

    01 變量VipEnabled的值,由argv參數-v指定

    此刻終于可以挪用tools/vmf_send來發送喂狗新聞,我寫了一個劇本來完成后臺喂狗:

    #!/bin/sh

    while true

    do

    for seqnum in $(seq 0 255)

    do

    echo $seqnum

    /opt/tools/vmf_send 143 3 2 $seqnum 1 1

    sleep 1

    done

    done

    為了驗證這個劇本能否有用,我重啟進進failsafe形式,次序啟動vmf,啟動hal_init,啟動vgw,然后再運轉這個劇本,過了1分多鐘,狗確切被喂的很舒暢,沒有出來亂咬!哈哈!

    此刻就可以完美這個failsafe形式了,修正rcS劇本:

    read -t 1 -p "Safemode[y/N]:" safemode

    echo -e "n"

    if [ "$safemode" = "y" ];

    then

    echo "safemode"

    /opt/vmf &

    /opt/hal_init

    /opt/vgw &

    /opt/keepalive.sh > /dev/null

    exit 0

    fi

    如許體系就有了具有喂狗效能的failsafe形式,是不是很兇猛!

    0×09 后記

    至此,我曾經有了一堆PlanB,我可以安心勇敢的折騰這臺機械了……

    接上去的研討就輕松的多了。我又研討了良多有興趣思的工具,例如:

    a)導出187A原廠文件體系

    b)做了個進級包能把rootfs導出來。可是不包含藍牙和VIP固件…

    c)Hack了512M版本的固件,讓他在256 M內存上完善的跑起來了。

    d)由于進級后,車機後面板鍵位紊亂,是187B的鍵位,是以我Hack了hmi修正了鍵位。

    e)寫了個小法式天生BI TMAP并盤算哈希,做了個進級包可以調換開機Logo。

    f)做了個進級包能進進一次failsafe形式,并加載網卡驅動,啟動ftp…

    g)做個原機備份固件。

    h)有網友供給了編程器固件,從編程器固件提取uboot、kernel、rootfs。

    i)…

    等有時光我預備把下面的abcdefgh,和新研討出來的工具發在這里,作為續集。盼望這篇文章,能給異樣喜好折騰硬件折騰軟件的人帶來一些輔助……

    *本文原創作者:mengxp,屬Freebuf原創嘉獎打算,未經允許制止轉錄發載