松下預計提高美國電池廠年產能以供特斯拉需求

日經亞洲評論28日報導,松下(Panasonic)汽車零件部門執行副總伊藤好生(Yoshio Ito)在受訪時表示,車用電池能量密度越來越高、處理的難度也跟著升高,松下不能將電池賣給沒有能力肩負起產品安全控管能力的電動車製造商。他說,從需求的角度來看、電動車電池銷售額要倍增不是件難事,但在考量合格工程師人數、土地、廠房以及主管機關許可執照等因素後松下決定不去追求不切實際的目標。

伊藤指出,松下已經決定將美國電池廠年產能提升至35 GWh、現階段並無進一步擴產的明確規劃。作為特斯拉(Tesla)的獨家電池供應商,松下的任務就是供應足夠的數量給客戶。他還提到,松下計畫開發雷達和聲納技術、聚焦自駕車市場中現有車商忽視的利基需求。

官網資料顯示,2020年特斯拉超級電池工廠(Gigafactory)的年產能將超過2013年全球鋰電池產能的總和。

華爾街日報7月15日報導,加州下議院已通過規模達30億美元的電動車購車退稅折扣法案,後續還得過上議院與州長Jerry Brown這兩關。

負責起草這項法案的舊金山民主黨籍議員Phil Ting表示,加州若想落實氣候變遷目標(2025年讓150萬輛零排放車輛上路)、勢必得想辦法給電動車產業打強心針才行。根據加州空氣資源局的統計,加州已有超過25萬輛零排放汽車(包括電動車)上路、佔美國約半數的比重。

特斯拉平價電動車「Model 3」售價為35,000美元起(不含獎勵計畫)、電池續航力為345公里。特斯拉在6月23日創下歷史收盤新高紀錄(383.45美元)、7月28日以335.07美元坐收。

(本文內容由授權使用。圖片出處:Tesla)

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

為了Model 3 的「生產地獄」,特斯拉可能將再次發債籌資

隨著Model 3 車款開始正式交車,特斯拉(Tesla)的「生產地獄」也即將來臨,這意味著特斯拉將開始以非常低的現金流維持運行,為了提高能使用的現金量,馬斯克正在考慮發債籌資。

華爾街日報報導,在日前公布的第二季財報中,特斯拉的虧損幅度小於外界預期,但馬斯克(Elon Musk)也同時承認,相較起以往的車款,生產Model 3 的挑戰還會再高出許多。

根據了解,特斯拉的目標是在2018 年底前,達到每周生產1 萬台Model 3 的目標,但做為比較,去年其他車款的周產量還不到2,000 台。

「當我用『生產地獄』來形容Model 3 的生產時,我是認真的。」

儘管如此,特斯拉對於「生產地獄」的情況似乎並不陌生,它們正為了雄心勃勃的產能時間表投入大筆資金,在加州和內華達州增設工廠,並大量投入研究和開發。

第二季的財報顯示,特斯拉目前手上有約30 億美元的現金,但為了因應Model 3 的生產,特斯拉預估下半年將再花費20 億美元,這將讓特斯拉的現金部位降至10 億美元。

儘管特斯拉表示,下半年持有的現金和增加的收入應該足以涵蓋所有支出項目,但摩根史丹利分析師Ryan Brinkman 對此仍抱持懷疑。

(Source:Tesla Club Belgium via Flickr CC2.0)

對於現金部位是否足夠的疑問,馬斯克表示,為了更快速的生產Model 3,特斯拉已經和供應商談判了更好的付款條件,可以在繳交零組件的帳單之前先賣車,但馬斯克也同意,在現金部位上保有緩衝空間總是更明智的選擇。

馬斯克強調,特斯拉正有在考慮發債籌資,但是並沒有考慮增加股權。財務長Deepak Ahuja 指出,特斯拉還有8 億美元的信貸額度空間,而且從新收購的太陽能業務中,也還能獲得近7 億美元的稅收股權基金(tax equity funds)和債務。

但根據S&P 全球市調機構統計,在2017 年第一季時,包含長期票據和資本租貸(Capital Leases)在內,特斯拉已有約有96.7 億美元的未還債務,年初發售的股票和優先債更讓債務再次往上提升。

