音樂
之前就有聽過一次這張專輯,不過那時沒有很認真聽,直到最近搭客運時隨機播放偶然聽到這首,歐幹,我當時表情大概就是「酸梅臉 + 笑臉 + 驚恐」的綜合體。
其實前面也都還好,直到他「炫」了一下它那超猛的 V-Max Engine,最後還帶我們一路狂飆。還好那時我坐在最後面,旁邊也沒有人,我才可以一直跟著「蹦蹦砰噹」點頭,然後一邊憋笑(畢竟真的太荒謬了)。
聽完不得不感嘆一句:「Yamaha V-Max Engine 太猛了」
意外翻到的 Drone 專輯,雖然是 Drone,但整體其實非常多變,有些片段聽起來也挺複雜。不過最後一首差點把我嚇死 x) 怎麼跟 Hyper Light Drifter 的 OST 同個調性啊,你們音量扭都沒有極限的 484?
潤少那邊好好笑又好洗腦,這禮拜把潤少的所有歌都聽一遍了,現在每天腦袋裡面都會出現他的聲音 … 這沒什麼好說的吧,這種音樂跟著無腦搖就對了 xD
原本還想買蛋堡的《家常音樂》,結果鼓起勇氣點了才發現無法下訂 QQ。
文章
這點我也很有共鳴 www。我以前也很喜歡追求大品牌的故事,國中國小都很羨慕那些穿 Nike 鞋、買名牌運動球衣的人,高中有錢以後,因為品牌迷信買了 iPad 和 iPhone,一半是被他的生態圈吸引、另一半只是想讓自己看起來很牛逼。前半部份,在發現用了也沒有讓效率變高後就不再輕易相信那種鬼東西了。後半部份,則是在發現根本沒人在乎以後,也跟著不在乎了。
現在我都是為某樣東西能用很久而感到自豪。我對於同個手機能用超過五年、錢包能用超過七年感到非常驕傲!不過也只是換一種優越感而已啦,就是「哇你看,同樣的東西,你們用多久就要換掉了,但因為我有好好珍惜,所以他到今天都還能完美達成任務!」的優越感。
不過也因為用了很久,所以對他們有一些寄託,就像《物裡學》在前言講的一樣吧。我不只把它們當作工具,而已經是我自我的一部分了。
Quote
人不僅創造了各式各樣的物件,同時也被各式各樣的物件,塑造了自己。是以,我們對待事物的方式與態度,也會展現出我們和他人與自己的關係。當一個人藉由採集收納物品,來堆疊形塑自我;物品便會在參與這個人日常生活的同時,也獲得獨特的新生命。狹義的消費,並非連結人和物的唯一方式,還有更多複雜的記憶、情感、思緒、想像……在時空交錯的旅程中,深刻銘記。
這真的超猛,什麼都可以翻,比 OpenAI 的 Translate with ChatGPT有料多了。不過這種產品最麻煩的就是 Prompt Injection 的問題了,但又覺得 Prompt Injection 只要是大語言模型就不可避免。就像針對恐部份子,政府總是想得到各種「強化審訊」的法子可以讓他招供一樣。你總是有方法可以讓大語言模型從它的角色扮演遊戲中出戲。
原本想說既然 Kali 也是基於 Debian 的系統,那如果把 Kali 的 sources.lists 加到 Ubuntu 裡面,兩者豈不就可以二何一了?
最後這篇文章回答了我的問題,確實可以這麼做,但就是要冒和 pip install -g <package> --break-package-system 一樣的風險。後來也發現兩者其實不同。 Kali 是追蹤 Debian Testing 分支,Ubuntu 則是基於 Debian Unstable 建立的發行版本。
此外它還提到許多 Debian 用戶應該遵守的指南,像是「不要安裝無法在 Stable 儲存庫找到的套件」、「應該用 checkinstall 而不是 make install」、「請閱讀手冊而不是輕信網路上隨便一個人給的建議」之類的,真的很有 Debian 用戶的風範。
此 Wiwi 非比 Wiwi。
剛剛我點進去發現 Wiwi 換封面了!
LLM
Anthropic - How AI assistance impacts the formation of coding skills
Judy Hanwen Shen, Alex Tamkin - How AI Impacts Skill Formation
這篇論文發現,對於有經驗的程式設計師而言,使用大語言模型來幫忙非但不會增加效率,而且還會大幅降低學習成效,使經驗無法有效的累積以解決下次的問題。
根據下面圖表可以看出,對於只有 1-3 年經驗的菜鳥,有無 AI 輔助確實會影響花費的時間,且不用 AI 對於理解還不見得有幫助(雖然 1-3 年經驗的樣本數只有兩人)。不過更明顯的是,只要有點經驗的程式設計師,用 AI 的提昇也沒有很明顯,而不用 AI 的組別測驗分數卻明顯要更高。

