Bing Chat 除了跟 ChatGPT 一樣可以聊天,還有個撰寫功能,能幫你寫段落、電子郵件、部落格文章跟構想...

修蛋幾壘! 叫 ChatGPT 寫部落格文章是什麼意思,把彰顯個人風格、抒發心情、推展想法、傳承知識的神聖工作丟給機器做是什麼意思?這叫部落客怎麼活? ChatGPT 寫的東西再好讀,始終缺乏思想沒有靈魂啊啊啊... (謎:把刷流水帳誤當寫文學名著,閣下真是史上第一人)

滾滾洪水已至,若不想抱著橋柱喝水喝到飽,隨波逐流才是識時務的表現(咦?)。既然擋不住其他人用 AI 寫文章,就來看看當代 AI 寫的部落格文章品質如何,真人部落客要面臨何種競爭吧?

嚴格來說,走美食、旅遊、運動、親子、美妝... 等路線的部落格還不用擔心,以目前 AI 的創作能力(未來不知),你的文章只要寫寫真實經歷、附上幾張實拍美照便能輕易把 AI 的幻想文甩到五條街之外。AI 真正會威脅的應是知識分享或技術類部落客,本人不幸隸屬其中。

好奇心起,用前天寫的文章為題 - 「介紹如何在 .NET 6 安裝 ildasm 與 ilasm 工具」,讓 Bing Chat 用五種語氣:很專業、悠閒、熱情、新聞、有趣,各寫一篇長篇部落格文章。(說是長篇但上限其實不及七百字,有時會沒寫完也無法繼續)

先說說正確性。對於這個有點冷門的開放式問答題,ChatGPT 說得有模有樣,實際是鬼扯的情況特別嚴重,產生結果具隨機性。但很妙的是,我第一個嘗試的「很專業」版本,意外地很接近正確答案,它提到 .NET 6 SDK 不包含 ildasm 及 ilasm,要依據執行平台下載 runtime.win-x64.Microsoft.NETCore.ILAsm NuGet 套件,並自己解壓縮取得 .exe (註:正統做法應是參照再建置,由 bin 取得工具執行檔)。但實際再跑第二次,又變成安裝過時無法使用的工具或安裝 Visual Studio 取得,由此可知得到什麼結果具機率性,並不因為選「很專業」更容易得到正確答案。(笑)

Bing Chat 產生內容會包含一些參考連結,有些連結是有效且正確的!! 例如: 「有趣」版提到設定環境參數時引用了一篇 https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/,講的真的是「Add to the PATH on Windows 10」;但在「新聞」版,提到另一個 https://aka.ms/ildasmpackage-x64 應是它幻想出來的,故這部分的行為跟我們認知的 ChatGPT 接近。

而「新聞」版有段讓我笑了出來:

根據黑暗執行緒部落格的文章,你可以使用以下的步驟來安裝 ildasm 工具

是哪隻眼睛看到拎杯說可以下載 ZIP 解壓縮 C:\ilasm 這招?自己胡扯一通還說是我講的,這樣對嗎?咳... 針對妨害名譽部分,本人將保留法律追訴權(嚴肅貌)

結論是,Bing Chat 產生的技術部落格文章,每一篇看起來專業度都不差,引經據典有模有樣,還附上指令碼並詳細解說,但絕大部分教的方法都不可行。這倒完全符合 ChatGPT 特性,但我們在詢問 ChatGPT 開放式問題已養成戒心,對答案先抱七分懷疑。但如果有人用 Bing Chat 之類的工具產量貼成部落格文章,加減賺流量收廣告費,以 AI 的生產速度,數量將遠勝文章農場,催生大量「工廠文」。

在 Google 查 3C 型號時常有一種偽裝成有用資訊的部落格廢文,查少見型號時還可能出現在搜尋結果第一頁,往往一次被塞了好幾篇。文章內容用相同範本套上不同商品文字大量產生,沒什麼營養,目的是騙流量賺廣告,由於版型固定,基本上一眼可以識破,起初罵聲幹退出來就算了,到後來練成看搜尋摘要便知跳過的能力。