對於有著支出需求的特斯拉前景,摩根士丹利分析師Adam Jonas 如此評估:「額外的資本支出會讓投資者的眼中充滿淚水,而時間會告訴他們這是不是喜悅的眼淚。」

晨星研究(Morningstar)的分析師David Whiston 則表示,不論是特斯拉今年再次發債,或是明年再度公開籌資,都不會是需要驚訝的事情,「人們需要習慣特斯拉的『習慣』──極度仰賴資本籌集來實現野心勃勃的成長目標。」

根據了解,Model 3 在去年原本有約51.8 萬張訂單,由於交車時間持續延後,有6.3 萬筆訂單取消,目前訂單約有45.5 萬張。

對於這些取消的訂單,馬斯克表示,其實只需要再多一些努力,特斯拉可以保留下更多Model 3 的訂單,但他認為這些需求的減少並不是什麼大問題。

「這就像是經營一家餐廳,你正在賣漢堡,但目前的等待時間大約需要1.5 小時,這樣你還會鼓勵更多的人來買漢堡嗎?」

(合作媒體:。首圖來源:Tesla)

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

特斯拉強敵現身!通用Bolt銷售奪冠、續航力勝Model S

特斯拉(Tesla)電動車出現勁敵,通用汽車(GM)的電動車「Bolt」,美國銷售創佳績,七月份超越特斯拉奪下冠軍寶座。

Inside EVs統計數據顯示,七月份美國電動車和油電混合車買氣,通用Bolt首度奪冠,共銷售1,917輛。排名第二是特斯拉電動休旅車Model X,銷售1,650輛。第三是豐田汽車(Toyota)的油電混合車Prius Prime,銷售1,645輛。第四是通用油電混合車Volt,銷售1,518輛。第五為特斯拉電動車Model S。

韓媒etnews 8日報導,特斯拉和豐田都採用日本製造的電池,通用汽車則使用南韓電池。通用的Bolt、Volt表現出色,使得南韓在美國的電池市佔率月增9%、至42%,不過仍不及日本電池在美國的58%市佔率。

Bolt價格實惠,被視為特斯拉平價車款Model 3的對手。特斯拉旗下有三款電動車,Model S和Model X為豪華車款,Model 3則走平價路線。Futurism 7日報導,Bolt價格只要Model S的一半,續航力卻擊敗Model S。

美國環境保護署估計,Model S 75D充電一次應該可跑416公里,Bolt應可跑383公里。不過美國權威雜誌《消費者報導》(Consumer Reports)實測發現,Bolt續航力高達402公里,Model S卻只有378公里。

Model 3喊出3.5萬美元價碼,不過該車款加價項目多,最終價格恐怕會高出不少。MarketWatch、Fortune、芝加哥論壇報報先前報導,價格仍是考驗Model 3買氣的一大重點。Model 3起跳價為3.5萬美元,選配項目極多。以電池而言,標準配備的電池充電一次可跑220英里(354公里)。若想換成310英里(499公里)的電池,需要加價9,000美元。想搭載輔助駕駛系統「Autopilot」需多付5,000美元。想要改換車體外觀顏色,也須加付1,000美元。

晨星汽車分析師David Whiston說,問題在於Model 3用戶到底願意付多少錢?3.5萬美元只是基本款,平均價大概落在4.2萬美元,若想買足選配約需6萬美元,這不是大眾市場汽車。

通用汽車搶得頭香,旗下「便宜又大碗(售價合理、續航力長)」電動車Chevrolet Bolt 2016年底開始交貨。Bolt續航力達238英里(383公里)、勝過特斯拉Model 3(售價35,000美元)的逾215英里。特斯拉預期Model 3將自2017年下半年起開始交貨、2018年公司整體年度交貨量將可從目前的10萬台跳升至50萬台。

Thomson Reuters報導,Bolt為通用汽車、南韓電池製造商LG Chem合作開發產品、建議零售價37,495美元起(註:最多可取得7,500美元的聯邦折抵稅額、扣除後入手價相當於29,995美元)。高層透露,通用汽車最終將推出自駕版Bolt。

(本文內容由授權使用。圖片出處:Bolt)

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

特斯拉內湖總部暨服務園區開幕,體驗維修加上產學合作全都在這裡

