Reverse Engineering เพื่อมาเขียนโปรแกรมเอง

Wuttikorn Ponwitayarat
Chiang Mai Maker Club
2 min readMar 18, 2020

ในบทความนี้จะมาโม้ในเรื่องการทำ reverse engineering เครื่อง RFID Tags Network Reader UHF

Reverse Engineering คืออะไร??

ก่อนอื่นต้องขออธิบายก่อนว่าศาสตร์คู่ตรงกันข้ามของ reverse engineering คือ forward engineering (วิศวกรรมก้าวหน้า) ซึ่งเป็นการทำงานที่มีจุดเริ่มต้นจากทฤษฎีหรือหลักการที่ยังไม่เป็นรูปเป็นร่าง ยังเป็นแค่เพียงไอเดียหรือความคิดเท่านั้น โดยการทำงานจะเริ่มต้นจากการสร้างข้อสมมติฐานขึ้นมาจากทฤษฎีหรือหลักการที่มีในใจ ลงมือวางแผนการทำงาน แล้วจึงค่อยลงมือทำงานตามแผนที่วางไว้จนได้ผลิตภัณฑ์ออกมาชิ้นหนึ่ง ส่วน reverse engineering นั้นจะเริ่มต้นจากการนำผลิตภัณฑ์ชิ้นหนึ่งมาถอดออกเป็นส่วนๆ เพื่อศึกษากระบวนการทำงานของผลิตภัณฑ์นั้นๆ เพื่อที่จะเข้าใจกระบวนการผลิตอย่างมีแบบแผน เมื่อศึกษาจนเข้าใจแล้วจะทำให้เราสามารถผลิตสินค้าคล้ายกันหรือนำมาต่อยอดก็ได้เช่นกัน

reverse engineering สามารถทำได้กับทั้งสิ่งที่จับต้องไม่ได้ เช่นระบบการทำงาน บริการ หรือสิ่งที่จับต้องได้ เช่น สินค้าต่างๆ วิธีทำ reverse engineering ด้วยการแยกอุปกรณ์ หรือถอดเป็นชิ้นๆ ส่วนใหญ่เป็นวิธีที่ทำแล้วได้ผลในการศึกษาหรือปรับปรุงสินค้าต้นแบบให้ดีกว่าเดิม

ส่วน rfid หลายคนน่าจะรู้จักแล้วเพื่อไม่ให้เสียเวลาผมขอข้ามเลยละกัน

จบทฤษฏี.. เลิกคาบได้555(ล้อเล่น)

ในการทำ reverse engineer หลักๆก็มี Logic Analyser

ก่อนอื่นมาอ่าน tag แบบใช้โปแกรมสำเร็จรูป

จากนั้นก็เอา Logic Analyser มาจั๊มสาย Tx Rx และ GND ของเครื่องอ่าน rfid

ต่อไปใช้โปรแกรม KingstVIS ดูว่าถ้ากดปุ่ม start จากโปรแกรมสำเร็จรูปมันจะส่งข้อมูลอะไรไปหาเครื่องอ่านและเครื่องอ่านส่งอะไรกลับมา

จากรูปจะเห็นว่ามีข้อมูล 2 ชุด เมื่อขยายข้อมูลตรง channel 2 จะเห็นว่าเครื่องอ่านจะส่ง id ของ tag ที่เราสแกน ส่วน channel 1 นั้นก็คือข้อมูลที่ส่งไปหาเครื่องอ่านซึ่งตรงส่วน channel 1 นี้แหละที่จะเอาเขียนโปรแกรม

เมื่อรู้รหัสการส่งข้อมูลจากโปรแกรมสำเร็จรูปไปหาเครื่องอ่านแล้วก็เอามาเขียนโปรแกรมให้ esp32 ต่อ โดยเครื่องอ่านตัวนี้จะสื่อสารข้อมูลเป็น rs232 จากนั้นก็ต่อโมดุล rs232 กับ esp32 และเครื่องอ่าน rfid เลย

จากนั้นก็ดูผลลัพธ์ที่ esp32 อ่านได้ว่าตรงกับที่โปรแกรมสำเร็จรูปอ่าน

ขอจบบทความเท่านี้นะครับ หวังว่าจะอ่านเข้าใจนะครับ555

--

--