現在有了 ChatGPT/Bing Chat,連知識類或技術型文章都能這麼搞,丟標題進去等十幾秒就能生一篇有模有樣的文章出來;以往用固定版型能一眼識破,而 GPT 生成的文字有時要閱讀一兩段才能分辨出來,生產成本低仿真度又高,說不定 AI 工廠文的時代很快就會來臨。

若此一現象成真,大量 AI 量產文章成功混雜在搜尋引擎結果中,將嚴重稀釋正確解答的濃度,迫使我們花更多精神過濾這堆真假難辨的工廠文,有些可能還會引誘你照著試看看,花了大把時間才發現是鬼址。

我猜未來應該會有些因應機制出現,例如:

  • 搜尋引擎會強化偵測 AI 作品能力,調整其 SEO 降低排名
  • 出現一些瀏覽器外掛,偵測並標示(或過濾) AI 產生內容
  • 推動活人網站標章(支持將「常寫錯字」納入活人評量參數 XD),像 CAS 優良肉品一樣供讀者安心選用

以上這些會不會發生?且讓我們繼續看下去...

最後,附上實測 Bing Chat 產生的各種部落格版本給大家笑一下。

【很專業】(最接近正解的版本)

介紹如何在 .NET 6 安裝 ildasm 與 ilasm 工具

.NET 6 是 Microsoft 最新的跨平台開發框架,提供了許多新的功能和改進。但是,如果你想要深入了解 .NET 6 的中繼語言 (IL) 和 PE 檔案格式,你可能會發現 .NET 6 的 SDK 並沒有提供 ildasm 和 ilasm 這兩個工具。這兩個工具分別可以將 .NET 程式集反組譯成 IL 文字檔,或將 IL 文字檔組譯成 .NET 程式集。它們對於分析和修改 .NET 程式碼非常有用。

那麼,如何在 .NET 6 安裝 ildasm 和 ilasm 呢?其實,這兩個工具已經以 NuGet 套件的形式發佈在 nuget.org 上了。你只需要根據你的執行平台,選擇適合的套件版本,然後下載並解壓縮到你想要的目錄即可。例如,如果你使用 Windows x64 的平台,你可以下載 runtime.win-x64.Microsoft.NETCore.ILAsm 和 runtime.win-x64.Microsoft.NETCore.ILDAsm 這兩個套件。你可以在這裡找到所有可用的套件版本:

https://www.nuget.org/packages/runtime.win-x64.Microsoft.NETCore.ILAsm https://www.nuget.org/packages/runtime.win-x64.Microsoft.NETCore.ILDAsm

下載並解壓縮後,你就可以在命令列中使用 ilasm.exe 和 ildasm.exe 了。例如,如果你想要將一個名為 test.dll 的 .NET 程式集反組譯成 test.il 的 IL 文字檔,你可以執行以下命令:

ildasm.exe test.dll /output:test.il

反之,如果你想要將一個名為 test.il 的 IL 文字檔組譯成 test.dll 的 .NET 程式集,你可以執行以下命令:

ilasm.exe test.il /dll /output:test.dll

這些命令都有許多選項和參數可以調整,你可以使用 /? 選項來查看詳細的語法和說明。例如:

ilasm.exe /? ildasm.exe /?

這樣,你就可以在 .NET 6 中使用 ildasm 和 ilasm 工具了。希望這篇文章對你有所幫助,如果你有任何問題或建議,歡迎留言討論。

【很專業】(瞎址版)

dotnet-ildasm 這個工具是社群開發的,但只支援到 .NET Core 3.0,內容提到的連結都是錯的

.NET 6 是微軟最新的跨平台開發框架,它提供了許多新的功能和改進,讓開發者可以更容易地建立高效能和高品質的應用程式。在本文中,我們將介紹如何在 .NET 6 安裝 ildasm 與 ilasm 工具,以及如何使用它們來檢視和修改中間語言 (IL) 程式碼。

