This repository has been archived on 2025-07-17. You can view files and clone it, but cannot push or open issues or pull requests.
usbFilter/testScripts/libusb/testEn.js

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!");