特斯拉內湖總部暨服務園區開幕,除了繼續請政府官員站台支持特斯拉背後代表的潔淨能源,以及更新每多一台特斯拉車子上路改善了多少污染狀況,第四座超級充電站啟用之外,特斯拉展示特斯拉想給車主的潔淨印象,園區內車主的汽車和維修全在這裡,並且還會與在地廠商合作,以及產學合作的進行場合。

位於臺北市民權大橋旁的特斯拉內湖園區,為一多功能的園區。特斯拉台灣總部辦公室座落其中,而,其中還有包括大講堂和多功能會議,能夠運用從美國過來的培訓資源,與在地廠商緊密合作交流,還有本地大專院校的產學合作,一同推動永續能源和電動車的發展。

 

▲ 特斯拉內湖服務園區啟用儀式,將特斯拉的維修能量帶到台灣來。

臺灣第四座超級充電站也在特斯拉內湖園區啟用,10 座充電站為全台最大的超級充電站。未來特斯拉也會陸續在高雄、臺灣東部尋覓適當的設置地點,服務車主環島駕車的需求。目前在台灣本島彰化、雲林仍未有目的地充電站,特斯拉也會加緊腳步找到適合地點設置。

▲ 特斯拉內湖服務園區內的超級充電站。

特斯拉全球副總裁、亞太區總裁任宇翔提到特斯拉減輕環境付擔的數據,100% 的車主是換購或是加購,取代原先家裡的排氣車輛,而超過90% 的車主選擇安裝充電站,Model S 取代一般排氣車,Model X則是取代排氣房車。特斯拉累積賣出20 萬台車子,累積80 億公里的總里程,為地球節省5 億公升的汽油消耗量。

▲ 特斯拉累積達成的數據。

▲ 特斯拉的電動車技術能有效降低碳排放。

特斯拉為了打造高科技、清潔能源的印象,內湖服務園區不同於傳統修車廠,依照美國那邊的標準作業流程和要求,要做到維修、保養場地相當乾淨整潔的狀況。車主可以在這邊舒適等待車子完成保養和維修。另外內湖園區也有體驗中心和交車中心,提供想買特斯拉電動車的潛在車主體驗的地方,以及車主下訂後交車,在這裡學會特斯拉車內軟體操作。

▲ 特斯拉車子的內裝。

▲ 體驗中心展示的特斯拉電動車底盤。

▲ 特斯拉維修中心的設備。

另外特斯拉也會儘快將更多車型,如Model 3 帶進台灣。未來也將會見到特斯拉品牌的SUV、卡車、巴士。目前儘管台灣只有特斯拉電動車,任總裁強調特斯拉的其他事業,如儲能和太陽能單位,將在適當時機來到台灣。

▲ 特斯拉內湖園區也具備訓練空間,供廠商和學校在此展開訓練課程。

 

(合作媒體:。圖片出處:科技新報)

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

政府帶頭衝,印度拚當全球電動車一哥

印度媒體Indiatimes報導,印度能源部長戈雅爾(Piyush Goyal)8月16日矢言全力推廣電動車,將像之前廣推節能LED的成功經驗一般,務求讓印度成為全球電動車的領導者。

印度政府以身作則,日前已經公開招標一萬輛電動車,將用以取代公家單位的汽柴油引擎車。除此之外,印度也計畫廣佈充電站,藉以提升電動車的方便性與市場需求。

印度為改善空氣污染,此前已對電動車展現旺盛企圖心。印度能源局六月初曾發下豪語,印度2030年將只賣電動車,希望還給印度人民一個乾淨的天空。

另外,按照印度日前發佈的「全國電動車計畫」(National Electric Mobility Mission Plan),2020年印度年度電動車/油電混合車銷售量將推升至600到700萬輛。

(本文內容由授權使用。圖片出處:pixabay CC0)

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

Gogoro 正式進駐巴黎,首批400 部Gogoro 悠遊巴黎街頭

結合智慧能源與智慧交通的新創科技領導品牌Gogoro 睿能創意股份有限公司與其策略夥伴德國博世集團(BOSCH)子公司Coup 宣布,雙方在巴黎合作的Gogoro 智慧雙輪共享服務計畫17 日正式啟動,首批400 部Gogoro 已開始提供服務,並行駛於巴黎街頭。

