1 คะแนน โดย GN⁺ 2025-10-17 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เนื่องจากปัญหา ความไม่เสถียรอย่างรุนแรงของแอป Kindle ผู้เขียนจึงพยายามนำอีบุ๊กที่ซื้อจาก Amazon ไปอ่านด้วยรีดเดอร์ตัวอื่น
  • ระบบ DRM บนเว็บของ Amazon ใช้การป้องกันหลายชั้นและการแมปอักขระแบบสุ่ม เพื่อป้องกันซ้ำซ้อนหลายระดับ
  • ใช้วิธี แมปฟอนต์ที่ต่างกันโดยสิ้นเชิงในทุกคำขอ ทำให้การแฮ็กแบบทั่วไปทำได้ยาก
  • ผู้เขียนพัฒนาวิธีคืนค่า glyph ที่ถูกสุ่มทั้งหมดกลับเป็นอักขระจริง ด้วยการแฮชจากภาพและ การจับคู่ฟอนต์ด้วย SSIM
  • สุดท้ายสามารถสร้างโซลูชันสำหรับกู้คืนและเก็บถาวรหนังสือที่ซื้อมาได้อย่างสมบูรณ์ในคลังอีบุ๊กส่วนตัวอย่าง Calibre

TL;DR

  • หลังซื้ออีบุ๊กเล่มแรกจาก Amazon ผู้เขียนไม่พอใจอย่างมากกับ ความไม่เสถียรของแอป Kindle บน Android
  • เดิมแค่อยากอ่านแบบออฟไลน์อย่างอิสระ แต่กลับพบว่า ไม่สามารถดาวน์โหลดและสำรองข้อมูลได้ จึงรู้สึกไม่สะดวกอย่างมาก
  • ระหว่าง วิเคราะห์ระบบ DRM ของเว็บรีดเดอร์ Amazon ก็พบกับโครงสร้างการสุ่มและการแมปตัวอักษรที่ซับซ้อน
  • ผู้เขียนแก้ปัญหาการสุ่มได้ด้วย วิธีแฮชภาพและการจับคู่ฟอนต์ และกู้คืนหนังสือที่ตนเป็นเจ้าของได้สำเร็จ
  • เมื่อใช้โค้ดนี้ ผู้เขียนย้ำจุดยืนเรื่อง ความสำคัญของสิทธิความเป็นเจ้าของและสิทธิในการสำรองข้อมูล ของหนังสือที่ซื้อมา

Amazon ทำให้เรื่องนี้กลายเป็นเรื่องส่วนตัว

ครั้งเดียวที่ฉันพยายามทำทุกอย่างให้ถูกต้อง

  • เดิมทีผู้เขียนมักได้อีบุ๊กจากช่องทางที่ไม่เป็นทางการ แต่เพื่อสนับสนุนผู้เขียนหนังสือ จึงลองซื้ออย่างถูกต้องจาก Amazon เป็นครั้งแรก
  • แต่พอเปิดหนังสือในแอป Kindle ก็เกิด การแครชซ้ำ ๆ จนอ่านแทบไม่ได้

ฉันแค่อยากอ่านหนังสือของฉัน

  • เพราะแอปไม่เสถียร ผู้เขียนจึงพยายามใช้ เว็บรีดเดอร์ แต่พบว่าถูกปิดกั้นทั้งการดาวน์โหลดแบบออฟไลน์และการใช้งานกับรีดเดอร์ภายนอก
  • ไม่สามารถ เชื่อมกับคลังส่วนตัวอย่าง Calibre, สำรองข้อมูลไม่ได้, และแม้แต่ Amazon ก็ลบออกได้ทุกเมื่อ
  • จึงตระหนักได้ว่าในทางปฏิบัติ มันคือ การเช่าใช้งานโดยไม่มีความเป็นเจ้าของจริง