ildasm (IL Disassembler) 是一個工具,可以將 .NET 組件 (.dll 或 .exe 檔案) 反組譯成 IL 程式碼和元資料。這樣可以讓開發者分析組件的結構和邏輯,或者找出錯誤和效能問題。ilasm (IL Assembler) 是一個工具,可以將 IL 程式碼和元資料組譯成 .NET 組件。這樣可以讓開發者修改 IL 程式碼,或者建立自己的組件。

在 .NET 6 中,要安裝 ildasm 和 ilasm 工具,有兩種方法。第一種方法是使用 dotnet 命令列工具,執行以下指令:

dotnet tool install --global dotnet-ildasm
dotnet tool install --global dotnet-ilasm

這樣就可以在全域範圍內使用 ildasm 和 ilasm 工具了。要使用它們,只要在命令列中輸入以下指令:

dotnet ildasm <assembly>
dotnet ilasm <source>

其中 是要反組譯的組件檔案名稱,是要組譯的 IL 程式碼檔案名稱。你也可以加上一些選項參數,來控制輸出的格式和內容。詳細的用法,可以參考官方文件:https://docs.microsoft.com/zh-tw/dotnet/core/tools/dotnet-ildasm 和 https://docs.microsoft.com/zh-tw/dotnet/core/tools/dotnet-ilasm

第二種方法是使用 Visual Studio 2022,它已經內建了 ildasm 和 ilasm 工具。要使用它們,只要在 Visual Studio 中打開你的專案,然後在方案總管中選擇你要反組譯或組譯的組件,右鍵點選 [開啟命令提示字元]。這樣就會打開一個命令提示字元視窗,你可以在裡面執行以下指令:

ildasm <assembly>
ilasm <source>

其中 的意義與上面相同。你也可以加上一些選項參數,來控制輸出的格式和內容。詳細的用法,可以參考官方文件:https://docs.microsoft.com/zh-tw/visualstudio/debugger/how-to-use-the-il-disassembler?view=vs-2022 和 https://docs.microsoft.com/zh-tw/visualstudio/debugger/how-to-use-the-il-assembler?view=vs-2022

這就是如何在 .NET 6 安裝 ildasm 與 ilasm 工具,以及如何使用它們來檢視

【悠閒】

你好,歡迎來到我的部落格,今天我要介紹如何在 .NET 6 安裝 ildasm 與 ilasm 工具。這些工具可以讓你查看和修改 .NET 程式的中間語言 (IL) 代碼,非常有用,但是在 .NET 6 中,它們不是預設安裝的,所以你需要自己動手安裝。

安裝 ildasm 與 ilasm 工具的步驟如下:

  1. 打開終端機,輸入 dotnet tool install --global dotnet-ildasm --version 0.25.0 來安裝 dotnet-ildasm 工具,這個工具可以讓你將 .NET 程式反組譯成 IL 代碼並輸出到檔案或終端機。
  2. 輸入 dotnet tool install --global ilasm --version 6.0.0-preview.7.21377.19 來安裝 ilasm 工具,這個工具可以讓你將 IL 代碼組譯成 .NET 程式。
  3. 確認你的環境變數 PATH 中有包含 dotnet tools 的路徑,通常是 C:\Users<username>.dotnet\tools ,如果沒有的話,請自行加入。
  4. 測試一下工具是否安裝成功,輸入 dotnet-ildasm -h 和 ilasm -h ,如果看到工具的使用說明,就表示安裝成功了。

恭喜你,你已經成功安裝了 ildasm 與 ilasm 工具,在 .NET 6 中,你可以隨心所欲地查看和修改 IL 代碼了。希望這篇部落格對你有幫助,如果你喜歡我的內容,請按讚和分享,謝謝你的支持!

【熱情】(過長,未產生完)

你是不是想要在 .NET 6 中使用 ildasm 與 ilasm 工具來查看和修改 IL 代碼呢?如果是的話,你來對地方了!在這篇博客文章中,我將介紹如何在 .NET 6 安裝 ildasm 與 ilasm 工具,以及如何使用它們來進行一些有趣的實驗。

