การติดตั้ง Client

บทนี้จะแนะนำวิธีการติดตั้งไลบรารี Python ที่มาพร้อมกับ FIRERPA หากคุณไม่ได้ใช้ Python คุณสามารถข้ามบทนี้ไปได้ ก่อนเริ่มต้น โปรดตรวจสอบให้แน่ใจว่าคอมพิวเตอร์ของคุณได้ติดตั้ง Python เวอร์ชันใดก็ได้ตั้งแต่ 3.6 ถึง 3.12 เรียบร้อยแล้ว จากนั้นให้รันคำสั่ง

pip3 install -U lamda[full]

หากคำสั่งข้างต้นเกิดข้อผิดพลาด โปรดรันคำสั่งเวอร์ชันด้านล่างนี้ ความแตกต่างคือมีเครื่องหมายคำพูด (quote) เพิ่มเข้ามา เนื่องจากในระบบปฏิบัติการหรือ Python เวอร์ชันที่แตกต่างกัน อาจถูกตีความหมายแตกต่างกันไป ดังนั้นคุณสามารถลองได้ทั้งสองวิธี

pip3 install -U 'lamda[full]'

เคล็ดลับ

การตั้งค่า PIP source ไปยังเซิร์ฟเวอร์ที่ใกล้ที่สุดของคุณโดยใช้พารามิเตอร์ `-i` เช่น USTC source จะช่วยเพิ่มความเร็วในการติดตั้งได้อย่างมาก

การแก้ไขปัญหา

หลังจากการติดตั้งเสร็จสิ้น คุณสามารถรันคำสั่ง python3 -m lamda.client เพื่อตรวจสอบว่าการติดตั้งถูกต้องหรือไม่ หากเกิดข้อผิดพลาดเกี่ยวกับการเข้ารหัส (encoding error) UnicodeEncodeError: 'ascii' codec can't encode characters in... นั่นเป็นเพราะว่า path ของคุณมีตัวอักษรภาษาจีน ซึ่ง gRPC ไม่สามารถจัดการกับ path ประเภทนี้ได้อย่างถูกต้อง คุณสามารถรันโค้ดต่อไปนี้เพื่อตรวจสอบว่าเป็นปัญหานี้จริงหรือไม่

import sys
print (sys.path)

หมายเหตุ

หากผลลัพธ์ของ `sys.path` มี path ที่เป็นภาษาจีนอย่างน้อยหนึ่งรายการ ให้ตรวจสอบและลบ path ที่เป็นภาษาจีนออกจากตัวแปรสภาพแวดล้อมของระบบ (system environment variables), PYTHONPATH หรือตัวแปรสภาพแวดล้อมอื่น ๆ ที่เกี่ยวข้องกับ PYTHON ของคุณ

หากเกิดข้อผิดพลาดในการ import อื่น ๆ (ImportError) โปรดรันคำสั่งต่อไปนี้เพื่อบังคับให้ติดตั้งใหม่ (force reinstall)

pip3 install -U --force-reinstall 'lamda[full]'

เคล็ดลับ

หากปัญหายังคงอยู่ เราขอแนะนำให้คุณสร้างและใช้งานผ่าน virtualenv

ข้อควรสนใจ

หลังจากการติดตั้งเสร็จสิ้น คุณอาจจำเป็นต้องใช้ pip เพื่ออัปเดตไลบรารีของบุคคลที่สาม (third-party library) ใด ๆ ที่ขึ้นอยู่กับ frida เช่น frida-tools, objection เป็นต้น มิฉะนั้น เมื่อคุณใช้เครื่องมือเหล่านี้ในภายหลัง อาจเกิดข้อผิดพลาดที่สังเกตได้ยาก