มันกลายเป็นเรื่องส่วนตัว

  • แม้จะขอคืนเงินหรือหันไปใช้ช่องทางไม่เป็นทางการก็ได้ แต่เพื่อพิสูจน์ สิทธิความเป็นเจ้าของหนังสือที่ซื้อมา ผู้เขียนจึงตัดสินใจรีเวิร์สเอนจิเนียร์เว็บไคลเอนต์ด้วยตัวเอง

  • ระหว่างวิเคราะห์คำขอเครือข่ายใน Kindle Cloud Reader (เว็บ) ผู้เขียนพบเอนด์พอยต์ /renderer/render

  • เงื่อนไขที่ต้องใช้ในการดาวน์โหลด

    • คุกกี้เซสชัน (สำหรับการล็อกอิน Amazon)
    • โทเค็นการเรนเดอร์ (รับมาจาก API startReading)
    • โทเค็นเซสชัน ADP (สำหรับการยืนยันตัวตนเพิ่มเติม)
  • เมื่อส่งคำขอด้วยเฮดเดอร์และคุกกี้แบบเดียวกับเบราว์เซอร์ ก็จะได้รับไฟล์ TAR

  • ตัวอย่างองค์ประกอบภายในไฟล์ TAR

    • page_data_0_4.json : (ข้อมูลข้อความ แต่จริง ๆ แล้วไม่ใช่ข้อความ)
    • glyphs.json : คำจำกัดความ SVG ของตัวอักษรทั้งหมด
    • toc.json : ข้อมูลสารบัญ
    • metadata.json : เมทาดาทา
    • location_map.json : ข้อมูลแมปตำแหน่ง

ชั้นการพรางข้อมูลสุดโหดของอีบุ๊กจาก Amazon

  • ตัวอย่างข้อมูลที่ได้เมื่อพยายามดึงข้อความ

    {
      "type": "TextRun",
      "glyphs": [24, 25, 74, 123, 91, 18, 19, 30, 4, ...],
      "style": "paragraph"
    }
    
    • ข้อมูลนี้ประกอบด้วย อาร์เรย์ของ glyph ID ไม่ใช่ตัวอักษรจริง
    • แต่ละ glyph ID ไม่ได้ผูกกับอักขระใดแบบตายตัว และถูกส่งมาเป็น ภาพแบบ SVG
    • โครงสร้างนี้เป็นแบบ substitution cipher ทำให้การแมประหว่างอักขระกับ glyph ID ไม่คงที่

ตัวอักษรเปลี่ยนทุก ๆ ห้าหน้า

  • การแมป glyph จะถูกสุ่มใหม่ทุก ๆ 5 หน้า
  • ในแต่ละคำขอจะใช้ mapping table คนละชุด ทำให้ไม่สามารถแมปหรือถอดความทั้งเล่มได้ในครั้งเดียว
  • ตัวอย่างเช่น ในหนังสือ 920 หน้า
    • ต้องใช้คำขอ 184 ครั้ง
    • ต้องถอดรหัสอักษรสุ่ม 184 รอบ
    • ต้องระบุ glyph ที่ไม่ซ้ำกันทั้งหมด 361 ตัว
    • ต้องถอดรหัส glyph รวม 1,051,745 ตัว

คำใบ้ฟอนต์ปลอม (เริ่มเจ้าเล่ห์ขึ้นเรื่อย ๆ)

  • ภายใน SVG path มี คำสั่ง move เล็กจิ๋วที่ไม่มีความหมาย เช่น m3,1 m1,6 m-4,-7
    • แม้เบราว์เซอร์จะแสดงผลได้ปกติ แต่ในไลบรารี SVG ของ Python เป็นต้น จะเกิด เส้นเชื่อมผิดพลาด
    • ทำมาเพื่อให้การพาร์สแบบวิเคราะห์ทีละ path ล้มเหลว
  • วิธีแก้คือ ตอนพาร์สต้องเรนเดอร์ path ทั้งหมดพร้อมกันอย่างครบถ้วนในครั้งเดียว

ฟอนต์หลายเวอร์ชัน

  • ไม่ได้มีฟอนต์เดียว แต่ใช้แยกกันถึง 4 แบบ (bookerly_normal, italic, bold, bolditalic)
  • ligature และอักขระพิเศษ (เช่น ffi, fl) ก็มีเป็น glyph แยกต่างหาก ทำให้การแมปยากขึ้นอีก

OCR ยังไม่เวิร์ก (ความพยายามที่ล้มเหลว)

  • ผู้เขียนลองใช้เครื่องมือรู้จำอักขระด้วยแสง (OCR) ที่มีอยู่กับภาพ glyph ที่เรนเดอร์แล้ว
    • อัตราการรู้จำได้เพียงประมาณ 51% ที่เหลือไม่สำเร็จ
    • ตัวอักษรเดี่ยวที่ไม่มีบริบทนั้น OCR แยกแยะได้ยากมาก เช่น 1, l, I หรือเครื่องหมายวรรคตอนต่าง ๆ