針對「用 AI 卻沒有更快」這點,論文指出,因為有些受測者同時也花了大量的時間構思提示詞和與 AI 互動,這些花費的時間,抵銷了 AI 帶來的效率優勢。根據下圖可看出,有用 AI 可能在更短的時間內,就達到和沒用 AI 的人一樣的認知水平。但靠 AI 下限也可能變得很低很低,而不用 AI 雖然會花多點時間,但到達上限的機率也更高。
Quote
Since participants could ask the AI assistant as many questions as time allowed, a handful of participants asked more than five questions and spent up to six minutes composing a single query during this 35-minute assignment (Figure 12).5 Since the median completion time is only 19 minutes in the AI condition, spending up to 6 minutes composing a single query amounts to a significant amount of the total time spent interacting with the AI assistant. Although this effect might be due to the short duration of our task, Becker et al. also found a slowdown effect for expert coders on longer tasks when participants waiting for AI-written code may become distracted.

筆者自己的經驗是,有時花點時間看手冊,就可以學完要和大語言模型對線很久才能取得的知識量。但有時我也不想花那個時間去看手冊,畢竟只是想要簡單修復某些問題而已,我以後預計也完全不會想要用到、也不想了解。就看你需不需要在那個領域「積累知識」吧?
我覺得「你學過的每一樣東西,你遭受的每一次苦難,都會在你一生中的某個時候派上用場」這句話是想要鼓勵在困境的人不要放棄的理由,完全不能當作「要把握每個學習的機會」。除非你的領導者想要拿這句話來 PUA 你去碰更多髒活。
滲透測試
教你怎麼把 Reverse Shell 升級成互動式 TTY。這裡再介紹一些升級成完整的 Shell 的方法:
$ /bin/sh -i
$ perl —e 'exec "/bin/sh";'
$ ruby: exec "/bin/sh"
$ awk 'BEGIN {system("/bin/sh")}'
$ find / -name nameoffile -exec /bin/awk 'BEGIN {system("/bin/sh")}' \;
$ find . -exec /bin/sh \; -quit
$ vim -c ':!/bin/sh'逆向工程
HackadayU - Reverse Engineering with Ghidra with Matthew Alt
蠻完整的教學系列,總共分成四個部份:
- 基本的計算機組織知識和組語語法
- 組合語言的控制流程、函式呼叫、呼叫慣例等等
- 透過組語去看 C 語言的特有功能
- 動手玩 Ghidra