Gogoro 與Coup 在巴黎的合作計畫引起巨大迴響,不但當地媒體踴躍報導給予極高的評價,消費者也熱烈回應早鳥計畫,紛紛開始預約。與柏林相同,這項共享計畫的價格相當平實,前30 分鐘僅需4 歐元,之後則每增加10 分鐘收取1 歐元。預估Gogoro 智慧雙輪共享服務計畫在巴黎受歡迎的程度將不亞於柏林。

Gogoro 執行長陸學森相當興奮的表示:「歐洲民眾有相當高的環境永續意識,消費者利用Gogoro 的Smartscooter 智慧雙輪進行都會通勤,不但節能減碳同時舒緩交通擁塞的壓力。Coup 的電動機車共享服務在柏林推出後廣受歡迎,現在在巴黎,同樣引起極大迴響。我們相信Gogoro 與Coup 帶動的電動機車共享服務熱潮將可以在更多城市發酵。Gogoro 和Coup 也會持續合作,專注於創新科技與永續交通之經營。」

另外在德國柏林,目前已經有1,000 台Smartscooter 智慧雙輪提供服務,未來前往柏林或巴黎,將可以考慮使用台灣之光的Gogoro 做為旅遊的交通工具之一。

(合作媒體:。圖片出處:科技新報)

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

電動車需求日盛!鋰礦產出難估、未來有短缺之虞?

採用鋰電池的電動車需求日增、電池榮景全無降溫跡象,隨著鋰礦供給愈來愈難尋、未來恐有短缺之虞。

OilPrice.com 報導,特斯拉(Tesla)內華達州的Gigafactory超級電池廠,估計一年要生產50萬顆車用電池,另外還有諸多車用鋰電池廠也在加緊趕工,顯示未來鋰礦的需求將只增不減,且大部分將來自中國。全球如今有51%的鋰電池是在中國生產,僅10%產自美國。據統計,大陸業者規劃中的車用電池廠,產能預料會在2021年底前達到120億瓦小時(GWh),是特斯拉內華達州電池廠的三倍之多。

澳洲採礦業者開始日夜趕工,挖掘鋰礦供應所需。澳洲採礦商Argosy Minerals已在2017年8月跟中國電池製造商敲定長期供應協議,其他澳洲業者也都在洽談類似合約。即使智利、阿根廷握有全球67%的鋰礦脈,但澳洲礦商努力挖掘,仍有望使澳洲成為全球重要的鋰礦產國。目前澳洲的鋰礦產能有14,300公噸,全世界產出有36,000公噸,而智利、阿根廷的產出則分別為12,000公噸、5,700公噸。

然而,採集鋰礦在技術上其實有相當難度,成本不但高昂,且由於採礦過程牽涉到蒸餾法,產出也頗難預估。Orocobre Ltd.在阿根廷本北部設立的新礦場,鋰礦產出就比預期少逾20%。

假如鋰礦產能無法順利擴充、或是新開礦場產出不如預期,那麼電動車的榮景可能因而受阻。Electrek,福斯汽車(Volkswagen)研發部主管Ulrich Eichhorn 6月底就曾預估,業界需要多達40座規模跟特斯拉Gigafactory類似的超大電池廠,才能滿足電動車需求,假如新建礦場、工廠無法如期上線,那麼市場恐陷入短缺。

根據Eichhorn的估計,到了2025年,光是福斯集團就需要用到200 GWh的車用電池,至於其他汽車製造商,屆時也會有25%的產能屬於電動車。他是以Gigafactory的年產能可達35 GWh進行推估。

(本文內容由授權使用)

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

搶進電動車市場,電容量提高的鎂電池也要分杯羹

 

雖然鋰離子電池在市場上的聲勢居高不下,但安全性太招人質疑,現在又有一款主打更便宜、更安全的新電池要跟電動車市場分一杯羹了。一款由休士頓大學研究團隊開發的新型鎂電池,標榜電容量比商用鋰離子電池高出2 倍。

鎂電池最大的缺點在於充、放電過程中,充電性能會迅速衰退,過去由於鎂電池一直難找到能存儲大量鎂離子的陰極材料,不光打破氯化鎂鍵只為儲存鎂離子是很困難的技術,以這種方式產生的鎂離子在電池內移動速度也緩慢,種種原因都會導致電池效率低下,大好前程因此遭阻擋。目前,鎂電池主要供軍事通信、氣象測候儀、海難救生設備、高空雷達儀等設備使用。