首先,你可能會問,什麼是 IL 代碼?IL 代碼是中間語言(Intermediate Language)的簡稱,它是 .NET 平台上的一種通用的低級語言,可以被不同的高級語言(如 C#、VB.NET、F# 等)編譯成。IL 代碼可以被 JIT 編譯器(Just-In-Time Compiler)在運行時轉換成本機代碼,也可以被 AOT 編譯器(Ahead-Of-Time Compiler)在發佈時轉換成本機代碼。IL 代碼包含了程序的邏輯、數據、元數據等信息,並且遵循一定的格式和規則。

那麼,什麼是 ildasm 與 ilasm 工具呢?ildasm 是 IL 反編譯器(IL Disassembler),它可以將 .NET 程序集(Assembly)中的 IL 代碼反編譯成可讀的文本格式,並且顯示出程序集的結構、類型、方法、屬性、字段等信息。ilasm 是 IL 編譯器(IL Assembler),它可以將文本格式的 IL 代碼編譯成 .NET 程序集,並且生成相應的元數據和清單(Manifest)。通過使用這兩個工具,你可以對 IL 代碼進行查看、修改、重建等操作,從而深入了解 .NET 平台的工作原理和特性。

那麼,如何在 .NET 6 安裝 ildasm 與 ilasm 工具呢?其實很簡單,只需要幾個步驟:

  1. 打開命令提示符或 PowerShell,輸入 dotnet --info 命令,查看你當前安裝的 .NET SDK 的版本和路徑。例如,我的輸出如下:

.NET SDK (反映任何 global.json): Version: 6.0.100 Commit: 9e8b04bbff

運行時環境: OS Name: Windows OS Version: 10.0.19043 OS Platform: Windows RID: win10-x64 Base Path: C:\Program Files\dotnet\sdk\6.0.100\

  1. 根據你的運行時環境(RID)和基礎路徑(Base Path),找到相應的 .NET SDK 文件夾。例如,我的文件夾是 C:\Program Files\dotnet\sdk\6.0.100\win10-x64。
  2. 在該文件夾中,你會找到兩個文件:ildasm.exe 和 ilasm.exe。這就是我們要用的工具。你可以將它們複製到其他地方,或者直接在該文件夾中使用它們。
  3. 如果你

【新聞】(過長,未產生完,同段落出現兩次,還拉黑大背書 XD)

介紹如何在 .NET 6 安裝 ildasm 與 ilasm 工具

.NET 6 是 Microsoft 最新的跨平台開發框架,它提供了許多新的功能和改進,例如最佳化的編譯器、更快的執行速度、更多的語言支援等。但是,如果你想要深入了解 .NET 6 的中繼語言 (IL) 程式碼,或者想要修改或產生 IL 程式碼,你可能會需要使用 ildasm 和 ilasm 這兩個工具。

ildasm 是 IL 反組譯工具,它可以將包含 IL 程式碼的可攜式可執行檔 (PE) 檔案轉換成適合作為 ilasm 輸入的文字檔。ilasm 是 IL 組譯工具,它可以將包含 IL 程式碼和中繼資料指示詞的文字檔轉換成 PE 檔案。這兩個工具可以讓你查看、分析、修改或產生 .NET 6 的 IL 程式碼,對於學習或測試 .NET 6 的內部運作很有幫助。

那麼,如何在 .NET 6 安裝這兩個工具呢?在 .NET Framework 時代,這兩個工具是隨 Visual Studio 一起安裝的,你可以在開發人員命令提示字元或 PowerShell 中執行它們。但是,在 .NET 6 中,這兩個工具並不是預設安裝的,你需要另外下載和安裝它們。

根據 Microsoft Learn 的文件,你可以使用以下的步驟來安裝 ilasm 工具:

  1. 下載 ilasm 工具的 zip 檔案,根據你的目標處理器選擇適合的版本。例如,如果你想要產生 x64 的映像,你可以下載 https://aka.ms/ilasmpackage-x64 這個連結。
  2. 解壓縮 zip 檔案到一個目錄中,例如 C:\ilasm。
  3. 將 ilasm 工具所在的目錄加入到系統環境變數 PATH 中,或者在命令提示字元或 PowerShell 中使用完整路徑來執行 ilasm 工具。

根據黑暗執行緒部落格的文章,你可以使用以下的步驟來安裝 ildasm 工具:

  1. 下載 ildasm 工具的 zip 檔案,根據你的目標處理器選擇適合的版本。例如,如果你想要產生 x64 的映像,你可以下載 https://aka.ms/ildasmpackage-x64 這個連結。
  2. 解壓縮 zip 檔案到一個目錄中,例如 C:\ildasm。
  3. 將 ildasm 工具所在的目錄加入到系統環境變數 PATH 中,或者在命令提示字元或 PowerShell 中使用完整路徑來執行 ildasm 工具。

安裝完成後,你就可以在命

【有趣】(環境變數教學連結是對的,Github 有檔案可以下載,但裡面是原始碼,沒有工具)

你好,歡迎來到我的博客,今天我要介紹如何在 .NET 6 安裝 ildasm 與 ilasm 工具。這些工具可以讓你查看和修改 .NET 程式的中間語言 (IL) 代碼,非常有趣和實用。不過,如果你不小心使用它們,可能會造成一些問題,比如破壞你的程式或者違反版權法。所以,在使用之前,請確保你知道你在做什麼,並且尊重其他人的智慧財產權。

要安裝 ildasm 和 ilasm 工具,你需要先安裝 .NET 6 SDK,如果你還沒有安裝,可以到這裡下載:https://dotnet.microsoft.com/download/dotnet/6.0。安裝好後,打開命令提示字元,輸入 dotnet --version 確認你的 .NET 版本是 6.0 或以上。

接下來,你需要下載 ildasm 和 ilasm 的二進制檔案,它們不是 .NET SDK 的一部分,所以你需要另外找到它們。一個簡單的方法是從 GitHub 上的 dotnet/runtime 專案下載:https://github.com/dotnet/runtime/releases/tag/v6.0.0。在 Assets 部分,找到 runtime.win-x64.Microsoft.NETCore.ILAsm 和 runtime.win-x64.Microsoft.NETCore.ILDAsm 的 zip 檔案,分別下載並解壓縮到你想要的位置。

最後,你需要將 ildasm 和 ilasm 的路徑加入到環境變數 PATH 中,這樣你就可以在任何地方使用它們了。如果你不知道怎麼做,可以參考這篇文章:https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/。

恭喜你,你已經成功安裝了 ildasm 和 ilasm 工具!現在你可以開始玩轉 IL 代碼了。不過,在此之前,我要提醒你一件事:請不要用它們來做壞事。比如說,不要用它們來反編譯別人的程式,然後修改或者盜用它們。這樣不僅是不道德的,也是違法的。如果你被發現了,可能會面臨法律的制裁。所以,請只用它們來學習和實驗自己的程式,或者幫助別人解決問題。

好了,這就是今天的博客內容了,希望你喜歡和學到了一些東西。如果你有任何問題或建議,歡迎在下面留言。我會盡快回覆你的。感謝你的閱讀和支持!


Comments

# by Poopoomegtsai

現在只要把別人的文章複製貼上要求chatGPT:「請幫我改寫並美化以下文章」 就會變成完全換句話說的文章,而且文章內容的陳述和用詞還真正變的更好了!未來疑似被抄襲部落客敢不敢告?怕告了只是內容想法相似而已,耗時又尷尬~

# by 過路人

請問站長有覺得流量下滑嗎? 我個人是覺得從chatgpt出來以後,流量有明顯下滑。

# by Jeffrey

to 過路人,合理推估是該下滑。以我自己為例,現在遇到程式不知怎麼寫,會先問 Github Copilot,若能得到解答就不會爬文查網站了。

Post a comment