วิธีแก้ที่ได้ผลจริง

  • ในแต่ละคำขอ glyphs.json จะมี ข้อมูล SVG path รวมอยู่
  • แม้ glyph ID จะเปลี่ยนทุกครั้ง แต่ถ้าเป็น อักขระเดียวกัน รูปร่าง SVG (ภาพ) จะเหมือนเดิม

ทำไมการเทียบ SVG ตรง ๆ ถึงล้มเหลว

  • เมื่อเทียบพิกัดของ SVG path โดยตรง จะล้มเหลวเพราะมีความต่างเล็กน้อยและคำสั่ง path ที่ต่างกัน

การจับคู่แบบพิกเซลเป๊ะ

  • ผู้เขียนใช้วิธี เรนเดอร์ SVG เป็นภาพก่อน แล้วเทียบกันระดับพิกเซล เพื่อระบุ glyph ที่เหมือนกัน
    1. แปลง SVG ทั้งหมดเป็นภาพความละเอียด 512x512 (ใช้ cairosvg)
    2. ประมวลผลภาพแต่ละภาพด้วย perceptual hash — ถ้ารูปร่างเหมือนกัน ค่าฮัชจะตรงกัน
    3. รวมการแมปตัวอักษรสุ่มทั้ง 184 ชุดเข้าด้วยกันโดยอาศัยค่าฮัช
    4. เพื่อจับคู่กับอักขระจริง จึงนำอักขระแต่ละตัวจาก ฟอนต์ Bookerly แบบ TTF มาเทียบด้วย SSIM (Structural Similarity Index)

ทำไม SSIM จึงเหมาะกับงานนี้มาก

  • SSIM ใช้เปรียบเทียบโครงสร้างของภาพ จึง ยอมรับความต่างเล็กน้อยจากการเรนเดอร์, anti-aliasing, และความไม่ตรงกันของขนาด ได้
  • สำหรับ glyph ที่ยังไม่รู้จักแต่ละตัว จะเลือกอักขระ TTF ที่ได้คะแนน SSIM สูงสุดมาจับคู่

การจัดการเคสขอบ

  • ligature (ff, fi, fl, ffi, ffl) เป็น glyph เดียวที่แทนหลายอักขระ จึงต้องเพิ่มเข้า TTF และทำแฮชแยกโดยตรง
  • อักขระพิเศษและรูปแบบฟอนต์หลากหลาย (ตัวหนา, ตัวเอียง, ตัวหนาเอียง) ก็ถูกจัดการแยกในไลบรารีเฉพาะ

ช่วงเวลาที่ทุกอย่างใช้ได้จริง

สถิติสุดท้าย

=== NORMALIZATION PHASE ===
Total batches processed: 184
Unique glyphs found: 361
Total glyphs in book: 1,051,745

=== MATCHING PHASE ===
Successfully matched 361/361 unique glyphs (100.00%)
Failed to match: 0 glyphs
Average SSIM score: 0.9527

=== DECODED OUTPUT ===
Total characters: 5,623,847
Pages: 920
  • ตัวอักษรทั้งหมดถูก ถอดรหัสได้อย่างถูกต้อง และกู้คืนได้อย่างสมบูรณ์มาก

การสร้าง EPUB กลับขึ้นมาพร้อมรูปแบบเดิมอย่างครบถ้วน

  • ผู้เขียนใช้ข้อมูล พิกัดของบล็อกข้อความ, รูปแบบฟอนต์, และลิงก์ภายใน ที่อยู่ในข้อมูล JSON เพื่อสร้าง EPUB ที่คงความใกล้เคียงต้นฉบับไว้ได้ ทั้ง
    • การแบ่งย่อหน้า, การจัดแนว, ตัวหนา·ตัวเอียง, ขนาดฟอนต์, และลิงก์ภายใน

บทสรุปที่แท้จริง

  • Amazon ลงแรงกับ DRM บนเว็บไว้มากพอสมควร
  • แม้จะเป็นความพยายามที่มากเกินไปสำหรับการใช้งานจริง แต่ก็มีคุณค่าในฐานะ การเรียนรู้และเดโมทางเทคนิค
  • ผู้เขียนย้ำว่านี่มีจุดประสงค์เพื่อ สำรองข้อมูลหนังสือของผู้ซื้อเองและปกป้องสิทธิความเป็นเจ้าของ