現在,休士頓大學電機電子工程學系副教授Yan Yao 團隊在《自然通訊》雜誌發表最新研究,他們設計了奈米結構的電池陰極,讓新型鎂電池大大增加4 倍存儲容量。早期鎂電池儲存容量為100mAh / g,相比之下新電池可達400mAh / g,而一般的商業鋰離子電池陰極容量則約200mAh / g。

新型鎂電池將氯化鎂注入二硫化鈦的陰極材料以儲存能量,由於保留氯化鎂鍵沒有破壞,與傳統鎂電池相比,離子擴散速度比傳統材料快許多。Yan Yao 說,保留氯化鎂鍵可使陰極儲存的電荷翻倍,不過由於氯化鎂分子較大,所以關鍵就在擴大陰極材料的開口,以便容納更多氯化鎂。

於是,研究人員動手將二硫化鈦材料的開口撐大了300 倍──雖然還是很小,從0.57 奈米增加到1.8 奈米,但這樣便足夠讓氯化鎂分子通過。大容量的氯化鎂鍵有優異速度和循環性能,也為多價離子電池的未來開闢更多可能性。

高壓鋰離子電池雖然還是鞏固自己的市占率,但其成本高、內部結構易發生破壞導致起火等潛在問題,都使其隨時可能被更便宜、更安全的鎂電池、鋅電池等篡位。

新款鎂電池的電壓在1 伏特左右(鋰離子電池的電壓3到4 伏特),它在一定程度上受電壓限制,但研究人員仍期盼鎂電池的新設計能應用在更有價值的領域。Yan Yao 說:「我們的最高宗旨就是以更低價格製造更高能量電池,特別是在電動汽車領域,要和其他電池一較高下。」

(合作媒體:。首圖為鹼性電池,圖片出處:public domain CC0)  

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

中國電動車商機夯!日產攜東風研發低價車款、2019年生產

雷諾與日產聯盟29日發布新聞稿宣布,將和東風汽車集團於中國設立一家新合資公司、攜手研發電動車,期望藉由最大限度活用雷諾、日產以及東風的核心競爭力,滿足中國市場需求。該家合資公司名為「eGT New Energy Automotive Co., Ltd.」,東風、日產、雷諾出資比重分別為50%、25%、25%。

eGT將設於中國湖北省十堰市,所研發的電動車預估將透過同樣位於十堰市的東風汽車的工廠(年產能12萬台)進行生產,開始生產時間預計在2019年。

日經新聞指出,eGT主要將研發需求走揚的低價電動車車款,日產期望藉由加強與東風之間的合作,維持電動車領域的優勢。

據中國汽車工業協會(CAAM)指出,中國已成為全球最大純電動車市場,2016年中國B電動車銷售量暴增121%至25萬6,879台,2017年1到7月期間中國純電動車產量較去年同期大增37.8%至22萬3,000台、銷售量大增33.6%至20萬4,000台。

日產會長Carlos Ghosn在6月27日舉行的股東會上表示,「日產在電動車界居領導位置。日產電動車累計銷售量超過60萬台、為美國特斯拉(Tesla)的2倍」。

日本市調機構富士經濟(Fuji Keizai)6月22日公布銷售動向報告指出,電動車在2025年以後需求將急速增加,預估2030年時電動車年銷售量將增至407萬台、超越油電混合車(2030年銷售量預估為391萬台),且之後雙方的差距將持續擴大。在中國需求增加加持下,2035年電動車全球銷售量將擴大至630萬台、將達2016年的13.4倍(較2016年增加12.4倍)。

(本文內容由授權使用。圖片出處: CC3.0)

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

Hook原理–逆向開發

今天我們將繼續講解逆向開發工程另一個重要內容–Hook原理講解。Hook,可以中文譯為“掛鈎”或者“鈎子”,逆向開發中改變程序運行的一種技術。按照如下過程進行講解

  1. Hook概述
  2. Hook技術方式
  3. fishhook原理及實例
  4. 符號表查看函數名稱
  5. 總結

一、Hook概述

在逆向開發中是指改變程序運行流程的技術,通過Hook可以讓自己的代碼運行在別人的程序中。需要了解其Hook原理,這樣就能夠對惡意代碼攻擊進行有效的防護。

 

