July
28th,
2021
前言:
Mach-O (Mach Object file format) 是存在於Darwin, Mac OSX 與 iOS 等系統上的執行檔格式。
如果想要做 Reverse Engineering 或是更深一層的 execution file parsing 。 原本系統上有官方套件 https://pkg.go.dev/debug/macho 可以供使用,但是沒那麼清楚(好用)。 有人寫了一套 https://github.com/blacktop/go-macho 。快速玩了一下,覺得還不錯,可以看看。
Mach-O:
Mach-O (Mach object file format) 是一個廣泛被用在Darwin, Mac OSX 與 iOS 上的執行檔格式。如果需要返解析相關資訊,可以過官方的套件:
官方套件 :
https://pkg.go.dev/debug/macho
民間開發套件:
https://github.com/blacktop/go-macho
優點:
有比較清楚的 summary
如何使用:
檔案開啟可以使用 relative path 或是絕對位置。 絕對為止可以透過
realpath xxx
需要安裝 realpath 可以透過 brew install coreutils
當然也可以使用 relative path 。
範例 for blacktop/go-macho
成果
相關文章:
Mach-O 中文 wiki
Mach-O 英文 wiki
Reverse Engineering Resources
繼續閱讀
July
27th,
2021
Trello API 申請:
幾件事情快速紀錄一下,如果要用 Golang 撰寫 Trello 工具的話 (根據 Trello API Introduction):
申請 Trello API Key
Trello API Key
申請 Trello Token
https://trello.com/1/authorize?expiration=never&scope=read,write,account&response_type=token&name=Server%20Token&key=YOUR_API_KEY
使用的 Golang Package
https://github.com/adlio/trello
如何取得 Trello Board ID
https://trello.com/b/aaaaaaa/board_name.json
其中 aaaaaaa 是 Board ID(名稱,顯示在網頁上的)
board_name: 是原本 Board 名稱
透過這個方式,可以取得所有關於 Board 的名稱。 透過取得 Trello Board 數字化的 ID 可以有更多可以操作的事項。
{"id":"xxxxx","name":"board_name","desc":"","descData":null,"closed":false,"dateClosed":null, .....}
相關範例程式碼:
相關文章:
Trello API Key
Authorizing With Trello’s REST API
Trello API Introduction
繼續閱讀
July
22nd,
2021
從0到1 - 打開世界運作的未知祕密,在意想不到之處發現價值 Zero to One : Notes on Startups, or How to Build the Future 作者: 彼得.提爾 布雷克.馬斯特 原文作者: Peter Thiel Blake Masters 譯者: 季晶晶 出版社:天下雜誌出版 出版日期:2014/10/07 語言:繁體中文 ISBN: 9789862419533 買書推薦網址: 電子書: Readmoo 博客來: 購買網址 前言: 這一本是今年所讀完的第九本書。 作者Peter Thiel 是 PayPal 的共同創辦人,現在是創業基金(Founder Fund) 的合夥人。對於創業有相當多的想法的人。而這一本書則是他在史丹佛大學的一堂課,整本書的內容真的蠻像一堂課程一樣,一開始的前言談到許多過去的事情,企業的樣貌,再來談到企業成功的一些方式與如何達成的方式。最後放眼未來,期許每一位同學都能夠成為獨樹一幟的創業家。 內容簡介與心得: 史丹佛大學改變未來的一堂課 矽谷傳奇創業家、PayPal創辦人 彼得‧提爾 第一手分享 複製別人的模式比創新事物容易。 做大家都知道怎麼做的事、提供更多熟悉的東西,這是由1到n。 不過如果只複製前人的路,就無法學習到他們的精髓。 創新是由0到1。創新獨一無二,創新的時機與開創出的結果也是新鮮奇特的。 這本書講的就是創新的秘密。 這不只是一本商業書,它將帶領你穿越歷史,從哲學、經濟、商業等多元角度,解讀世界的發展脈絡,進一步分析彼得‧提爾創業的心法與思考的角度,期盼帶給讀者超越學術限制、了解更多現實世界運轉的邏輯與經驗分享,幫助你思考從0到1的秘密,從秘密中發掘機會。 彼得‧提爾(Peter Thiel)是PayPal和Palantir共同創辦人,臉書第一位外部投資人,率先注資Yelp、LinkedIn、SpaceX、Spotify、Airbnb等新創企業。他念哲學與法律,卻在科技、創投世界大放異彩;成立提爾獎學金,鼓勵年輕人休學創業,激發自己的潛力。 章節條列 01 未來的挑戰 / 02 1999年的教訓 / 03 打造有創意的獨占企業 一開始作者先提出「水平式進步」跟「垂直式的進步」,這兩個的差別是什麼呢? 水平式的進步: 由生產一個打字機,到一百台打字機。是製造過程與工法的進步。 垂直式進步: 由生產一個打字機,到一個文書處理機,甚至是變化到電腦。 相較於垂直式進步,水平式進步比較容易發生。只需要有全球化規模的公司,都可以透過擴建廠房或是降低成本的方式來讓製造量變多。進而演化出更好的工法。 而垂直式進步相對的少,往往都是一種創新思維的產生,也就是創業家的契機。 1999 所引發的矽谷掏金熱引發原因來自於 MOSAIC 瀏覽器,之後的 NESCAPE 都是造就矽谷熱潮的知名公司。網際網路的風行,讓許多家「.com」公司一夕成名,但是也隱藏許多的危機。兩千年的網際網路泡沫化就是這樣的結果,作者也建議應該要從矽谷的泡沫化學習到以下的事項: 循序漸進:不要過分樂觀高估了未來獲利。 保持精簡有彈性:業務範圍與擴充需要保持在最精簡的狀況,才能讓整個業務範圍能保有彈性。 面對競爭求取進步:保持持續進步,而不是面對競爭就是採取商業手段來獲勝(降價,或是各種銷售策略)。 專注產品而非專注銷售: 這部分跟我看的另外一本書「什麼才是經營最難的事 - 矽谷創投天王告訴你真實的管理智慧」,真正的創業家都會專注在產品本身,都會認為網際網路的通路下,需要擔心的不是銷售本身,而是產品本身。 04 競爭的迷思 / 05 後發優勢 / 06 成功不是樂透彩 商業上的競爭可以造成經濟體性的完全競爭市場,對於消費者而言是比較好的。代表面臨著比較多的選擇,有著不同價位的產品可以挑選。但是對於創業者則是不好的。競爭往往造成了許多惡性的循環。 作者打了一個比方,當初要做 Paypal 線上刷卡機制的時候。第一個提出使用手機外接刷卡機的人是 Square 的方形刷卡機,但是馬上就面臨了五六種其他業者的競爭。 半月形,圓形與三角形的讀卡機的業者 。如果因為在意對手的動作,往往會浪費了創業者的專注度。這也是為什麼許多有亞斯伯格症的創業者 容易成功,因為對於競爭對手的動作不在意,才能夠專心開發自己的產品。 「後發優勢」指的是有不少的創業的服務,一開始並沒有相關的優勢,甚至是完全沒有獲利方式的。他們就是需要到了一定的經濟規模後,才能開始談獲利。 書上舉了 PayPal 與 LinkedIn 為例子,甚至可以說公司僅兩年的獲利可能會佔了企業從開創以來的 50 % 以上的獲利。 也就是說,公司一直到了近幾年才賺錢(而且賺的非常多)。什麼樣的產業具有相關的特性: 專利技術 網路外部性 經濟規模 品牌 那麼如何打造出相關企業呢? 從小生意開始壟斷:像是 Amazon 先從差別性不大,可以做網路零售業的書本販賣開始。 擴大規模 別搞破壞: 這邊指的是,不要造成既有市場的挑戰者。 容易被許多外來勢力打壓(類似 Uber, AirBnB) 。 後來居上: 持續有耐心,等待獲利到來的一天。(類似 Amazon) 07 跟著錢走 / 08 偉大的企業都有祕密 / 09 基礎決定命運 一開始談到創投公司的獲利流程,一個好的投資案通常需要時間的累積才會有夠高的報酬,這也是為什麼許多創投公司在一開始就會倒閉的原因。許多的創投正常來說屬於『J型獲利」也就是一開始會往下,需要許多年後那些投資才會陸陸續續兌現報酬。(相反的也有可能確認失敗)。 10 組織的幫派文化 / 11 顧客不會自動上門 這邊談到一些企業文化,什麼是企業文化? 並不是大家可以待在公司不回家,可以帶狗狗上班。常常要自我思考,為什麼員工會想來你的公司,而不是其他的公司? 類似的內容與想法可以思考培養出一個企業的文化。 幫派文化跟教廷文化類似,都是由強大的創辦人影響著許多的同仁。這也是一種企業文化,企業創辦人在招募的時候都需要好好思考到相關的細節才是。 12 人類與電腦的新關係 / 13 潔淨科技與特斯拉 / 14 創業家無可取代的特質 這三個章節談到了未來的發展,潔淨科技可能帶來的未來。 最後也分享了許多創業家不同的特質。 心得: 老實說,這本書不算是很容易讀得完的書籍。可能是內容編排上,很刻意的沒有提到太多作者自身比較細的經驗部分,讓我在閱讀起來比較沒有那麼喜歡。 真的就很像是課堂書籍一樣,許多對於創業家的描述部分算是很有見解。...
繼續閱讀
July
20th,
2021
主機平台:PS4
遊戲類型:動作
台灣發售:2018-03-27
作品分級:限制級
製作廠商:Ubisoft Montreal
發行廠商:Ubisoft
(資料來源: 巴哈姆特)
很久沒來寫遊戲心得,並不是說沒有玩遊戲,而是許多遊戲都是玩到一個段落。 不然就是一個不會有結束的遊戲 (比如說:魔物獵人 MHW, MHWI, MHR ..)。 Fay Cry 系列我第一款玩的是 PS4 的極地戰嚎:野蠻紀源 (Far Cry:Primal),必須得說 Far Cry:Primal 是我喜歡的遊戲類型,除了有開放世界外,並且有技能樹可以選擇,又有野獸的寵物系統,相當的有趣。 也不小心的玩到全破,而且也讓我有了動機去買 Fay Cry5 。
不得不讚嘆 Far Cry5 的視覺處理,許多時候都覺得玩起來 PS4 的效能都被榨乾一樣。很多漂亮的山景與草原景色都襯托出蒙大拿幸福郡的美景。 關於遊戲本身有蠻多可以推薦的地方:
受歡迎的反派
不像10/10 的遊戲, Far Cry 系列的反派都相當的有個性並且受歡迎。 比如說 Far Cry 5 的就是一個幸福郡的邪教教主與他的小夥伴(兄弟姊妹)們。 雖然聽到邪教你會覺得很奇怪,但是 Far Cry 5 裡面反派卻又有自己的生存理念跟想法,卻又壞到那樣的有道理。 他們基於世界混亂的毀滅論,準備了許多的避難所,並且透過販賣毒品來擴大勢力。 然後三個兄弟又負責不同的部分,妹妹負責種植毒品,兩個弟弟一個負責獵捕好人,另外負責處罰叛徒。 每個不同的人,有著極為特殊的穿著打扮,卻又有相當特色的地方。
有點困難的瞄準系統
我個人認為他的瞄準系統有點難,就算是有開啟自動瞄準。經常還是會算得太精細而沒打到對手,打得緊張的時候就會一直死。後來也只好把難度調低(但是許多時候,還是死的不要不要的)。
開車體驗很棒
我喜歡他的開車體驗,很好玩。雖然開車跟直升機的操作方式是相反的。(有趣了吧)。 但是開車起來相當的讚,可以開個收音機來聽廣播,然後自動駕駛來看風景,是一種享受。
超級棒的支線任務
我必須得說,其實之前就有查過相關的結局內容(很讚,很值得去了解)。但是支線本身卻是常常讓我驚豔不已,比如說:
蛋蛋節要去殺牛的蛋蛋?
開車衝撞邪教徒的封鎖
外星人的任務
也有致敬之前的任務
充滿解謎狀況的災難資源箱支線任務
除了這些支線任務外,災難箱更是一個很棒的系統。 在許多地方有著為了避難時期而準備的物資。(當然還有技能點數)。
取得了相關的災難資源箱地點後,就有相當多的解謎任務,不論是
遠距離射到門鎖
將電源接起來
找到某把鑰匙
開車來當跳台
可以不解,也可以都解。(就會有更多的技能點數)。
其他小細節:
強制主線任務:
只要反抗勢力點數足夠後,直接開啟打王模式。不論你在哪?都會被抓起來開始打小王。這個有人罵,有人喜歡。 個人覺得還不錯啦。不用去找王,不過就得要知道這個模式,不然呆呆地找不到接下來幹嘛。
超難的釣魚:
釣魚不錯完,但是真的太太太太難!我放棄了。
總結
我會相當推薦這一系列遊戲,小任務的作業感很低。可以讓你放鬆的旅遊整個國度,很漂亮的景色跟優秀的支線任務。 更可以讓你喜歡上的大反派。 我應該會接下去玩 Far Cry 6。
參考
Far Cry5 wiki
極地戰嚎:野蠻紀源 (Far Cry:Primal)
極地戰嚎 5 (Far Cry 5) 攻略匯集
繼續閱讀
July
18th,
2021
前言: 各位好, 我是 LINE Taiwan 資深開發技術推廣工程師 – Evan Lin。 今天這篇文章為各位詳細解釋 「 LINE Bot 開發指南」這一份投影片文件。這一份文件是來自於 Development guidelines 的投影片,考量到在台灣還沒有正式的公布與中文化。這一次跟總部共同合作準備中文版本之外,並且特定用這一系列文章加以解釋,希望可以讓更多開發者有更多的了解。 Development guidelines 文件內容很多,本份投影片也將以五篇文章的篇幅來加以解釋。本篇文章為第六篇文章,主要講解的會是關於其他相關功能所有需要注意的事項。 文章索引: 完整投影片鏈結: https://speakerdeck.com/line_developers_tw2/line-bot-developer-guideline-chinese 希望各位可以持續關注: 關於LINE Bot 使用Webhook URL接收請求時的注意事項 發送 API 請求時的注意事項 LINE Login (本篇文章) LINE Login (補充) 其他相關功能(本篇文章) 本篇文章將專注在第一個段落,也就是 Page 47 ~ Page 30 的部分。 其他相關功能 本篇注意事項中,將會帶出以下的相關項目。 LINE URL scheme LIFF (LINE Front-end Framework) 權限管理 貼圖的使用方法 關於Emoji的發送和接收 以下開始將會逐一針對每一個頁面詳細解釋: LINE URL scheme 經常收到許多開發者類似的詢問如下: 要怎麼讓使用者直接加 OA 好友? 如何直接開啟跟 OA 的聊天視窗? 如何讓使用者開啟分享地點的功能? 如何開啟上傳照片的選項? 如何快速到開啟設置畫面?可以讓使用者更好的調整一些選項? 這些問題都是很常被開發者們詢問到,或許大家都覺得這些功能都牽扯到跟 LINE 相關的設定或是選項的時候。其實也是有提供官方的方式來讓開發者跟使用者互動的。 那麼就是 URL Scheme ,透過以下方式就可以: https://line.me/R/oaMessage/{ACCOUNT_ID}/?{TEXT_MESSAGE} 點擊連結開啟官方帳號的聊天畫面,指定的文字訊息將出現在輸入欄內。如果該官方帳號尚未被加入好友,則聊天視窗會顯示加好友畫面。 如果要填寫的訊息包含多字節時,請使用UTF-8進行URL編碼。 範例:https://line.me/R/oaMessage/linejpen/?%e3%81%93%e3%82%93%e3%81%ab%e3%81%a1%e3%81%af https://line.me/R/ti/p/{ACCOUNT_ID} 點擊連結,以進入到任何官方帳號的加入好友畫面。如果從PC開啟頁面,將顯示QRCode。 範例:https://line.me/R/ti/p/linenews https://line.me/R/msg/text/?{TEXT_MESSAGE} https://line.me/R/share?text={TEXT_MESSAGE} 開啟分享畫面,分享指定文字的訊息。如果要填寫的訊息包含多字節時,請使用UTF-8進行URL編碼。 範例:https://line.me/R/msg/text/?%e3%81%93%e3%82%93%e3%81%ab%e3%81%a1%e3%81%af https://line.me/R/nv/location/ 在與用戶聊天畫面上,將開啟分享位置資訊的畫面。 此 LINE URLscheme 不支援 1-1 和 Bot 聊天以外的形式或 LIFF Apps。 參考文章: Using LINE features with the LINE URL scheme LIFF (LINE Front-end Framework) LIFF (LINE Frontend Framework) 除了有許多強大的功能外,更是讓網頁開發者可以快速結合許多 LINE 的功能的開發套件。尤其是 LIFF v2 可以在外部瀏覽器使用的功能跟 Share Target Picker 的相關功能,都有 蠻多相關文章跟可以使用的功能都建議大家參考一下: 參考文章: 轉移你的 LIFF: 從 Replace 到 Concatenate 模式 梅竹黑客松賽前企業工作坊 – LIFF shareTargetPicker 讓我們使用 Cypress 開始為 LIFF app 撰寫單元測試 開啟 LINE LIFF...
繼續閱讀
July
11th,
2021
前言: 各位好, 我是 LINE Taiwan 資深開發技術推廣工程師 – Evan Lin。 今天這篇文章為各位詳細解釋 「 LINE Bot 開發指南」這一份投影片文件。這一份文件是來自於 Development guidelines 的投影片,考量到在台灣還沒有正式的公布與中文化。這一次跟總部共同合作準備中文版本之外,並且特定用這一系列文章加以解釋,希望可以讓更多開發者有更多的了解。 Development guidelines 文件內容很多,本份投影片也將以五篇文章的篇幅來加以解釋。本篇文章為第五篇文章,主要講解的會是關於 LINE Login 與開發時候需要注意的事項。 文章索引: 完整投影片鏈結: https://speakerdeck.com/line_developers_tw2/line-bot-developer-guideline-chinese 希望各位可以持續關注: 關於LINE Bot 使用Webhook URL接收請求時的注意事項 發送 API 請求時的注意事項 LINE Login (本篇文章) LINE Login (補充)(本篇文章) 其他相關功能 本篇文章將專注在第一個段落,也就是 Page 47 ~ Page 30 的部分。 LINE Login (補充) 本篇注意事項中,將會帶出以下的相關項目。 關於防止以 state 不法使用的對策 依照不同流程 OS 進行 LINE Login 的用戶流程範例 (iOS) 依照不同流程 OS 進行 LINE Login 的用戶流程範例 (Android) 外部瀏覽器的登入流程(示意圖) 關於轉換目標端瀏覽器的設定方法 以下開始將會逐一針對每一個頁面詳細解釋: 關於防止以 state 不法使用的對策 這邊主要是提到 state 參數的使用方式, 詳細的步驟可以參考教學部落格 如何透過 Golang 開發 OAuth2 的 PKCE – 以 LINE Login 為例 。這邊也有列出在官方文章中的使用流程說明: 有兩張圖來對照可以看得更清楚,由於 state 是網站(或是 App) 開發商所隨機產生出來的一串文字。可以做為檢查之用,避免 Open ID 的需求被中間人攻擊後發送奇怪的訊息。這邊也提供一些作為 state 的開發指南: state 文字本身應該是沒有任何意義的,無法被其他人所猜透。 state 文字每一次的認證請求應該都需要不同,才能做到保護。 參考文章: 如何透過 Golang 開發 OAuth2 的 PKCE – 以 LINE Login 為例 開發LINE聊天機器人不可不知的十件事 依照不同流程 OS 進行 LINE Login 的用戶流程範例 (iOS) 以下兩個是根據不同的 OS 進行 LINE Login 的時候產生的使用者流程的範例,因為 iOS 跟 Android 兩者有些許的差異,特地使用兩張投影片來解釋。首先在這張 iOS 的投影片裡面有敘述在 LINE 裡面跟外部瀏覽器(Safari, Chrome) 使用 LINE Login 的流程: 應用程式內瀏覽器 (LINE) : 開啟 LINE App...
繼續閱讀