เอกสารอ้างอิง (โค้ดโอเพนซอร์ส)

  • PixelMelt/amazon_book_downloader GitHub
    • เครื่องมือสำหรับสำรองหนังสือที่อ่านผ่านเว็บรีดเดอร์ของ Amazon
    • สามารถจัดการโครงสร้าง DRM ที่ซับซ้อนแบบในตัวอย่างบทความได้โดยอัตโนมัติ
    • มีประโยชน์ต่อการเก็บรักษาส่วนตัวและการปกป้องข้อมูล·การวิจัย

1 ความคิดเห็น

 
GN⁺ 2025-10-17
ความเห็นจาก Hacker News
  • ขอแชร์ข้อเท็จจริงที่น่าสนใจอย่างหนึ่ง ในสหรัฐฯ กรณีแบบนี้เป็นคำพูดประเภทหนึ่งที่ในมุมของอัยการอาจถูกลงโทษทาง<i>อาญา</i>ได้ด้วย (หวังว่าจะไม่เกิดขึ้นจริง และหากศาลเคารพการแก้ไขเพิ่มเติมรัฐธรรมนูญครั้งที่ 1 ก็น่าจะยกฟ้อง) นี่ไม่ใช่แค่ประเด็นทางแพ่งอย่างหมิ่นประมาทหรือฉ้อโกง แต่เป็นเรื่องที่ตำรวจอาจมาจับกุมได้โดยตรง ถ้าเคยสงสัยว่าทำไมวิศวกรถึงเกลียด DRM กันนัก ก็ไม่ใช่แค่เพราะมันเป็นงานน่ารำคาญ แต่เพราะเมื่อเจอกับมันบนคอมพิวเตอร์ของตัวเองแล้วมันน่าหงุดหงิดมาก ที่แย่กว่านั้นคือ หากคุณไปบอกใครว่ามันทั้งโง่ ไม่สะดวก และหลบเลี่ยงได้ง่ายเพียงใด การบอกเรื่องนั้นเองก็อาจถูกห้ามตามกฎหมายด้วย ดูรายละเอียดเพิ่มเติมได้ในบทความของ EFF

    • ผมไม่ชอบ DMCA เหมือนกัน แต่สงสัยว่าบทความนี้เองจะละเมิด 17 USC § 1201 จริงหรือไม่ การหลบเลี่ยง DRM เองหรือการแจกจ่ายโค้ดที่เกี่ยวข้องนั้นแน่นอนว่าเข้าข่าย แต่ผมสงสัยว่ามีกรณีไหนที่แค่ "อธิบายเป็นข้อความ" แล้วถูกลงโทษหรือเปล่า อยากรู้แนวคำพิพากษาว่าเคยมีการฟ้องร้องด้วยวิธีนี้จริงไหม ตัวบทกฎหมายบอกว่า “ห้ามใครก็ตามหลบเลี่ยง DRM” และห้ามเพียงการเผยแพร่ “เทคโนโลยี ผลิตภัณฑ์ หรือบริการ” เท่านั้น มันถูกเขียนไว้อย่างระมัดระวังเพื่อไม่ให้ใช้กับสื่อแบบดั้งเดิมหรือโพสต์ทั่วไป ดูข้อความเต็มของกฎหมาย

    • ผมคิดว่ากฎหมายปัจจุบันต้องเปลี่ยนแน่นอน ถ้ามีการแจกจ่ายงานที่มี DRM รวมอยู่ด้วย งานนั้นควรถูกตัดออกจากการคุ้มครองลิขสิทธิ์ไปตลอดกาล เพราะ DRM ทำหน้าที่กันไม่ให้งานนั้นเข้าสู่สาธารณสมบัติอย่างถาวร ผมถึงกับคิดว่าต่อให้เผลอแจกเดโมหรือพรีวิวที่ใส่ DRM ไปโดยไม่ได้ตั้งใจ ลิขสิทธิ์ก็ควรเป็นโมฆะด้วยซ้ำ

  • หนังสือที่ซื้อได้เฉพาะบน Amazon แต่ก่อนผมซื้อแล้วดาวน์โหลดผ่านแอปเดสก์ท็อป จากนั้นเอาเข้า Calibre แปลงเป็น epub พร้อมลบ DRM แล้วไปอ่านบน Kobo แต่ช่วงหลัง Amazon เสริม DRM จนวิธีนี้ใช้ไม่ได้แล้ว ตอนนี้เลยลงเอยด้วยการหาเวอร์ชันเถื่อนของหนังสือเหล่านั้นมาอ่านแทน

    • Amazon ก็มีปัญหาอยู่ แต่ความรับผิดชอบบางส่วนก็อยู่ที่สำนักพิมพ์ใหญ่ด้วย สำนักพิมพ์ใหญ่แห่งหนึ่งกดดัน Amazon ให้ปิดช่องโหว่ DRM นี้ให้ได้ ไม่เช่นนั้นจะถอนคอนเทนต์ทั้งหมดออก (ผมทำงานที่ Kindle ช่วงปี 2017-2019 และอยู่ในทีมพัฒนาที่เขียนโค้ดที่ OP reverse engineer)

    • ผมรู้จักคนคนหนึ่งที่เป็นนักเขียนเอง เลยเห็นชัดว่าหนังสือขายยากแค่ไหนในยุคการเผยแพร่ผิดกฎหมายบนอินเทอร์เน็ต ผมเข้าใจความอยากใช้หนังสือตามใจตัวเอง แต่การซื้อแล้วไปโหลดเถื่อนอีกทีกับการสนับสนุนนักเขียนเป็นคนละเรื่องกัน คุณยังสามารถซื้อตัวหนังสือจริง ๆ เพื่อช่วยนักเขียนได้ หนังสือราคาถูกมากเมื่อเทียบกับคุณค่าและเวลาความบันเทิงที่ได้รับ

    • หนังสือคือความบันเทิงที่ถูกที่สุดเลย ผมคิดว่าความคุ้มค่าต่อราคาสูงมาก แนะนำให้ซื้อแบบถูกลิขสิทธิ์เพื่อสนับสนุนผู้เขียนหรือสำนักพิมพ์ ถ้างบจำกัด ห้องสมุดก็เป็นตัวเลือกที่ดี ผมรู้จักคนที่โหลดหนังสือเถื่อน แต่ยอมจ่ายสตรีมมิงหรือเกมแบบ battle pass ไปหลายร้อยดอลลาร์ ผมรู้สึกว่าหนังสือถูกเกินกว่าจะเข้าใจได้ ผมซื้อ Brandon Sanderson ชุด Storm Archives ครบชุดแบบอีบุ๊กในราคา $10 (ความบันเทิง 100 ชั่วโมง) ตกชั่วโมงละ 10 เซนต์

    • ไม่นานมานี้ผมกำลังจะซื้อเครื่องอ่านอีบุ๊กให้ภรรยา ก็เลยได้ดูวิดีโอของ Louis Rossman เรื่อง Kindle DRM แล้วก็มาฟังคนที่นี่ชม Kobo อีก สุดท้ายผมเองก็คงจะซื้อ Kobo

    • สุดท้ายแล้วอาจมีวันที่เราต้องใช้กล้องสแกนหนังสือจริงมาอ่านหรือสแกนอีบุ๊กที่ถูกล็อกด้วย DRM ก็ได้

  • ไม่มีอะไรน่ากลัวเท่าวิศวกรที่โกรธจัดอีกแล้ว! บทความนี้ยอดเยี่ยมมากและแสดงแก่นแท้ของการแฮ็กได้ดีมาก "ผมทำทั้งหมดนี้เพื่อจะอ่านหนังสือแค่เล่มเดียวหรือ? ไม่ เพื่อพิสูจน์ประเด็นของตัวเองหรือ? แน่นอน แล้วที่ได้เรียนรู้เรื่องการเรนเดอร์ SVG, perceptual hashing และ font metrics ล่ะ? ก็คงใช่"

  • สงสัยว่าเครื่องมือ DeDRM ของ apprenticealf ที่เคยใช้กัน (ปัจจุบันคือฟอร์ก nodrm/DeDRM_tools) ยังใช้ดาวน์โหลดจากแอป Kindle PC ได้อยู่ไหม มันอาจใช้ได้เฉพาะแอปรุ่นเก่า และถึงจะไม่ใช่เวอร์ชันล่าสุด ก็ยังอาจใช้การแก้รีจิสทรีเพื่อกันไม่ให้ดาวน์โหลดแบบ kfx แล้วรับเป็นฟอร์แมต azw3 ได้ (ช่วงหนึ่งมันเคยใช้ได้) ในลิงก์วิกิด้านบนของ README ใน repo มีพูดถึงเรื่องนี้อยู่ในย่อหน้าที่บอกว่าไม่ได้ดูแลต่อแล้ว ต้องทำแบบนี้ถึงจะได้อีบุ๊กที่ใกล้เคียงต้นฉบับมากกว่า (แทนที่จะเป็นแค่หน้าจอที่ดูคล้ายกัน) แค่ต้องทำถึงขั้นนี้ก็เหลือเชื่อพอแล้ว ขอคารวะคนที่อดทนสู้เพื่อเจาะ Amazon DRM

    • วิธีแฮ็ก DRM หลังดาวน์โหลดพังลง เพราะ Amazon เอาฟีเจอร์ "ดาวน์โหลดและโอนผ่าน USB" ออกไป ตั้งแต่นั้นมาผมก็ไม่ได้ซื้ออีบุ๊ก Amazon อีกเลย การซื้อหนังสือแล้วไปดาวน์โหลดเวอร์ชันที่ปลด DRM แล้วแบบผิดกฎหมาย กลายเป็นทางเลือกที่พอใช้งานได้จริงที่สุด

    • ผมใช้เครื่องมือเสียเงินชื่อ epubor อยู่ มันลบ DRM ของ kindle, kobo, Adobe และอื่น ๆ ได้แทบทั้งหมด พร้อมแปลงเป็น epub เข้ากันได้กับแอปเวอร์ชันล่าสุด และถ้าโดนบล็อกก็มีอัปเดตออกมาเร็ว ถึงจะฟังแปลกที่ต้องจ่ายค่าหนังสือแล้วยังต้องจ่ายค่าเครื่องมือปลด DRM อีก แต่ตอนนี้ความจริงก็เป็นแบบนั้น

    • ในแอป PC เวอร์ชันเก่ายังรองรับการดาวน์โหลด แต่เวอร์ชันที่รองรับจะดาวน์โหลดหนังสือที่ออกหลังเดือนเมษายน 2025 ไม่ได้

    • สำหรับหนังสือ Audible แนะนำ Libation

  • หลังจาก Amazon เอาฟีเจอร์ดาวน์โหลดออก ผมก็ปลดปล่อยหนังสือทั้งหมดที่มีอยู่แล้วย้ายระบบไปใช้ Kavita+koreader เต็มตัว จากนี้ไปตั้งใจว่าจะไม่ซื้อหนังสือ Kindle อีกแล้ว และยัง jailbreak Kindle ทั้งสองเครื่องเพื่อลง koreader ด้วย ตอนนี้มีการซิงก์ความคืบหน้ากับ Kavita ได้แล้ว จึงแทบไม่มีอะไรขาดในแง่ฟังก์ชัน

    • หลังจากมีการเผยแพร่ jailbreak ใหญ่ครั้งสุดท้ายสำหรับอุปกรณ์ Kindle ผมก็ใช้ koreader บน Scribe อยู่เหมือนกัน ส่วนการซิงก์ความคืบหน้า ผมใช้ Hardcover (ทางเลือกแทน Goodreads) แต่อย่างหนึ่งคือคำแนะนำหนังสือยังไม่ค่อยตรงรสนิยมผมเท่าไร หวังว่าพอผู้ใช้มากขึ้นมันจะดีขึ้น

    • ฟีเจอร์ที่ Calibre ส่งหนังสือเข้า KOreader ผ่าน wifi ได้ ทำให้การ jailbreak คุ้มค่ามาก เครื่องอ่านตัวต่อไปผมคงเลือก kobo หรือยี่ห้ออื่นที่รัน KOreader ได้แบบไม่ต้องวุ่นวาย

  • การลบ DRM ของอีบุ๊กเป็นเหมือนมาตรฐานไปแล้ว ไม่อย่างนั้นก็อ่านบน Kobo ไม่ได้เลย ผมไม่ได้ลงทะเบียนเครื่องอ่านกับ Adobe และไม่ได้สร้างบัญชี Kobo ด้วยซ้ำ (ข้ามขั้นตอนตั้งค่าเริ่มต้นด้วย)

  • สถานการณ์ Kindle DRM ตอนนี้แย่มาก เมื่อก่อนแค่เพิ่มปลั๊กอิน DeDRM ให้ Calibre ก็ถอดรหัสไฟล์ KFX จากแอป Kindle for PC ได้ง่าย ๆ แต่หลังต้นปี 2025 ก็ถูกปิดทางจนทำไม่ได้แล้ว ผู้เชี่ยวชาญยังคงเจาะได้อยู่ แต่ตอนนี้ไม่แชร์กันแล้ว แม้แต่ผู้ดูแลปลั๊กอินเองก็กลัวการเปิดเผยตัวตนจนหยุดปล่อยเวอร์ชันทางการ ดูลิงก์ที่เกี่ยวข้อง 1, ลิงก์ที่เกี่ยวข้อง 2 ทุกวันนี้ Amazon ปิดกั้นวิธีหลบเลี่ยงอย่างหนักมาก ถ้ามีหนังสือที่จำเป็นต้องใช้ ก็ควรปลด DRM ไว้ให้เร็วที่สุดเท่าที่ทำได้

    • Amazon ก็มีปัญหา แต่สำนักพิมพ์ใหญ่บางแห่งก็มีส่วนรับผิดชอบด้วย สำนักพิมพ์แห่งหนึ่งกดดัน Amazon ให้ปิดช่องโหว่การหลบเลี่ยง DRM ให้ได้ ไม่เช่นนั้นจะถอนคอนเทนต์ทั้งหมดออก (ผมทำงานในทีม Kindle ช่วง 2017~2019 และอยู่ในทีมที่เขียนโค้ดที่ OP นำไป reverse engineer)
  • วิธีปลด DRM อีบุ๊กของ Amazon อาจใช้ได้ไม่ดีนักกับหนังสือการ์ตูน/กราฟิกโนเวลของ Amazon เพราะแบบนั้นช่วงหลังผมเลยเลิกใช้ Amazon และย้ายไป Kobo เต็มตัวซึ่งเจาะ DRM ได้ง่ายกว่า แต่เพราะ Amazon ซื้อ Comixology ไปแล้ว จึงยังมีคอลเลกชันการ์ตูนที่ใหญ่ที่สุดอยู่ดี

    • เรื่องภาพยังแก้ไม่ได้ทั้งหมด และยังมีการทำให้อ่านยากเพิ่มเติมอีกชั้นหนึ่ง

    • การ์ตูนต้องใช้ 'ภาพ' เต็มหน้า จึงทำให้การปลด DRM ไม่ง่าย อยากรู้ว่าได้ลองวิเคราะห์ network request ไหม หรือในฝั่งผู้เขียนนั้นภาพถูกจัดการอย่างไร

    • คุณอาจรู้อยู่แล้ว แต่ผมมีประสบการณ์ดีในการหาเนื้อหาการ์ตูนผ่าน hoopla โดยใช้บัตรห้องสมุด สถานการณ์ขึ้นอยู่กับห้องสมุดในพื้นที่ แต่ผมหาการ์ตูนที่อยากอ่านได้ราว 35% แม้จะไม่มีงานใหม่ล่าสุด แต่ถ้าเป็นของใหม่ที่ออกมาเมื่อ 6~12 เดือนก่อนก็มักหาอ่านได้ไม่มีปัญหาใหญ่

  • DMCA อาจย้อนมาทำร้ายได้ทุกเมื่อ หวังว่าผู้เขียนจะใส่ใจเรื่องการปกปิดตัวตน ไม่อย่างนั้นอาจมีผลกระทบใหญ่ตามมา ดูกรณีที่เกี่ยวข้อง 1, กรณีที่เกี่ยวข้อง 2

  • แม้จะไม่เกี่ยวกับบทความนี้โดยตรง แต่ขอแชร์ข้อมูลที่เกี่ยวข้องกับประเด็นสนทนาเล็กน้อย ถ้าดาวน์โหลดหนังสือจาก Amazon ไม่ได้ ยังมีวิธีอ้อมเฉพาะทางคือใช้ห้องสมุดที่รองรับ Overdrive/libby เพื่อรับอีบุ๊ก แอปห้องสมุดบางตัวสามารถดาวน์โหลดไฟล์ที่ติด DRM โดยตรงได้ แล้วนำไปจัดการต่อด้วย Adobe+Calibre แม้จะขึ้นอยู่กับการมีบัตรห้องสมุดและสต็อกหนังสือที่ต้องการ แต่สำหรับผม หนังสือที่ต้องใช้ราว 90% แก้ได้ด้วยวิธีนี้