二、Hook技術方式

2.1 Method Swizzle方式

Method Swizzle 上次已經講到,是利用OC的Runtime的特性,去動態改變SEL(方法編號)與IMP(方法實現)的對應關係,達到OC方法調用流程更改的目的。也是主要用於OC方法。

2.2 Cydia Substrate方式

Cydia Substrate 原名叫做Mobile SubStrate,主要作用為針對C函數,OC函數以及函數的地址進行Hook操作。並且有個很大的優勢,Cydia Substrate 並不是僅僅是針對iOS設計,Andriod一樣也可以使用。

2.2.1

Cydia Substrate定義了一系列的函數和宏,底層調用了objc的runtime和fishHook來替代目標函數或者系統方法。

其中有兩個函數

  • MSHookMessageEx主要用於OC方法
void MSHookMessageEx(Class class, SEL selector, IMP replacement, IMP result)
  • MSHookFunction主要用於C++和C函數
void MSHookFunction(voidfunction,void* replacement,void** p_original)

2.2.2 MobileLoader

MobileLoader主要用於加載第三方dylib運行的應用程序中。啟動時MobileLoader會根據指定的第三方動態庫加載進去,第三方動態庫也是我們寫的破解程序。

2.2.3 safe mode

破解程序的本質在於dylib,寄生於別人程序進程中。但是系統進程一旦出現錯誤,可能會導致整個進程崩潰,也可能會導致iOS程序崩潰。在Cydia Substrate 中引入了安全模式,如果一旦錯誤,三方的dylib會被禁用,便於查錯和修復。

2.3 fishHook

fishHook是Facebook提供一種動態修改鏈接Mach-O文件的工具。此利用Mach-O文件加載原理,通過修改非懶加載和懶加載兩個表的指針達到C函數的Hook的目的。

今天我們主要講解第三種方式fishHook達到更改程序的目的。

 

三、fishhook原理及實例

3.1 概述

fishhook的源碼地址為

fishhook的主要方法有兩個還有一個結構體

查看代碼結構為,將紅色圈起來部分移入到代碼中,即可使用fishhook來hook代碼。

 

 3.2 實例

3.2.1 Demo1實例1

// rebinding 結構體的定義 // struct rebinding { // const char *name; // 需要 HOOK 的函數名稱,字符串 // void *replacement; // 替換的新函數(函數指針,也就是函數名稱) // void **replaced; // 保存原始函數指針變量/地址的指針(它是一個二級指針!) // }; // C 語言傳參是值/址傳遞的,把它的值/址穿過去,就可以在函數內部修改函數指針變量的值

- (void)viewDidLoad {
    [super viewDidLoad];
     NSLog(@"123"); //rebinding結構體
    struct rebinding nslog;
    nslog.name = "NSLog";// 函數名稱
    nslog.replacement = myNslog; // 新的函數指針
    nslog.replaced = (void *)&sys_nslog;// 保存原始函數地址的變量的指針
    //rebinding結構體數組
    struct rebinding rebs[1] = {nslog};
    /**
     * 存放rebinding結構體的數組
     * 數組的長度
     */
    rebind_symbols(rebs, 1);
}
//---------------------------------更改NSLog-----------
//函數指針,用來保存原始的函數地址 (C 語言語法,函數指針類型變量)
static void(*sys_nslog)(NSString * format,...);
//定義一個新的函數
void myNslog(NSString * format,...){
    format = [format stringByAppendingString:@"勾上了!\n"];
    //調用原始的
    sys_nslog(format);
}

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    NSLog(@"點擊了屏幕!!");
}

上面的代碼運行結果如下:

3.2.2 Demo2實例2

void func(const char * str){
    NSLog(@"%s",str);
}

- (void)viewDidLoad {
    [super viewDidLoad];
    //rebinding結構體
    struct rebinding nslog;
    nslog.name = "func";
    nslog.replacement = new_func;
    nslog.replaced = (void *)&old_func;
    //rebinding結構體數組
    struct rebinding rebs[1] = {nslog};
    /**
     * 存放rebinding結構體的數組
     * 數組的長度
     */
    rebind_symbols(rebs, 1);
}
//---------------------------------更改NSLog-----------
//函數指針
static void(*old_func)(const char * str);
//定義一個新的函數
void new_func(const char * str){
      NSLog(@"%s + 1",str);
}

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    func("哈哈");
}

