obfuscator โอเพ่นซอร์สฟรีที่กำหนดเป้าหมาย Mono และ .NET ทั้งหมด
BitMono เป็น obfuscator C# โอเพ่นซอร์สฟรีที่ได้รับการออกแบบในตอนแรกและมีไว้สำหรับ Mono เป็นหลัก อย่างไรก็ตาม ตอนนี้คุณสามารถใช้กับแอป .NET ใดก็ได้ แต่โปรดระวังการป้องกันบางอย่างที่ทำงานบน .NET Framework บางส่วน บน .NET, บางตัวบน Mono, บางตัวบน Unity เท่านั้น
BitMono ใช้ AsmResolver แทน dnlib (ซึ่งเราใช้ในอดีต) ในการจัดการแอสเซมบลี หากคุณมีคำถามหรือปัญหา โปรดแจ้งให้เราทราบที่นี่ ดาวน์โหลด BitMono เวอร์ชันล่าสุดได้ที่นี่
คุณยังสามารถใช้ BitMono เป็นเครื่องมือในการสร้าง obfuscators แบบกำหนดเองได้ สร้างขึ้นโดยใช้ Dependency Injection (DI) โดยใช้ Autofac และปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดของ C# ล่าสุด
BitMono ทำลายเครื่องมือยอดนิยมโดยใช้เพียงแพ็คเกอร์เดียว เช่น:
ดังนั้น หากคุณจะเพิ่มการป้องกันให้กับไฟล์มากขึ้น ฉันคิดว่ามันคงจะดูเหมือนเป็นเวทย์มนตร์โดยสิ้นเชิง :D
อ่าน เอกสาร เพื่ออ่านการป้องกัน ฟังก์ชันการทำงาน และอื่นๆ
หากต้องการดาวน์โหลด BitMono รุ่นล่าสุด ให้ทำตามขั้นตอนเหล่านี้:
การกำหนดเป้าหมาย .NET 8 : หากไฟล์เป้าหมายของคุณถูกสร้างขึ้นสำหรับ .NET 8 ให้ดาวน์โหลด: BitMono-v0.25.3+e64e54d3-CLI-net8.0-win-x64.zip
การกำหนดเป้าหมาย .NET Standard : หากไฟล์เป้าหมายของคุณสร้างขึ้นสำหรับ .NET Standard คุณสามารถใช้ BitMono สำหรับ .NET Framework หรือ .NET 8: BitMono-v0.25.3+e64e54d3-CLI-net8.0-win-x64.zip
การกำหนดเป้าหมาย .NET Framework : หากไฟล์เป้าหมายของคุณถูกสร้างขึ้นสำหรับ .NET Framework ให้ดาวน์โหลด: BitMono-v0.25.3+e64e54d3-CLI-net462-win-x64.zip
การกำหนดเป้าหมายรันไทม์ Mono หรือ Unity Engine : หากไฟล์เป้าหมายของคุณถูกสร้างขึ้นสำหรับ .NET Framework และทำงานบน Mono หรือ Unity ให้ใช้เวอร์ชัน .NET Framework: BitMono-v0.25.3+e64e54d3-CLI-net462-win-x64.zip
หมายเหตุ: ตรวจสอบให้แน่ใจว่าได้เลือก BitMono เวอร์ชันที่ถูกต้องซึ่งตรงกับ Target Framework ของคุณ การใช้เวอร์ชันที่ไม่ถูกต้องอาจส่งผลให้เกิดปัญหาความเข้ากันได้
เปิดใช้งานการป้องกันอย่างใดอย่างหนึ่งในไฟล์ protections.json
: ตั้งค่า Enabled
เป็น true
BitMono.CLI <path to file>/drag-and-drop
ปล่อยการอ้างอิงในไดเร็กทอรี libs
ในพาธเดียวกับที่มี file
สำหรับสร้างความสับสนเสมอ
โครงสร้างไดเร็กทอรี obfuscation ของคุณจะมีลักษณะดังนี้:
specially_created_folder_for_obfuscation/
├─ your_app.exe
└─ libs/
├─ ImportantLibrary.dll
├─ SuperImportantLibrary.dll
└─ ...
คัดลอกไลบรารีทั้งหมด (.dll) จากโฟลเดอร์แอปพลิเคชันการสร้างและวางลงในไดเร็กทอรี libs
(หากยังไม่มีให้สร้างขึ้น) หรือแม้แต่สร้างไดเร็กทอรี libs ด้วยตัวเองด้วยชื่อที่กำหนดเอง เช่น - myLibs
จากนั้นระบุ ใน BitMono แต่ถ้าคุณจะใช้ libs
ตามค่าเริ่มต้น BitMono จะค้นหาไดเร็กทอรี libs
ดังนั้นจะช่วยประหยัดเวลาของคุณ
-f, --file Required. Set file path.
-l, --libraries Set libraries path.
-o, --output Set output path.
--help Display this help screen.
--version Display version information.
ตัวอย่างพื้นฐาน
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe -l specially_created_folder_for_obfuscation/libs
ในกรณีที่คุณมีไดเร็กทอรีชื่อ libs
อยู่แล้ว (specially_created_folder_for_obfuscationlibs) BitMono จะตรวจจับไดเร็กทอรีนั้นโดยอัตโนมัติ ดังนั้นคุณไม่จำเป็นต้องระบุอีกต่อไป แต่คุณสามารถทำได้ในกรณีที่คุณสร้างไดเร็กทอรีอื่นด้วย libs
ที่ไหนสักแห่งใน ดิสก์หรือแม้กระทั่งเพื่อ "การมองเห็น"
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe
ระบุไดเร็กทอรี libs
ที่กำหนดเอง
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe -l C: m ythings o bfuscation s uperLibsDirectory
ระบุไฟล์ libs และเอาต์พุต หากไม่มีไดเร็กทอรีเอาต์พุต BitMono จะสร้างมันขึ้นมาโดยอัตโนมัติและแม้แต่เปิดมันที่ด้านบนของหน้าจอ หากคุณต้องการให้คุณสามารถปิดการใช้งานการเปิดไดเร็กทอรีที่ด้านบนของหน้าจอใน obfuscation.json
- และตั้งค่า OpenFileDestinationInFileExplorer
เป็น false .
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe -l C: m ythings o bfuscation s uperLibsDirectory -o C: s pecially_created_folder_for_obfuscation/output
ต้องการมากกว่านี้ไหม? เพียงแค่อ่าน เอกสาร
มีปัญหาใช่ไหม? รับความช่วยเหลือเพิ่มเติมได้ ที่นี่
หากคุณต้องการสร้าง BitMono ด้วยตัวเอง - คลิกที่นี่เพื่อดูข้อมูลโดยละเอียด
คุณสามารถใช้ BitMono บนเฟรมเวิร์กได้ตามที่อธิบายไว้ด้านล่าง โปรดใช้ความระมัดระวังในการใช้การป้องกันบางอย่าง เนื่องจากบางตัวอาจใช้งานได้บน .NET Framework เท่านั้น บางตัวบน .NET (Core) เท่านั้น บางตัวบนเฟรมเวิร์กทั้งหมด บางตัวบน Mono เท่านั้น - หากการป้องกันนั้นมีลักษณะเฉพาะสำหรับแพลตฟอร์ม/เฟรมเวิร์ก คุณจะได้รับการแจ้งเตือนเกี่ยวกับ ที่.
กรอบ | เวอร์ชัน |
---|---|
.สุทธิ | 8.0 |
.สุทธิ | 7.0 |
.สุทธิ | 6.0 |
.NET Framework | 462 |
มาตรฐานสุทธิ | 2.0 |
มาตรฐานสุทธิ | 2.1 |
JetBrains ได้กรุณามอบใบอนุญาตสำหรับ JetBrains Rider IDE ให้กับผู้ร่วมให้ข้อมูลของ BitMono เครื่องมือระดับสูงนี้อำนวยความสะดวกและปรับปรุงกระบวนการพัฒนาซอฟต์แวร์อย่างมาก
0x59R11 สำหรับคนรู้จักใน BitDotNet ส่วนใหญ่ที่แตกไฟล์สำหรับไฟล์ปฏิบัติการแบบโมโน!
Gazzi สำหรับความช่วยเหลือของเขาที่ฉันถามมาก!
Elliesaur สำหรับการรู้จักของเธอใน DotNetHook ที่เกี่ยวโยงวิธีการต่างๆ
Weka สำหรับคำแนะนำ ความช่วยเหลือ และแรงจูงใจ
MrakDev สำหรับคนรู้จักใน UnmanagedString
ConfuserEx และ Forks ของพวกเขา สำหรับสิ่งต่าง ๆ ส่วนใหญ่ที่ฉันเฝ้าดูสถาปัตยกรรมของ BitMono และกลไก obfuscator เป็นแอปพลิเคชันและการแก้ปัญหาผู้ใช้มากมายซึ่งฉันจะรู้ได้ในอนาคตอันยาวนานหลังจากการใช้งาน BitMono และรายงานโดยผู้ใช้รายอื่นล้มเหลวมาก ฉันกำลังมองหาสิ่งที่น่าสนใจในแต่ละวันเพื่อพัฒนาตัวเองในด้านความรู้และ BitMono ด้วย
OpenMod แน่นอนว่า openmod เป็นแรงบันดาลใจให้กับโปรเจ็กต์นี้อย่างมากด้วยบริการและโค้ดที่สะอาดตา ซึ่งมีสิ่งที่คล้ายกันมากมายกับ openmod
Kao และบล็อกของเขา ขอบคุณบล็อกเหล่านี้มากมาย
Drakonia สำหรับ เครื่องขยายขนาดคอสตูร่า ของเธอ