אוקיי, אתה רציני...
תראה, אני מודה שבהתחלה לקחתי את ההודעה שלך בתור סוג של בדיחה.
לעשות reverse engineering לדרייבר ולכתוב דרייבר חדש דורש הרבה ידע בפיתוח ומבנה המחשב, ובד"כ אנשים שיש להם את הידע המתאים לעשות את העבודה לא יתחילו את דרכם בפורום הזה.
 
שמתי לב גם שאתה כותב בלשון זכר אבל המשתמש שלך מוגדר כנקבה.
 
אבל בינתיים ההודעות הפכו יותר רציניות, אז נראה שטעיתי לגביך, קבל התנצלות.
 
ככה:
הפעם האחרונה שהתעסקתי עם הדברים האלה, היית לפני יותר מ-5 שנים, ואני לא זוכר הרבה.
נתקלתי בדוגמה שבה הנדסו לאחור תוכנת צריבה של ROM עבור טלפון סלולרי, והתוכנה החדשה היית זמינה בקוד פתוח ברשת. (חפש Heimdal ל-LG אם זה מעניין אותך).
 
מה שעשו, היה למצוא (או אולי לכתוב, אבל לא שחררור קוד), אישזהו דרייבר, שרק זיהה את הטלפון (במצב bootloader מיוחד) לפי ה-VID ו-PID שלו, ועשה לו אינומרציה ב-usb subsystem של Windows.
 
משם, התוכנה השתמשה ב-libusb, שנותן לך פונקציות לגישה ישירה כמו bulkTransfer או לקריאת headers של USB.
אני לא מכיר לעומק את מבנה הדרייברים של Windows, אוני יודע שבלינוקס libusb עובד בלי דרייבר בכלל, אבל כמובן ה-kernel שם מתנהג שונה.
 
אז אני חושב שצריך איזשהו "דרייבר" בסיסי רשום ב-registry כדי לזהות התקן USB לפי VID PID.
 
לגבי usbmon: זו תוכנה שמנתרת פעולות ב-USB, ורושמת את כל מה שעובר שם.
אפשר לראות אלו פעולות (bulkTransfer, controlTransfer וכו') התקן מסוים מבצע, ואיזה מידע הוא שולח, ואז ניתן לעשות את אותן פעולות בתוכנה משלך בעזרת libusb.
 
אם אתה מכיר את Wireshark זה רעיון דומה, קצת יותר פשוט לשימוש (לדעתי).