運行結果如下:

從上面可以看出自定義的交換方法為什麼交換不了呢?首先可以肯定的是代碼是OK的,下面我們講解原理,為什麼自定義的方法不行呢?

 

 3.3 原理探究

Mach-O文件是如何加載的?

Dyld工具動態加載,加載MachO文件完成后,開始加載依賴的動態庫,也就是通過上篇博客的image List 可看到相關的類庫。

PIC(Promrammable Interrupt Controller)位置代碼獨立,由外設發出中斷請求需要中斷控制器來處理。

Mach-O文件內部調用系統函數時:

  • Mach-O _data段建立了一個指針(也就是符號,實現指向內部的函數調用,指向了外部的函數地址),指向了外部函數(dyld),可讀可寫,當Mach-O被加載進去,就會指向所指的函數。
  • Dyld會動態的綁定,將Mach-O中的data 段中指針指向了外部的函數,也是Dyld為什麼叫做動態綁定的原因。

這也回答了上面的問題,為什麼內部/自定義的函數不能修改,只能修改Mach-O文件的外部函數,如果是另外一個動態庫或者需要動態符號綁定的就可以(符號表中能找到才可以實現)

 

下面我們是真實查看內容,通過實例

利用第一個Demo來測試,運行起來,然後查看可執行文件,通過MachoView工具

 

從圖2看出offset偏移地址為3028,也就是NSLog函數文件的偏移地址,懶加載此表時在Mach-O文件偏移地址+函數偏移的地址。

下面以Demo1查看,在Demo1打斷點,查看Mach-O函數偏移地址,通過指令image list 第一個就是Mach-O內容和地址(本人上篇博客地址即可)

Mach-O在內存的偏移地址也就是Mach-O的真實地址,發現為 0x000000010a9c5000

通過上面紅色加重算法,計算Mach-O文件Data段的函數指針

發現執行完只有就會被綁定。NSLog函數文件就會被綁定。

下面再看一下,對於屏幕點擊的,hook如下

前提是我們去除ViewDidLoad方法裏面的NSLog(@“123”)這句代碼,運行代碼,最後將斷點斷在touchesBegan裏面,此時開始看地址和內容

截圖的前兩次打印是程序運行時,但是未曾點擊touchesBegan,后兩次是點擊屏幕時斷點進入到了裏面,再看內容,打印的對象是NSLog還是myNslog,通過上面發現是myNslog,說明Hook成功。

通過上面可看出,fishhook能夠Hook c函數,是因為Mach-O文件特點,PIC位置代碼獨立造就了靜態語言C也有動態的部分,之後通過Dyld進行動態綁定的時機,在這其中我們就可以做手腳,替換自定義的方法。

fishhook是根據方法字符串的名字“NSLog”,它是怎麼找到的呢?下面將講解利用符號表查看函數名稱字符串。

 

四、符號表查看函數名稱

 再次查看Mach-O文件,查看懶加載表中的NSLog函數

懶加載表是和動態符號表是一一對應關係,通過上面發現NSLog函數時第一個,而對應的Dynamic Symbol table也是第一個,打開Dynamic Symbol table

查看Dynamic Symbol Table 第一個也是NSLog,查看Data值為7A,對應的十進製為122,然後到Symbols Table裏面查看122,如下:

 

查看Symbols Table的data值為0000009B,然後在String Table Index去看函數偏移值為0000009B的內容,如下:

 

 為什麼選擇00004F94查看NSLog呢,我們從上面得知Symbols Table的data值為0000009B,然後加上String Table的函數第一個地址為00004F04,然後將0000009B + 00004F04 = 0X4F9F,最後看00004F94裡面包含了0X4F9F,藍色內容看出是NSLog內容,也就是找到啦。完美!!!

以上過程可以在fishhook中github上有說明圖:

 

上面的說明圖也就是通過符號表查看函數名稱以及反過來也可以逆查的過程。配上說明圖,方便大家熟悉流程。

 

五、總結

上面講述了Hook的幾種技術方式以及fishhook的原理探究,以及如何讓別人的app實現自己的代碼。下面我們對此總結一下,寫了一個本篇博客的整個過程便於大家整理,希望對大家有所幫助加深理解。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整