解 Pwn 還能有可愛的 ASCII Art … 基本上就是利用 Buffer Overflow 完成 ROP Gadget 鏈攻擊。不過作者還提到一個問題:
Quote
However, progressing to the next instruction resulted in a segmentation fault within libc.
(gdb) ni Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7c750d0 in ?? () from ./glibc/libc.so.6 => 0x00007ffff7c750d0: 0f 29 4c 24 10 movaps XMMWORD PTR [rsp+0x10],xmm1 (gdb)
在這篇文章中作者提供了詳細的解釋。某些 GLIBC 會在特定函式中使用 movaps 把資料移動到堆疊上。在 64-bit 系統中,呼叫慣例要求執行 call 以前堆疊必須要為 16 Bytes alignment。當 movaps 操作未對齊的資料時,會觸發 General Protection Fault。因此要記得在 ROP 中填充一個 ret 指令(或其他,隨便)。這篇文章剛接觸 ROP 的玩家去看必定收穫良多。
教你一些在 Shellcode 中規避 Bad Characters 的方法。
RazviOverflow - Reverse Engineering: Cutter installation, configuration and customization
之前一直都是用 Ghidra,直到最近才發現 radare2 這個工具,真的太好用辣,而且又是酷酷的 CLI 所以可以裝逼。
當然它也是有 Frontend,這部影片就教你怎麼快速的啟用一些好用的設定。作者十分的風趣,它另外的 Pwn 教學系列也非常厲害,推薦有興趣的讀者可以看看~。
硬體駭侵
Sebastian Vasile, David Oswald, Tom Chothia - Breaking All The Things
一篇 2019 年的論文,作者發現,有 45% 的硬體只要連接 UART 就可以取得韌體。作者指出,攻擊者可以透過 UART 試著取得 Root Shell、連接 JTAG 燒錄器讀取 MCU、或是直接從 SPI Flash 透過編程器提取韌體。
作者也分別用了幾個設備來示範,其中防禦做的最完善的是 Amazon 的一款名為 Echo Plus 的喇叭。該設備關閉了 UART 的輸入功能,且封鎖了其他簡單的介面,最後透過連接 eMMC 測試點才得以取得韌體。該設備甚至在開機的每個階段都會驗證下個階段的數位簽章,也就是說,若透過 GPL Code 修改韌體,就算寫入也會因為簽章失敗而拒絕開機。
作者在最後也提出了相應的防禦建議:
- 出廠前應當完全停用 UART 的互動功能,並要求輸入獨立的唯一密碼
- 必須永久熔斷相關的 JTAG 腳位,或設定密碼保護 JTAG(關於這點,有篇叫做 A Secure JTAG Wrapper for SoC Testing and Debugging 的論文提出了動態校驗的保護設計)
- 晶片應內建外部記憶體加密機制,使攻擊者就算從外部抽取韌體,資料也會呈現亂碼
書籍
最近聽 Invicible Cities,發現原來這是他們為 Leo Warner 改編自《看不見的城市》小說的同名劇場所創作的音樂。(好繞口)。蠻喜歡這張專輯的,後來發現二手書店就有賣這本小說,想說就去買本來拜讀一下。所以這禮拜有去逛逛書店,意外給我挖到寶藏!!!
之前在圖書館就有「從頭看過一遍」(這本書至少要從頭看四遍才可能單純看完全部內容 ;) ),超級喜歡它的概念的。結果意外在書店被我看到(畢竟它這麼大一本其實很明顯),過程大概是這樣的:
「喔這裡居然有這本耶!我記得之前在書店看要賣 900 塊」 「喔書況還不錯耶。」 (把書翻到背面看價格 (105 「蛤?????」 (再看一次 (沒錯,105 (又反覆確認了幾次 「等等不是幹幹幹幹,真的假的,這麼精美的書,真的只賣一百塊???」 「而且如果是在二手書店掏到的話,反而更契合這本書的劇情耶」 「喔幹賺爛了賺爛了賺爛了賺爛了賺爛了」
xD

兩人在邊角橫跨十幾年的眉批、互相通信的明信片、夾在書中的書信、臨時在餐巾紙上畫的地圖 … 直到現在,我還是不敢相信我只花了一百塊就買到了這些 …
稍微看了一下,感覺不如《徹底研究 C 語言指標(經典修復版)》要來的詳細,但指標該講的也都有涵蓋到,加上價格也很便宜,就直接買了。
這才是我去書店的主要原因 www
之前在《在互聯網上,什麼該說,什麼又不該說?》這篇文章就有提到這本書,現在終於看完了。稜鏡計畫、魔術方塊、SD 卡 … 除了這些關鍵字以外,貫穿全文的就是這句話:
Quote
美國這個國家已變成買新機器取代故障機器比找專家修理來得便宜,而且一定比自己去找零組件設法修理來得便宜。單憑這項事實便幾乎保證會出現科技暴政,助紂為虐的不是科技本身,而是每天使用卻不了解的所有人。拒絕讓自己了解你所依賴的設備運作與維修,即是被動接受暴政及其條件:當你的設備正常運作時,你也正常運作,但是當你的設備故障,你也會故障。你擁有的物品反過來擁有了你。
其實筆者認為,理解自身的極限,把專業的技術放心交給專業的人負責,這點完全沒有任何問題。不過有時,我們也過度的輕視自己的隱私,把自身的一切連同技術一起交給了第三方。
而且不得不說,即便筆者身為資訊工程系出身的學生,假設電腦故障,除了基本的零件替換或焊接以外,我也缺乏電路排查的能力。如果今天 Gemini 等其他所有大型語言模型故障,我完全沒有辦法完成任何大型專案。假設沒了各種搜尋引擎,如果要找資料,我大概會先淹死在圖書館的書海裡。而且如果他們今天真的在監聽我,我大概也完全不會知道 …
不過比較合理的解法,應該是讓權力不完全集中在一個組織上?若今天 Gemini 故障,我也可以轉向本地大語言模型。如果 Google 出了變故,我也有很多其他的搜尋引擎可以選擇。而且最重要的,我也要有全力選擇到底要交出什麼東西(但幾乎不可能)。