78 lines
3.1 KiB
JavaScript
78 lines
3.1 KiB
JavaScript
console.log("Starting libusb hook script...");
|
|
|
|
// Hook libusb_bulk_transfer
|
|
const bulk_transfer_symbol = DebugSymbol.fromName("libusb_bulk_transfer");
|
|
console.log("libusb_bulk_transfer symbol info:", bulk_transfer_symbol);
|
|
|
|
if (bulk_transfer_symbol && bulk_transfer_symbol.address && !bulk_transfer_symbol.address.isNull()) {
|
|
Interceptor.attach(bulk_transfer_symbol.address, {
|
|
onEnter: function(args) {
|
|
console.log("[LIBUSB] libusb_bulk_transfer called");
|
|
}
|
|
});
|
|
console.log("Successfully hooked libusb_bulk_transfer");
|
|
} else {
|
|
console.log("libusb_bulk_transfer not found");
|
|
}
|
|
|
|
// Hook libusb_control_transfer
|
|
const control_transfer_symbol = DebugSymbol.fromName("libusb_control_transfer");
|
|
console.log("libusb_control_transfer symbol info:", control_transfer_symbol);
|
|
|
|
if (control_transfer_symbol && control_transfer_symbol.address && !control_transfer_symbol.address.isNull()) {
|
|
Interceptor.attach(control_transfer_symbol.address, {
|
|
onEnter: function(args) {
|
|
console.log("[LIBUSB] libusb_control_transfer called");
|
|
}
|
|
});
|
|
console.log("Successfully hooked libusb_control_transfer");
|
|
} else {
|
|
console.log("libusb_control_transfer not found");
|
|
}
|
|
|
|
// Hook libusb_interrupt_transfer
|
|
const interrupt_transfer_symbol = DebugSymbol.fromName("libusb_interrupt_transfer");
|
|
console.log("libusb_interrupt_transfer symbol info:", interrupt_transfer_symbol);
|
|
|
|
if (interrupt_transfer_symbol && interrupt_transfer_symbol.address && !interrupt_transfer_symbol.address.isNull()) {
|
|
Interceptor.attach(interrupt_transfer_symbol.address, {
|
|
onEnter: function(args) {
|
|
console.log("[LIBUSB] libusb_interrupt_transfer called");
|
|
}
|
|
});
|
|
console.log("Successfully hooked libusb_interrupt_transfer");
|
|
} else {
|
|
console.log("libusb_interrupt_transfer not found");
|
|
}
|
|
|
|
// Hook libusb_submit_transfer (异步传输)
|
|
const submit_transfer_symbol = DebugSymbol.fromName("libusb_submit_transfer");
|
|
console.log("libusb_submit_transfer symbol info:", submit_transfer_symbol);
|
|
|
|
if (submit_transfer_symbol && submit_transfer_symbol.address && !submit_transfer_symbol.address.isNull()) {
|
|
Interceptor.attach(submit_transfer_symbol.address, {
|
|
onEnter: function(args) {
|
|
console.log("[LIBUSB] libusb_submit_transfer called");
|
|
}
|
|
});
|
|
console.log("Successfully hooked libusb_submit_transfer");
|
|
} else {
|
|
console.log("libusb_submit_transfer not found");
|
|
}
|
|
|
|
// Hook libusb_cancel_transfer
|
|
const cancel_transfer_symbol = DebugSymbol.fromName("libusb_cancel_transfer");
|
|
console.log("libusb_cancel_transfer symbol info:", cancel_transfer_symbol);
|
|
|
|
if (cancel_transfer_symbol && cancel_transfer_symbol.address && !cancel_transfer_symbol.address.isNull()) {
|
|
Interceptor.attach(cancel_transfer_symbol.address, {
|
|
onEnter: function(args) {
|
|
console.log("[LIBUSB] libusb_cancel_transfer called");
|
|
}
|
|
});
|
|
console.log("Successfully hooked libusb_cancel_transfer");
|
|
} else {
|
|
console.log("libusb_cancel_transfer not found");
|
|
}
|
|
|
|
console.log("libusb hook script loaded successfully!"); |