หลายคนที่ลองใช้ repo ชื่อ Reverse Engineer Anything (REA) ซึ่งตอนนี้มีดาวบน GitHub เกือบ 340,000 ดวง มักเจอปัญหาเดียวกัน คือสั่งให้โคลนทั้งแอปแล้วผ่านไปชั่วโมงหนึ่ง โควต้าหมดไปเยอะ แต่งานที่ได้ใช้งานได้แค่ครึ่งเดียว Zinho จากช่อง Zinho Automates อธิบายวิธีใช้ที่ได้ผลกว่า และเนื้อหานี้ขยายความจากวิดีโอนั้น
แนวคิดหลักคือ อย่าขอทั้งหมดในครั้งเดียว ให้ใช้ REA ดูข้างในแอปที่เราไม่มีโค้ด ทำความเข้าใจว่าฟีเจอร์ทีละอย่างทำงานอย่างไร แล้วให้ agent สร้างเวอร์ชันของตัวเองขึ้นมา
สรุปสั้น ๆ
- REA คือตัวเชื่อมระหว่างเครื่องมือ reverse engineering กับ AI agent เช่น Claude Code, Codex หรือ Cursor
- agent อ่านโค้ดจริงที่อยู่ในแอป ไม่ได้เดาจากภาพหน้าจอ
- ผลลัพธ์ที่ดีมี 3 อย่าง คือวิธีทำงาน หลักฐาน และสิ่งที่ยังไม่แน่ใจ
- ทำทีละฟีเจอร์ แล้วค่อยขอส่วนที่ขาดในรอบถัดไป
- ใช้กับแอปที่ได้รับอนุญาต และสร้างโค้ดใหม่ของตัวเองเท่านั้น
Reverse engineering คืออะไร และ REA ช่วยอะไร
Reverse engineering คือการหาว่าแอปทำงานอย่างไรโดยไม่มี source code ที่นักพัฒนาเขียนไว้ มืออาชีพทำกันมานานด้วยเครื่องมืออย่าง Ghidra, Hopper และ IDA แต่เครื่องมือเหล่านี้เรียนรู้ยากมาก ทั้งที่แอปทุกตัวในเครื่องมีโค้ดอยู่ข้างในเสมอ เพียงแต่อยู่ในรูปแบบที่คนอ่านไม่ได้
REA ทำหน้าที่เชื่อมเครื่องมือเหล่านั้นเข้ากับ AI agent แล้วแปลโค้ดให้ agent อ่านเข้าใจ ทุกอย่างรันในเครื่องเรา ข้อต่างจากการให้ AI ดูภาพหน้าจอแล้วเดา คือ agent เห็นของจริงที่เรามองไม่เห็น จึงอธิบายได้ว่าฟีเจอร์ทำงานอย่างไร และชี้ได้ว่าไปเจอข้อมูลตรงไหน
ติดตั้งง่ายกว่าที่คิด
การติดตั้งเกือบไม่ต้องทำอะไรเอง เปิด Claude Code Desktop วางลิงก์ GitHub ของ repo แล้วสั่งให้ติดตั้ง REA ตาม README ทางการ ระหว่างทางแค่กดอนุมัติเมื่อมีคำขอ ระบบจะเชื่อม agent เข้ากับเครื่องมือ reverse engineering ให้เอง ทำให้ Claude เรียกใช้ได้ทุกครั้งที่ต้องดูข้างในแอป ส่วนคนที่ใช้ terminal เป็นประจำก็ติดตั้งด้วยคำสั่งเดียวได้
ลองจริงกับ Notion: เริ่มจากฟีเจอร์เล็ก
ตัวอย่างแรกคือสั่งให้ Claude ใช้ REA ดูแอป Notion บนเดสก์ท็อป เพื่อหาว่าฟีเจอร์ meeting notes ทำงานอย่างไร แล้วสร้างเว็บแอปง่าย ๆ ของตัวเอง ภายในไม่กี่นาทีก็ได้เวอร์ชันที่ใช้งานได้จริง
รอบที่สองเลือก databases ซึ่งเป็นส่วนที่ทรงพลังที่สุดส่วนหนึ่งของ Notion ข้อมูลชุดเดียวแสดงได้ทั้งแบบตาราง บอร์ด หรือลิสต์ พร้อมคุณสมบัติ ตัวกรอง และการเรียงลำดับ Claude ไล่ดูไฟล์ของแอป หาโค้ดที่เกี่ยวข้อง แล้วสรุปว่าฐานข้อมูลของ Notion ประกอบด้วย 3 ส่วน คือตัวฐานข้อมูล มุมมอง (view) และแถว ซึ่งแต่ละแถวคือหน้าหนึ่งหน้า มันยังตรวจด้วยว่า Notion เก็บข้อมูลไว้ในเครื่องอย่างไร เพื่อออกแบบให้เวอร์ชันของเราเก็บแบบเดียวกัน
ผลลัพธ์: ได้แอปที่ทำงานได้ พร้อมรายงานสิ่งที่ข้าม
แอปที่สร้างมีชื่อว่า TableKeep เขียนโค้ดใหม่ทั้งหมด ไม่ได้คัดลอกจาก Notion มีมุมมองตาราง บอร์ดที่ลากการ์ดได้ และลิสต์ โดยแต่ละมุมมองจำค่ากรองและการเรียงของตัวเอง เพิ่มคุณสมบัติได้ทั้งข้อความ ตัวเลข วันที่ แท็ก และเช็กบ็อกซ์ เมื่อคลิกแถวก็เปิดแผงด้านข้างเหมือนต้นแบบ
สิ่งที่น่าสนใจคือ agent ทดสอบตัวเองและแก้บั๊กไป 4 จุดก่อนส่งมอบ และบอกตรง ๆ ว่าข้ามอะไรไป เช่น สูตรคำนวณ (formula) และการเชื่อมฐานข้อมูลเข้าด้วยกัน รวมถึงส่วนหนึ่งที่ต้องคาดเดา รอบต่อมาจึงสั่งให้กลับไปศึกษาสองฟีเจอร์นั้นแล้วเพิ่มเข้าไป ซึ่งก็ทำได้สำเร็จ แม้จะไม่ใช่สำเนาที่สมบูรณ์ แต่จุดสำคัญคือมันเข้าใจวิธีทำงานจริง แสดงหลักฐาน และสร้างเวอร์ชันที่เราใช้เองได้
4 กฎที่ทำให้ได้ผลลัพธ์ใช้ได้
กฎที่ 1: ทีละฟีเจอร์ อย่าขอโคลนทั้ง Notion ให้ถามว่า databases ทำงานอย่างไร ถ้ามีส่วนที่ขาดค่อยขอต่อในรอบถัดไป
กฎที่ 2: ใช้ฟีเจอร์นั้นในแอปก่อน เพราะ AI เห็นได้เฉพาะโค้ดที่อยู่ในเครื่องเราจริง ๆ การเปิดใช้ฟีเจอร์ก่อนช่วยให้ข้อมูลที่เกี่ยวข้องมีอยู่ให้ค้นหา
กฎที่ 3: ขอหลักฐานเสมอ นี่คือสิ่งที่กันไม่ให้ agent เดา
กฎที่ 4: อ่านส่วนที่มันบอกว่าหาไม่เจอ ส่วนนี้บอกชัดว่าต้องตรวจอะไรก่อนทดสอบเวอร์ชันของเรา
การ reverse engineer ที่ดีไม่ใช่การลอกแอป แต่คือการเข้าใจว่าฟีเจอร์ทำงานอย่างไร แล้วสร้างเวอร์ชันของเราเอง
ควรให้เวลา agent ด้วย เพราะมันกำลังสืบสวนจริง บางครั้งต้องใช้หลายรอบหรือต้องให้เราช่วยชี้ทางก่อนจะเจอส่วนที่ถูกต้องของแอป
ขอบเขตการใช้งานที่ควรรู้
ใช้กับแอปที่เราเป็นเจ้าของหรือได้รับอนุญาตให้ศึกษาเท่านั้น และเคารพข้อกำหนดการใช้งานของแต่ละแอป สร้างเวอร์ชันของตัวเอง ไม่คัดลอกโค้ดของเขา และไม่นำโคลนไปขาย ภายใต้กรอบนี้ยังมีหลายอย่างที่ทำได้ เช่น สร้างฟีเจอร์ที่ชอบจากผลิตภัณฑ์อื่นขึ้นใหม่ด้วยวิธีของเราเอง แทนที่แอปคู่หูที่ใช้ยากของอุปกรณ์ที่เราเป็นเจ้าของ หรือดัดแปลงเกมที่เราซื้อมา เหมือนที่ชุมชน retro modding ทำกันมานาน
บทสรุป
สิ่งที่ทำให้ REA ใช้งานได้ผลคือวิธีสั่ง ไม่ใช่ขนาดของงาน เริ่มจากฟีเจอร์เล็ก ๆ ที่เราใช้จริง ขอหลักฐานทุกครั้ง และอ่านรายการสิ่งที่ agent ยังไม่แน่ใจก่อนนำไปทดสอบ
ลองเลือกแอปที่ใช้ประจำสักตัว เลือกฟีเจอร์เดียวที่อยากเข้าใจ แล้วให้ agent สืบหาและสร้างเวอร์ชันของเราเอง จะเห็นว่าได้ผลดีกว่าการสั่งโคลนทั้งแอปมาก




