Popax21 / synaTudor

GNU Lesser General Public License v2.1
89 stars 10 forks source link

Segfault #2

Closed TheZeaX closed 2 years ago

TheZeaX commented 2 years ago

Hi, i managed to compile your project by adding additional compile flags (e.g. -lusb-1.0 at CFLAGS and LFLAGS, i believe something is wrong with my libusb install.) Anyways, i finally got the following output:

$ sudo out/tudor ../../fingerprintfile
[INF] Initializing libcrypto...
[INF] Initializing libusb...
[INF] Found sensor USB device [bus 1 addr 4 vid 0x06cb pid 0x00be]
[INF] Opening sensor USB device...
[INF] Dropping root privileges... [new uid=1000 new gid=1000]
[INF] Initializing tudor driver...
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[INF] Loaded driver DLL 'synaFpAdapter104.dll' [186656 bytes]
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[WRN] Data directory 4 has invalid bounds! [end 0x17ebe0 > image end 0x17e000]
[INF] Loaded driver DLL 'synaWudfBioUsb104.dll' [1567712 bytes]
[INF] Initializing driver DLL 'synaFpAdapter104.dll'...
[INF] Initializing driver DLL 'synaWudfBioUsb104.dll'...
[INF] Loading data from data store '../../fingerprintfile'...
[INF] Opening tudor device...
[WRN] GetModuleHandleExW called with unsupported flag GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS! [addr=0x7fa9d7399710]
Segmentation fault

Using: Pop-OS latest

Maybe you can help.

Best regards!

Romern commented 2 years ago

Same here, with verbose and debugging output:

[INF] Initializing libcrypto...
[INF] Initializing libusb...
[INF] Found sensor USB device [bus 3 addr 5 vid 0x06cb pid 0x00be]
[INF] Opening sensor USB device...
[INF] Dropping root privileges... [new uid=1000 new gid=985]
[INF] Initializing tudor driver...
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[DBG] DLL synaFpAdapter104.dll: PE+ image
[DBG] -> machine: 8664
[DBG] -> image size: 0002f000
[DBG] -> entry point: 0000e594
[DBG] -> num data dirs: 16
[DBG] -> num sections: 6
[DBG] -> num relocations: 853
[DBG] Copied image memory to mapping at 0x7f57b59c0000 - 0x7f57b59ef000
[DBG] Applied 853 relocations
[DBG] Applying memory protections to image
[DBG] -> section      .text | 0x7f57b59c1000 - 0x7f57b59db143 | r-x
[DBG] -> section     .rdata | 0x7f57b59dc000 - 0x7f57b59e7234 | r--
[DBG] -> section      .data | 0x7f57b59e8000 - 0x7f57b59ea010 | rw-
[DBG] -> section     .pdata | 0x7f57b59eb000 - 0x7f57b59ec818 | r--
[DBG] -> section      .rsrc | 0x7f57b59ed000 - 0x7f57b59ed698 | r--
[DBG] -> section     .reloc | 0x7f57b59ee000 - 0x7f57b59ee6f4 | r--
[INF] Loaded driver DLL 'synaFpAdapter104.dll' [186656 bytes]
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[WRN] Data directory 4 has invalid bounds! [end 0x17ebe0 > image end 0x17e000]
[DBG] DLL synaWudfBioUsb104.dll: PE+ image
[DBG] -> machine: 8664
[DBG] -> image size: 0017e000
[DBG] -> entry point: 0004b950
[DBG] -> num data dirs: 16
[DBG] -> num sections: 6
[DBG] -> num relocations: 1681
[DBG] Copied image memory to mapping at 0x7f57b5482000 - 0x7f57b5600000
[DBG] Applied 1681 relocations
[DBG] Applying memory protections to image
[DBG] -> section      .text | 0x7f57b5483000 - 0x7f57b554d494 | r-x
[DBG] -> section     .rdata | 0x7f57b554e000 - 0x7f57b55dcba8 | r--
[DBG] -> section      .data | 0x7f57b55dd000 - 0x7f57b55f5e54 | rw-
[DBG] -> section     .pdata | 0x7f57b55f6000 - 0x7f57b55fde0c | r--
[DBG] -> section      .rsrc | 0x7f57b55fe000 - 0x7f57b55fe4d0 | r--
[DBG] -> section     .reloc | 0x7f57b55ff000 - 0x7f57b55ffe10 | r--
[INF] Loaded driver DLL 'synaWudfBioUsb104.dll' [1567712 bytes]
[INF] Initializing driver DLL 'synaFpAdapter104.dll'...
[INF] Initializing driver DLL 'synaWudfBioUsb104.dll'...
[DBG] Binding WDF function table 'WUDFx02000' version 2.21#0... [261 functions]
[TRACE][345245][824d7f8b...][0a]  -> DriverEntry
[TRACE][345245][824d7f8b...][0a]         -> vfmCoreEntry::OnInitialize
[TRACE][345245][824d7f8b...][0c]         <- vfmCoreEntry::OnInitialize [0x0]
[TRACE][345245][824d7f8b...][0c]  <- DriverEntry [0x0]
[INF] Loading data from data store 'datastore'...
[INF] Opening tudor device...
[TRACE][345245][824d7f8b...][0a]  -> EvtDeviceAdd
[TRACE][345245][824d7f8b...][0d]         -> synaCreateDevice
[TRACE][345245][824d7f8b...][0a]                 -> CSideChannelComm::CSideChannelComm
[TRACE][345245][824d7f8b...][0b]                 <- CSideChannelComm::CSideChannelComm
[TRACE][345245][824d7f8b...][0d]                 -> wdf::CDeviceInitialize::SetLockingConstraint
[TRACE][345245][824d7f8b...][0f]                 <- wdf::CDeviceInitialize::SetLockingConstraint [0x80004001]
[TRACE][345245][824d7f8b...][0a]                 -> wdf::CDriver::CreateDevice
[TRACE][345245][58f95b1a...][0d]                         <X> checkpoint hit <X>
[TRACE][345245][824d7f8b...][0c]                 <- wdf::CDriver::CreateDevice [0x0]
[TRACE][345245][824d7f8b...][0d]                 -> wdf::CDevice::CreateIoQueue
[TRACE][345245][824d7f8b...][0d]                         -> wdf::CQueue::CreateInstance
[TRACE][345245][824d7f8b...][0f]                         <- wdf::CQueue::CreateInstance [0x0]
[TRACE][345245][824d7f8b...][0f]                 <- wdf::CDevice::CreateIoQueue [0x0]
[TRACE][345245][824d7f8b...][0f]         <- synaCreateDevice [0x0]
[TRACE][345245][824d7f8b...][0b]  <- EvtDeviceAdd
[DBG] Flushing WDF event queue...
[DBG] Calling WDF device attachment callbacks...
[TRACE][345245][824d7f8b...][0d]  -> onPrepareHardware
[TRACE][345245][824d7f8b...][0a]         -> CBiometricDeviceUSB::OnPrepareHardware
[TRACE][345245][824d7f8b...][0a]                 -> CBiometricDevice::PrepareHardware
[TRACE][345245][824d7f8b...][0a]                         -> CBiometricDevice::ValidateDataFromPreviousFails
[TRACE][345245][824d7f8b...][0c]                         <- CBiometricDevice::ValidateDataFromPreviousFails [0x0]
[TRACE][345245][824d7f8b...][0d]                         -> wdf::CDevice::RetrieveDeviceName
[TRACE][345245][824d7f8b...][0f]                         <- wdf::CDevice::RetrieveDeviceName [0x0]
[TRACE][345245][824d7f8b...][0d]                         -> wdf::CDevice::RetrieveDeviceName
[TRACE][345245][824d7f8b...][0f]                         <- wdf::CDevice::RetrieveDeviceName [0x0]
[TRACE][345245][824d7f8b...][0a]                         -> CBiometricDevice::InitializeNiseCore
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350454778: 345245: vfmUtil: vfmUtil: STATUS: vfmUtilSessionInit >>>>>>>>
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350489053: 345245: vfmUtil: vfmUtil: STATUS: vfmUtilSessionInit <<<<<<<<
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350507133: 345245: vfmUtil: vfmUtil: STATUS: vfmUtilDeviceOpenWithParam >>>>>>>>
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350529262: 345245: vfmUtil: vfmUtil: STATUS: _vfmUtilDeviceOpen >>>>>>>>
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350544620: 345245: synaLib: vfm: STATUS: vfmInitialize >>>>>>>>
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350563607: 345245: synaLib: palCrypto: STATUS: palCryptoInitialize >>>>>>>>
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350578895: 345245: synaLib: palCrypto: STATUS: palCryptoInitialize <<<<<<<<
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350593136: 345245: synaLib: palSensor: STATUS: palUsbDriverInit >>>>>>>>
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350605213: 345245: synaLib: palSensor: STATUS: palUsbDriverInit <<<<<<<<
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350619872: 345245: synaLib: tudor: STATUS: tudorInitModule >>>>>>>>
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350633345: 345245: synaLib: tudor: STATUS: ssiTudor version: hisd/sw/prerelease/6_0_32_1104_20191121-0-g4d57f46
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350648493: 345245: synaLib: tudor: STATUS: tudorInitModule <<<<<<<<
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350661896: 345245: synaLib: vfm: STATUS: vfmInitialize <<<<<<<<
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350679418: 345245: synaLib: vfm: STATUS: vfmDeviceOpen >>>>>>>>
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350692332: 345245: synaLib: palSensor: STATUS: palUsbDriverOpen >>>>>>>>
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350716625: 345245: synaLib: palSensor: STATUS: palWinUsbDeviceHandleOpen >>>>>>>>
[TRACE][345245][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbInitialize
[TRACE][345245][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][345245][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][345245][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][345245][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][345245][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][345245][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][345245][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbInitialize [0x0]
[TRACE][345245][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbQueryInterfaceSettings
[TRACE][345245][824d7f8b...][0b]                                 <- CBiometricDeviceUSB::WBFUsbQueryInterfaceSettings
[TRACE][345245][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][345245][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350838369: 345245: synaLib: palSensor: STATUS: Setting interruptEndpoint to 0.
[TRACE][345245][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][345245][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350861685: 345245: synaLib: palSensor: STATUS: Setting interruptEndpoint to 1.
[TRACE][345245][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][345245][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350885489: 345245: synaLib: palSensor: STATUS: Setting interruptEndpoint to 2.
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350899311: 345245: synaLib: palSensor: STATUS: palWinUsbDeviceHandleOpen <<<<<<<<
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 350918927: 345245: synaLib: palRuntime: STATUS: palThreadBegin >>>>>>>>
[WRN] GetModuleHandleExW called with unsupported flag GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS! [addr=0x7f57b54ed710]
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 351674383: 345245: synaLib: palRuntime: STATUS: palThreadBegin <<<<<<<<
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 351746354: 345245: synaLib: palSensor: STATUS: palUsbDriverOpen <<<<<<<<
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 351773998: 345245: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 351791729: 345245: synaLib: palSensor: WARNING: Unknown Request=0x0000000C
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 351805341: 345245: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 351820141: 345245: synaLib: tudor: STATUS: tudorOpen >>>>>>>>
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 351833264: 345245: synaLib: tudor: STATUS: tudorUsbProtoOpen >>>>>>>>
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 351847575: 345245: synaLib: tudor: STATUS: tudorUsbProtoOpen <<<<<<<<
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 351862793: 345245: synaLib: tudor: STATUS: tudorOpen <<<<<<<<
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 351873264: 345245: synaLib: vfm: STATUS: vfmDeviceOpen <<<<<<<<
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 351890995: 345245: vfmUtil: vfmUtil: STATUS: _vfmUtilDeviceOpen <<<<<<<<
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 351904189: 345245: vfmUtil: vfmUtil: STATUS: vfmUtilDeviceOpenWithParam <<<<<<<<
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 351918150: 345245: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle >>>>>>>>
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 351934695: 345245: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle <<<<<<<<
[TRACE][345245][824d7f8b...][0b]                         <- CBiometricDevice::InitializeNiseCore
[TRACE][345245][824d7f8b...][0d]                         -> wdf::CQueue::Start
[TRACE][345245][824d7f8b...][0f]                         <- wdf::CQueue::Start [0x0]
[TRACE][345245][824d7f8b...][0a]                         -> CBiometricDevice::ProcessDevicePowerSettings
[TRACE][345245][824d7f8b...][0a]                                 -> CBiometricDevice::AssignS0IdleSettings
[TRACE][345245][824d7f8b...][0b]                                 <- CBiometricDevice::AssignS0IdleSettings
[TRACE][345245][824d7f8b...][0c]                         <- CBiometricDevice::ProcessDevicePowerSettings [0x0]
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 351999546: 345245: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle >>>>>>>>
[TRACE][345245][2c18840b...][0a] VFM LOG | [0] 352013926: 345245: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle <<<<<<<<
[TRACE][345245][824d7f8b...][0a]                         -> CBiometricDevice::startSideChannelCommThread
[TRACE][345245][824d7f8b...][0b]                         <- CBiometricDevice::startSideChannelCommThread
[TRACE][345245][824d7f8b...][0a]                         -> CUWPPowerStateControl::Register
[TRACE][345245][824d7f8b...][0c]                         <- CUWPPowerStateControl::Register [0x0]
[TRACE][345245][824d7f8b...][0c]                 <- CBiometricDevice::PrepareHardware [0x0]
[TRACE][345245][824d7f8b...][0c]         <- CBiometricDeviceUSB::OnPrepareHardware [0x0]
[TRACE][345245][824d7f8b...][0f]  <- onPrepareHardware [0x0]
[TRACE][345245][824d7f8b...][0d]  -> onD0Entry
[TRACE][345245][824d7f8b...][0a]         -> CBiometricDevice::OnD0Entry
[TRACE][345245][824d7f8b...][0a]                 -> CBiometricDevice::InitializeNiseCore
[TRACE][345245][824d7f8b...][0b]                 <- CBiometricDevice::InitializeNiseCore
[TRACE][345251][824d7f8b...][0a]  -> CBiometricDevice::sideChannelCommThread
[TRACE][345251][824d7f8b...][0a]         -> CSideChannelComm::Start
[TRACE][345250][824d7f8b...][0a]  -> CBiometricDevice::CDeviceSimpleWaker::CDeviceSimpleWaker
[TRACE][345251][824d7f8b...][0a]                 -> CSideChannelComm::ConnectToClient
[TRACE][345245][824d7f8b...][0c]         <- CBiometricDevice::OnD0Entry [0x0]
[TRACE][345245][824d7f8b...][0f]  <- onD0Entry [0x0]
[TRACE][345250][824d7f8b...][0c]  <- CBiometricDevice::CDeviceSimpleWaker::CDeviceSimpleWaker [0x0]
[TRACE][345245][824d7f8b...][0d]  -> onDeviceFileCreate
[TRACE][345250][824d7f8b...][0a]  -> CBiometricDevice::ProcessPairing
[TRACE][345250][824d7f8b...][0a]         -> CBiometricDevice::InitAndGetState
[TRACE][345250][824d7f8b...][0a]                 -> CBiometricDevice::InitializeDevice
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352517726: 345250: synaLib: vfm: STATUS: vfmDeviceInitialize >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352544811: 345250: synaLib: tudor: STATUS: tudorInitDevice >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352560588: 345250: synaLib: tudor: STATUS: _tudorInitDevice >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352574409: 345250: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352588790: 345250: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352601495: 345250: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352614339: 345250: synaLib: palSensor: STATUS: palWinHidClose >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352628440: 345250: synaLib: palSensor: STATUS: palWinHidClose <<<<<<<<
[TRACE][345250][824d7f8b...][0a]                         -> CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][345250][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::DeviceReset
[TRACE][345250][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::DeviceReset [0x0]
[TRACE][345250][824d7f8b...][0b]                         <- CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352670255: 345250: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout <<<<<<<<
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352682332: 345250: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352697969: 345250: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352710883: 345250: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352724286: 345250: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352737968: 345250: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352750464: 345250: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352767985: 345250: synaLib: tudor: STATUS: CMD SEND: VCSFW_CMD_GET_VERSION
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352782366: 345250: synaLib: tudor: WARNING: TLS context is not initialized.
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352796118: 345250: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352809591: 345250: synaLib: palSensor: STATUS: palWinUsbBulkWrite >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 352994510: 345250: synaLib: palSensor: STATUS: palWinUsbBulkWrite <<<<<<<<
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353023620: 345250: synaLib: palSensor: STATUS: palWinUsbBulkRead >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353157930: 345250: synaLib: palSensor: STATUS: palWinUsbBulkRead <<<<<<<<
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353171821: 345250: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353189831: 345250: synaLib: tudor: WARNING: TLS context is not initialized.
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353203304: 345250: synaLib: tudor: STATUS: CMD REPLY: VCSFW_CMD_GET_VERSION
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353218383: 345250: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353231856: 345250: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353245119: 345250: synaLib: palSensor: STATUS: palWinUsbGetDeviceDescriptor >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353259988: 345250: synaLib: palSensor: STATUS: palWinUsbGetDeviceDescriptor <<<<<<<<
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353272763: 345250: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353287143: 345250: synaLib: tudor: STATUS: VCSDRV_IOCTL_DEVICE_INFO ioctl
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353299429: 345250: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353313740: 345250: synaLib: tudor: WARNING: Sensor is in Boot Loader mode
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353327143: 345250: synaLib: tudor: STATUS: Device type: 5, FW major: 2, FW minor: 1, FW build num: 10
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353340895: 345250: synaLib: tudor: STATUS: SW release version - major: 6, minor: 0, subminor: 33, build num: 1104
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353357718: 345250: synaLib: tudor: STATUS: _tudorInitDevice <<<<<<<<
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353368957: 345250: synaLib: tudor: STATUS: tudorInitDevice <<<<<<<<
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353382500: 345250: synaLib: vfm: STATUS: vfmDeviceInitialize <<<<<<<<
[TRACE][345250][824d7f8b...][0a]                         -> CBiometricDevice::getDeviceInfo
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353417055: 345250: synaLib: vfm: STATUS: vfmDeviceInfoGet >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353430667: 345250: synaLib: tudor: STATUS: tudorGetDeviceInfo >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353443512: 345250: synaLib: tudor: STATUS: tudorGetDeviceInfo <<<<<<<<
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353457403: 345250: synaLib: tudor: STATUS: tudorIoctl opCode: (22)
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353473040: 345250: synaLib: vfm: STATUS: vfmDeviceInfoGet <<<<<<<<
[TRACE][345250][824d7f8b...][0c]                         <- CBiometricDevice::getDeviceInfo [0x0]
[TRACE][345250][824d7f8b...][0c]                 <- CBiometricDevice::InitializeDevice [0x0]
[TRACE][345250][824d7f8b...][0a]                 -> CBiometricDevice::getDeviceInfo
[TRACE][345250][824d7f8b...][0c]                 <- CBiometricDevice::getDeviceInfo [0x0]
[TRACE][345250][824d7f8b...][0a]                 -> CBiometricDevice::DoDeviceUpdate
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353532167: 345250: synaLib: vfm: STATUS: vfmDeviceUpdateProcess >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353547036: 345250: synaLib: tudor: STATUS: tudorSensorUpdate >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353561695: 345250: synaLib: tudor: WARNING: Sensor is in BL mode at initial state
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353576146: 345250: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 353591294: 345250: synaLib: palSensor: STATUS: palUsbDriverCtrlRequest >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 354929502: 345250: synaLib: palSensor: STATUS: palUsbDriverCtrlRequest <<<<<<<<
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 354957285: 345250: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 354972782: 345250: synaLib: tudor: STATUS: _tudorInitDevice >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 355087895: 345250: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 355102624: 345250: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 355114631: 345250: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 355125102: 345250: synaLib: palSensor: STATUS: palWinHidClose >>>>>>>>
[TRACE][345250][2c18840b...][0a] VFM LOG | [0] 355136481: 345250: synaLib: palSensor: STATUS: palWinHidClose <<<<<<<<
[TRACE][345250][824d7f8b...][0a]                         -> CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][345250][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::DeviceReset
[TRACE][345250][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::DeviceReset [0x0]
[1]    345244 segmentation fault  sudo out/tudor datastore -v -t

Kernel: 5.18.0-arch1-1 libusb 1.0.26-1 openssl 1.1.1.o-1 gcc (GCC) 12.1.0 Device is a Lenovo Ideapad Flex 5 14ARE05

TheZeaX commented 2 years ago

@Romern can confirm using -v -t flags, my output looks identical on first sight at least...

FYI: I got the code compiled initially by modifying the makefile as follows

CFLAGS = -O0 -g3 -Wall -D_GNU_SOURCE -lusb-1.0 -lpthread -lcrypto $(shell pkg-config --cflags libusb-1.0)
LFLAGS = -O0 -g3 -Wall -D_GNU_SOURCE -Wl,--copy-dt-needed-entries -lpthread -lusb-1.0 -lcrypto $(shell pkg-config --libs libusb-1.0)

and further down

$(TUDOR): $(OBJS) $(addprefix bin/windrv/,$(DRVDLLS:.dll=.o))
    @mkdir -p $(dir $@)
    $(CC) $(LFLAGS) -o $@ $^ -lusb-1.0 -lcrypto

as well as modifying main.c by changing

//#include <libusb.h>
#include <libusb-1.0/libusb.h>
Popax21 commented 2 years ago

The additional linker flags shouldn't be necessary anymore, because I recently pushed some changes to the Makefile because of that.

Could any of you provide a GDB backtrace / x/i $rip / info registers output?

Romern commented 2 years ago
(gdb) run datastore
Starting program: /home/roman/Downloads/synaTudor/relink/out/tudor datastore
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[INF] Initializing libcrypto...
[INF] Initializing libusb...
[New Thread 0x7ffff77ff640 (LWP 375330)]
[INF] Found sensor USB device [bus 3 addr 5 vid 0x06cb pid 0x00be]
[INF] Opening sensor USB device...
[INF] Dropping root privileges... [new uid=1000 new gid=985]
[New Thread 0x7ffff6ffe640 (LWP 375331)]
[INF] Initializing tudor driver...
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[INF] Loaded driver DLL 'synaFpAdapter104.dll' [186656 bytes]
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[WRN] Data directory 4 has invalid bounds! [end 0x17ebe0 > image end 0x17e000]
[INF] Loaded driver DLL 'synaWudfBioUsb104.dll' [1567712 bytes]
[INF] Initializing driver DLL 'synaFpAdapter104.dll'...
[INF] Initializing driver DLL 'synaWudfBioUsb104.dll'...
[INF] Loading data from data store 'datastore'...
[INF] Opening tudor device...
[WRN] GetModuleHandleExW called with unsupported flag GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS! [addr=0x7ffff7aed710]
[New Thread 0x7ffff67fd640 (LWP 375336)]
[New Thread 0x7ffff5ffc640 (LWP 375337)]
[New Thread 0x7ffff57fb640 (LWP 375338)]

Thread 5 "tudor" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5ffc640 (LWP 375337)]
0x00007ffff7aa4859 in ?? ()
(gdb) x/i $rip
=> 0x7ffff7aa4859:  cmp    %r9b,(%rdi,%rcx,1)
(gdb) info registers
rax            0x0                 0
rbx            0xffffffffffffffff  -1
rcx            0x0                 0
rdx            0x5                 5
rsi            0x7fffe4000b70      140737018596208
rdi            0x7fff00000000      140733193388032
rbp            0x0                 0x0
rsp            0x7ffff5ffb630      0x7ffff5ffb630
r8             0x3                 3
r9             0x0                 0
r10            0x0                 0
r11            0x7ffff7bf4a48      140737349896776
r12            0xb                 11
r13            0x3                 3
r14            0x7ffff7b505b8      140737349223864
r15            0x4                 4
rip            0x7ffff7aa4859      0x7ffff7aa4859
eflags         0x10256             [ PF AF ZF IF RF ]
cs             0x33                51
ss             0x2b                43
ds             0x0                 0
es             0x0                 0
fs             0x0                 0
gs             0x0                 0
(gdb) backtrace
#0  0x00007ffff7aa4859 in ?? ()
#1  0x00007ffff7b53810 in ?? ()
#2  0x00007fffe4000b70 in ?? ()
#3  0x00007ffff7b534d8 in ?? ()
#4  0x00007fff00000000 in ?? ()
#5  0xfffffffffffffffe in ?? ()
#6  0x00007fffe4000b70 in ?? ()
#7  0x0000000000000000 in ?? ()
(gdb)
Popax21 commented 2 years ago
(gdb) run datastore
Starting program: /home/roman/Downloads/synaTudor/relink/out/tudor datastore
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[INF] Initializing libcrypto...
[INF] Initializing libusb...
[New Thread 0x7ffff77ff640 (LWP 375330)]
[INF] Found sensor USB device [bus 3 addr 5 vid 0x06cb pid 0x00be]
[INF] Opening sensor USB device...
[INF] Dropping root privileges... [new uid=1000 new gid=985]
[New Thread 0x7ffff6ffe640 (LWP 375331)]
[INF] Initializing tudor driver...
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[INF] Loaded driver DLL 'synaFpAdapter104.dll' [186656 bytes]
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[WRN] Data directory 4 has invalid bounds! [end 0x17ebe0 > image end 0x17e000]
[INF] Loaded driver DLL 'synaWudfBioUsb104.dll' [1567712 bytes]
[INF] Initializing driver DLL 'synaFpAdapter104.dll'...
[INF] Initializing driver DLL 'synaWudfBioUsb104.dll'...
[INF] Loading data from data store 'datastore'...
[INF] Opening tudor device...
[WRN] GetModuleHandleExW called with unsupported flag GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS! [addr=0x7ffff7aed710]
[New Thread 0x7ffff67fd640 (LWP 375336)]
[New Thread 0x7ffff5ffc640 (LWP 375337)]
[New Thread 0x7ffff57fb640 (LWP 375338)]

Thread 5 "tudor" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5ffc640 (LWP 375337)]
0x00007ffff7aa4859 in ?? ()
(gdb) x/i $rip
=> 0x7ffff7aa4859:    cmp    %r9b,(%rdi,%rcx,1)
(gdb) info registers
rax            0x0                 0
rbx            0xffffffffffffffff  -1
rcx            0x0                 0
rdx            0x5                 5
rsi            0x7fffe4000b70      140737018596208
rdi            0x7fff00000000      140733193388032
rbp            0x0                 0x0
rsp            0x7ffff5ffb630      0x7ffff5ffb630
r8             0x3                 3
r9             0x0                 0
r10            0x0                 0
r11            0x7ffff7bf4a48      140737349896776
r12            0xb                 11
r13            0x3                 3
r14            0x7ffff7b505b8      140737349223864
r15            0x4                 4
rip            0x7ffff7aa4859      0x7ffff7aa4859
eflags         0x10256             [ PF AF ZF IF RF ]
cs             0x33                51
ss             0x2b                43
ds             0x0                 0
es             0x0                 0
fs             0x0                 0
gs             0x0                 0
(gdb) backtrace
#0  0x00007ffff7aa4859 in ?? ()
#1  0x00007ffff7b53810 in ?? ()
#2  0x00007fffe4000b70 in ?? ()
#3  0x00007ffff7b534d8 in ?? ()
#4  0x00007fff00000000 in ?? ()
#5  0xfffffffffffffffe in ?? ()
#6  0x00007fffe4000b70 in ?? ()
#7  0x0000000000000000 in ?? ()
(gdb)

Could you also run the program with -vt at the same time?

Etaash-mathamsetty commented 2 years ago
#0  0x00007ffff7aa4859 in ?? ()
#1  0x00007ffff7b53810 in ?? ()
#2  0x00007fffe4000b70 in ?? ()
#3  0x00007ffff7b534d8 in ?? ()
#4  0x00007fff00000000 in ?? ()
#5  0xfffffffffffffffe in ?? ()
#6  0x00007fffe4000b70 in ?? ()
#7  0x0000000000000000 in ?? ()

im pretty sure this backtrace is useless, so maybe try modifying the makefile to enable debug symbols

Popax21 commented 2 years ago
#0  0x00007ffff7aa4859 in ?? ()
#1  0x00007ffff7b53810 in ?? ()
#2  0x00007fffe4000b70 in ?? ()
#3  0x00007ffff7b534d8 in ?? ()
#4  0x00007fff00000000 in ?? ()
#5  0xfffffffffffffffe in ?? ()
#6  0x00007fffe4000b70 in ?? ()
#7  0x0000000000000000 in ?? ()

im pretty sure this backtrace is useless, so maybe try modifying the makefile to enable debug symbols

This is a backtrace in the native library (the relinking code compiles with -O0 -g3), and as such I asked for the -vt output because it logs the base address of the loaded native modules.

TheZeaX commented 2 years ago

To correct my post from above:

I still need this:

$(TUDOR): $(OBJS) $(addprefix bin/windrv/,$(DRVDLLS:.dll=.o))
    @mkdir -p $(dir $@)
    $(CC) $(LFLAGS) -o $@ $^ -lusb-1.0 -lcrypto

otherwise (without '-lusb-1.0 -lcrypto') "make" crashes like the following

...relink/src/winapi/wdf/usb.c:557: undefined reference to `libusb_alloc_transfer'
collect2: error: ld returned 1 exit status
make: *** [Makefile:26: out/tudor] Error 1

In other news, i ran gdb using '-vt' with output:

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[INF] Initializing libcrypto...
[INF] Initializing libusb...
[New Thread 0x7ffff78f5640 (LWP 14267)]
[INF] Found sensor USB device [bus 1 addr 4 vid 0x06cb pid 0x00be]
[INF] Opening sensor USB device...
[INF] Dropping root privileges... [new uid=1000 new gid=1000]
[New Thread 0x7ffff70f4640 (LWP 14268)]
[INF] Initializing tudor driver...
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[INF] Loaded driver DLL 'synaFpAdapter104.dll' [186656 bytes]
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[WRN] Data directory 4 has invalid bounds! [end 0x17ebe0 > image end 0x17e000]
[INF] Loaded driver DLL 'synaWudfBioUsb104.dll' [1567712 bytes]
[INF] Initializing driver DLL 'synaFpAdapter104.dll'...
[INF] Initializing driver DLL 'synaWudfBioUsb104.dll'...
[TRACE][14264][824d7f8b...][0a]  -> DriverEntry
[TRACE][14264][824d7f8b...][0a]         -> vfmCoreEntry::OnInitialize
[TRACE][14264][824d7f8b...][0c]         <- vfmCoreEntry::OnInitialize [0x0]
[TRACE][14264][824d7f8b...][0c]  <- DriverEntry [0x0]
[INF] Loading data from data store '-vt'...
[INF] Opening tudor device...
[TRACE][14264][824d7f8b...][0a]  -> EvtDeviceAdd
[TRACE][14264][824d7f8b...][0d]         -> synaCreateDevice
[TRACE][14264][824d7f8b...][0a]                 -> CSideChannelComm::CSideChannelComm
[TRACE][14264][824d7f8b...][0b]                 <- CSideChannelComm::CSideChannelComm
[TRACE][14264][824d7f8b...][0d]                 -> wdf::CDeviceInitialize::SetLockingConstraint
[TRACE][14264][824d7f8b...][0f]                 <- wdf::CDeviceInitialize::SetLockingConstraint [0x80004001]
[TRACE][14264][824d7f8b...][0a]                 -> wdf::CDriver::CreateDevice
[TRACE][14264][58f95b1a...][0d]                         <X> checkpoint hit <X>
[TRACE][14264][824d7f8b...][0c]                 <- wdf::CDriver::CreateDevice [0x0]
[TRACE][14264][824d7f8b...][0d]                 -> wdf::CDevice::CreateIoQueue
[TRACE][14264][824d7f8b...][0d]                         -> wdf::CQueue::CreateInstance
[TRACE][14264][824d7f8b...][0f]                         <- wdf::CQueue::CreateInstance [0x0]
[TRACE][14264][824d7f8b...][0f]                 <- wdf::CDevice::CreateIoQueue [0x0]
[TRACE][14264][824d7f8b...][0f]         <- synaCreateDevice [0x0]
[TRACE][14264][824d7f8b...][0b]  <- EvtDeviceAdd
[TRACE][14264][824d7f8b...][0d]  -> onPrepareHardware
[TRACE][14264][824d7f8b...][0a]         -> CBiometricDeviceUSB::OnPrepareHardware
[TRACE][14264][824d7f8b...][0a]                 -> CBiometricDevice::PrepareHardware
[TRACE][14264][824d7f8b...][0a]                         -> CBiometricDevice::ValidateDataFromPreviousFails
[TRACE][14264][824d7f8b...][0c]                         <- CBiometricDevice::ValidateDataFromPreviousFails [0x0]
[TRACE][14264][824d7f8b...][0d]                         -> wdf::CDevice::RetrieveDeviceName
[TRACE][14264][824d7f8b...][0f]                         <- wdf::CDevice::RetrieveDeviceName [0x0]
[TRACE][14264][824d7f8b...][0d]                         -> wdf::CDevice::RetrieveDeviceName
[TRACE][14264][824d7f8b...][0f]                         <- wdf::CDevice::RetrieveDeviceName [0x0]
[TRACE][14264][824d7f8b...][0a]                         -> CBiometricDevice::InitializeNiseCore
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397674620: 14264: vfmUtil: vfmUtil: STATUS: vfmUtilSessionInit >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397726589: 14264: vfmUtil: vfmUtil: STATUS: vfmUtilSessionInit <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397753224: 14264: vfmUtil: vfmUtil: STATUS: vfmUtilDeviceOpenWithParam >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397777922: 14264: vfmUtil: vfmUtil: STATUS: _vfmUtilDeviceOpen >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397803556: 14264: synaLib: vfm: STATUS: vfmInitialize >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397825991: 14264: synaLib: palCrypto: STATUS: palCryptoInitialize >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397858284: 14264: synaLib: palCrypto: STATUS: palCryptoInitialize <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397891014: 14264: synaLib: palSensor: STATUS: palUsbDriverInit >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397923603: 14264: synaLib: palSensor: STATUS: palUsbDriverInit <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397955698: 14264: synaLib: tudor: STATUS: tudorInitModule >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397985596: 14264: synaLib: tudor: STATUS: ssiTudor version: hisd/sw/prerelease/6_0_32_1104_20191121-0-g4d57f46
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398015204: 14264: synaLib: tudor: STATUS: tudorInitModule <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398044309: 14264: synaLib: vfm: STATUS: vfmInitialize <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398078392: 14264: synaLib: vfm: STATUS: vfmDeviceOpen >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398113257: 14264: synaLib: palSensor: STATUS: palUsbDriverOpen >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398152412: 14264: synaLib: palSensor: STATUS: palWinUsbDeviceHandleOpen >>>>>>>>
[TRACE][14264][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbInitialize
[TRACE][14264][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][14264][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][14264][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][14264][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][14264][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][14264][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][14264][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbInitialize [0x0]
[TRACE][14264][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbQueryInterfaceSettings
[TRACE][14264][824d7f8b...][0b]                                 <- CBiometricDeviceUSB::WBFUsbQueryInterfaceSettings
[TRACE][14264][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][14264][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398372846: 14264: synaLib: palSensor: STATUS: Setting interruptEndpoint to 0.
[TRACE][14264][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][14264][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398418733: 14264: synaLib: palSensor: STATUS: Setting interruptEndpoint to 1.
[TRACE][14264][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][14264][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398458775: 14264: synaLib: palSensor: STATUS: Setting interruptEndpoint to 2.
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398478901: 14264: synaLib: palSensor: STATUS: palWinUsbDeviceHandleOpen <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398508341: 14264: synaLib: palRuntime: STATUS: palThreadBegin >>>>>>>>
[WRN] GetModuleHandleExW called with unsupported flag GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS! [addr=0x7ffff67b2710]
[New Thread 0x7ffff6746640 (LWP 14270)]
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399099193: 14264: synaLib: palRuntime: STATUS: palThreadBegin <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399164308: 14264: synaLib: palSensor: STATUS: palUsbDriverOpen <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399196103: 14264: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399226337: 14264: synaLib: palSensor: WARNING: Unknown Request=0x0000000C
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399254985: 14264: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399276341: 14264: synaLib: tudor: STATUS: tudorOpen >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399296354: 14264: synaLib: tudor: STATUS: tudorUsbProtoOpen >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399316932: 14264: synaLib: tudor: STATUS: tudorUsbProtoOpen <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399336583: 14264: synaLib: tudor: STATUS: tudorOpen <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399357096: 14264: synaLib: vfm: STATUS: vfmDeviceOpen <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399381589: 14264: vfmUtil: vfmUtil: STATUS: _vfmUtilDeviceOpen <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399405364: 14264: vfmUtil: vfmUtil: STATUS: vfmUtilDeviceOpenWithParam <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399427936: 14264: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399453287: 14264: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle <<<<<<<<
[TRACE][14264][824d7f8b...][0b]                         <- CBiometricDevice::InitializeNiseCore
[TRACE][14264][824d7f8b...][0d]                         -> wdf::CQueue::Start
[TRACE][14264][824d7f8b...][0f]                         <- wdf::CQueue::Start [0x0]
[TRACE][14264][824d7f8b...][0a]                         -> CBiometricDevice::ProcessDevicePowerSettings
[TRACE][14264][824d7f8b...][0a]                                 -> CBiometricDevice::AssignS0IdleSettings
[TRACE][14264][824d7f8b...][0b]                                 <- CBiometricDevice::AssignS0IdleSettings
[TRACE][14264][824d7f8b...][0c]                         <- CBiometricDevice::ProcessDevicePowerSettings [0x0]
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399555524: 14264: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399576470: 14264: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle <<<<<<<<
[New Thread 0x7ffff5f45640 (LWP 14271)]
[TRACE][14264][824d7f8b...][0a]                         -> CBiometricDevice::startSideChannelCommThread
[New Thread 0x7ffff5744640 (LWP 14272)]
[TRACE][14264][824d7f8b...][0b]                         <- CBiometricDevice::startSideChannelCommThread
[TRACE][14264][824d7f8b...][0a]                         -> CUWPPowerStateControl::Register
[TRACE][14264][824d7f8b...][0c]                         <- CUWPPowerStateControl::Register [0x0]
[TRACE][14264][824d7f8b...][0c]                 <- CBiometricDevice::PrepareHardware [0x0]
[TRACE][14264][824d7f8b...][0c]         <- CBiometricDeviceUSB::OnPrepareHardware [0x0]
[TRACE][14264][824d7f8b...][0f]  <- onPrepareHardware [0x0]
[TRACE][14264][824d7f8b...][0d]  -> onD0Entry
[TRACE][14272][824d7f8b...][0a]  -> CBiometricDevice::sideChannelCommThread
[TRACE][14272][824d7f8b...][0a]         -> CSideChannelComm::Start
[TRACE][14264][824d7f8b...][0a]         -> CBiometricDevice::OnD0Entry
[TRACE][14264][824d7f8b...][0a]                 -> CBiometricDevice::InitializeNiseCore
[TRACE][14264][824d7f8b...][0b]                 <- CBiometricDevice::InitializeNiseCore
[TRACE][14272][824d7f8b...][0a]                 -> CSideChannelComm::ConnectToClient
[TRACE][14264][824d7f8b...][0c]         <- CBiometricDevice::OnD0Entry [0x0]
[TRACE][14264][824d7f8b...][0f]  <- onD0Entry [0x0]
[TRACE][14271][824d7f8b...][0a]  -> CBiometricDevice::CDeviceSimpleWaker::CDeviceSimpleWaker
[TRACE][14271][824d7f8b...][0c]  <- CBiometricDevice::CDeviceSimpleWaker::CDeviceSimpleWaker [0x0]
[TRACE][14271][824d7f8b...][0a]  -> CBiometricDevice::ProcessPairing
[TRACE][14271][824d7f8b...][0a]         -> CBiometricDevice::InitAndGetState
[TRACE][14264][824d7f8b...][0d]  -> onDeviceFileCreate
[TRACE][14271][824d7f8b...][0a]                 -> CBiometricDevice::InitializeDevice
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401723222: 14271: synaLib: vfm: STATUS: vfmDeviceInitialize >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401777908: 14271: synaLib: tudor: STATUS: tudorInitDevice >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401800895: 14271: synaLib: tudor: STATUS: _tudorInitDevice >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401820002: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401845655: 14271: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401864954: 14271: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401886936: 14271: synaLib: palSensor: STATUS: palWinHidClose >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401906948: 14271: synaLib: palSensor: STATUS: palWinHidClose <<<<<<<<
[TRACE][14271][824d7f8b...][0a]                         -> CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][14271][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::DeviceReset
[TRACE][14271][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::DeviceReset [0x0]
[TRACE][14271][824d7f8b...][0b]                         <- CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401970899: 14271: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401993201: 14271: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402014130: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402034733: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402053049: 14271: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402073858: 14271: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402097975: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402121277: 14271: synaLib: tudor: STATUS: CMD SEND: VCSFW_CMD_GET_VERSION
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402141953: 14271: synaLib: tudor: WARNING: TLS context is not initialized.
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402175009: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402181109: 14271: synaLib: palSensor: STATUS: palWinUsbBulkWrite >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402266971: 14271: synaLib: palSensor: STATUS: palWinUsbBulkWrite <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402275803: 14271: synaLib: palSensor: STATUS: palWinUsbBulkRead >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402354242: 14271: synaLib: palSensor: STATUS: palWinUsbBulkRead <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402361888: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402368456: 14271: synaLib: tudor: WARNING: TLS context is not initialized.
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402375416: 14271: synaLib: tudor: STATUS: CMD REPLY: VCSFW_CMD_GET_VERSION
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402382129: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402388755: 14271: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402395480: 14271: synaLib: palSensor: STATUS: palWinUsbGetDeviceDescriptor >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402403279: 14271: synaLib: palSensor: STATUS: palWinUsbGetDeviceDescriptor <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402410012: 14271: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402416679: 14271: synaLib: tudor: STATUS: VCSDRV_IOCTL_DEVICE_INFO ioctl
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402422953: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402430661: 14271: synaLib: tudor: WARNING: Sensor is in Boot Loader mode
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402437315: 14271: synaLib: tudor: STATUS: Device type: 5, FW major: 2, FW minor: 1, FW build num: 10
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402445848: 14271: synaLib: tudor: STATUS: SW release version - major: 6, minor: 0, subminor: 33, build num: 1104
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402453799: 14271: synaLib: tudor: STATUS: _tudorInitDevice <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402460055: 14271: synaLib: tudor: STATUS: tudorInitDevice <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402466323: 14271: synaLib: vfm: STATUS: vfmDeviceInitialize <<<<<<<<
[TRACE][14271][824d7f8b...][0a]                         -> CBiometricDevice::getDeviceInfo
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402484606: 14271: synaLib: vfm: STATUS: vfmDeviceInfoGet >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402491443: 14271: synaLib: tudor: STATUS: tudorGetDeviceInfo >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402497988: 14271: synaLib: tudor: STATUS: tudorGetDeviceInfo <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402504574: 14271: synaLib: tudor: STATUS: tudorIoctl opCode: (22)
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402511523: 14271: synaLib: vfm: STATUS: vfmDeviceInfoGet <<<<<<<<
[TRACE][14271][824d7f8b...][0c]                         <- CBiometricDevice::getDeviceInfo [0x0]
[TRACE][14271][824d7f8b...][0c]                 <- CBiometricDevice::InitializeDevice [0x0]
[TRACE][14271][824d7f8b...][0a]                 -> CBiometricDevice::getDeviceInfo
[TRACE][14271][824d7f8b...][0c]                 <- CBiometricDevice::getDeviceInfo [0x0]
[TRACE][14271][824d7f8b...][0a]                 -> CBiometricDevice::DoDeviceUpdate
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402544491: 14271: synaLib: vfm: STATUS: vfmDeviceUpdateProcess >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402551620: 14271: synaLib: tudor: STATUS: tudorSensorUpdate >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402558778: 14271: synaLib: tudor: WARNING: Sensor is in BL mode at initial state
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402565716: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402572266: 14271: synaLib: palSensor: STATUS: palUsbDriverCtrlRequest >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402662078: 14271: synaLib: palSensor: STATUS: palUsbDriverCtrlRequest <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402670045: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402676911: 14271: synaLib: tudor: STATUS: _tudorInitDevice >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402683123: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402689959: 14271: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402696384: 14271: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402707208: 14271: synaLib: palSensor: STATUS: palWinHidClose >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402715972: 14271: synaLib: palSensor: STATUS: palWinHidClose <<<<<<<<
[TRACE][14271][824d7f8b...][0a]                         -> CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][14271][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::DeviceReset
[TRACE][14271][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::DeviceReset [0x0]

Thread 5 "tudor" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5f45640 (LWP 14271)]
0x00007ffff6769859 in ?? ()
(gdb) x/i $rip
=> 0x7ffff6769859:  cmp    %r9b,(%rdi,%rcx,1)
(gdb) info registers
rax            0x0                 0
rbx            0xffffffffffffffff  -1
rcx            0x0                 0
rdx            0x5                 5
rsi            0x7fffe4000b70      140737018596208
rdi            0x7fff00000000      140733193388032
rbp            0x0                 0x0
rsp            0x7ffff5f44630      0x7ffff5f44630
r8             0x3                 3
r9             0x0                 0
r10            0x0                 0
r11            0x7ffff68b9a48      140737329732168
r12            0xb                 11
r13            0x3                 3
r14            0x7ffff68155b8      140737329059256
r15            0x4                 4
rip            0x7ffff6769859      0x7ffff6769859
eflags         0x10256             [ PF AF ZF IF RF ]
cs             0x33                51
ss             0x2b                43
ds             0x0                 0
es             0x0                 0
fs             0x0                 0
gs             0x0                 0
(gdb) backtrace
#0  0x00007ffff6769859 in ?? ()
#1  0x00007ffff6818810 in ?? ()
#2  0x00007fffe4000b70 in ?? ()
#3  0x00007ffff68184d8 in ?? ()
#4  0x00007fff00000000 in ?? ()
#5  0xfffffffffffffffe in ?? ()
#6  0x00007fffe4000b70 in ?? ()
#7  0x0000000000000000 in ?? ()

hope this helps in some way!

Popax21 commented 2 years ago

To correct my post from above:

I still need this:

$(TUDOR): $(OBJS) $(addprefix bin/windrv/,$(DRVDLLS:.dll=.o))
  @mkdir -p $(dir $@)
  $(CC) $(LFLAGS) -o $@ $^ -lusb-1.0 -lcrypto

otherwise (without '-lusb-1.0 -lcrypto') "make" crashes like the following

...relink/src/winapi/wdf/usb.c:557: undefined reference to `libusb_alloc_transfer'
collect2: error: ld returned 1 exit status
make: *** [Makefile:26: out/tudor] Error 1

In other news, i ran gdb using '-vt' with output:

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[INF] Initializing libcrypto...
[INF] Initializing libusb...
[New Thread 0x7ffff78f5640 (LWP 14267)]
[INF] Found sensor USB device [bus 1 addr 4 vid 0x06cb pid 0x00be]
[INF] Opening sensor USB device...
[INF] Dropping root privileges... [new uid=1000 new gid=1000]
[New Thread 0x7ffff70f4640 (LWP 14268)]
[INF] Initializing tudor driver...
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[INF] Loaded driver DLL 'synaFpAdapter104.dll' [186656 bytes]
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[WRN] Data directory 4 has invalid bounds! [end 0x17ebe0 > image end 0x17e000]
[INF] Loaded driver DLL 'synaWudfBioUsb104.dll' [1567712 bytes]
[INF] Initializing driver DLL 'synaFpAdapter104.dll'...
[INF] Initializing driver DLL 'synaWudfBioUsb104.dll'...
[TRACE][14264][824d7f8b...][0a]  -> DriverEntry
[TRACE][14264][824d7f8b...][0a]         -> vfmCoreEntry::OnInitialize
[TRACE][14264][824d7f8b...][0c]         <- vfmCoreEntry::OnInitialize [0x0]
[TRACE][14264][824d7f8b...][0c]  <- DriverEntry [0x0]
[INF] Loading data from data store '-vt'...
[INF] Opening tudor device...
[TRACE][14264][824d7f8b...][0a]  -> EvtDeviceAdd
[TRACE][14264][824d7f8b...][0d]         -> synaCreateDevice
[TRACE][14264][824d7f8b...][0a]                 -> CSideChannelComm::CSideChannelComm
[TRACE][14264][824d7f8b...][0b]                 <- CSideChannelComm::CSideChannelComm
[TRACE][14264][824d7f8b...][0d]                 -> wdf::CDeviceInitialize::SetLockingConstraint
[TRACE][14264][824d7f8b...][0f]                 <- wdf::CDeviceInitialize::SetLockingConstraint [0x80004001]
[TRACE][14264][824d7f8b...][0a]                 -> wdf::CDriver::CreateDevice
[TRACE][14264][58f95b1a...][0d]                         <X> checkpoint hit <X>
[TRACE][14264][824d7f8b...][0c]                 <- wdf::CDriver::CreateDevice [0x0]
[TRACE][14264][824d7f8b...][0d]                 -> wdf::CDevice::CreateIoQueue
[TRACE][14264][824d7f8b...][0d]                         -> wdf::CQueue::CreateInstance
[TRACE][14264][824d7f8b...][0f]                         <- wdf::CQueue::CreateInstance [0x0]
[TRACE][14264][824d7f8b...][0f]                 <- wdf::CDevice::CreateIoQueue [0x0]
[TRACE][14264][824d7f8b...][0f]         <- synaCreateDevice [0x0]
[TRACE][14264][824d7f8b...][0b]  <- EvtDeviceAdd
[TRACE][14264][824d7f8b...][0d]  -> onPrepareHardware
[TRACE][14264][824d7f8b...][0a]         -> CBiometricDeviceUSB::OnPrepareHardware
[TRACE][14264][824d7f8b...][0a]                 -> CBiometricDevice::PrepareHardware
[TRACE][14264][824d7f8b...][0a]                         -> CBiometricDevice::ValidateDataFromPreviousFails
[TRACE][14264][824d7f8b...][0c]                         <- CBiometricDevice::ValidateDataFromPreviousFails [0x0]
[TRACE][14264][824d7f8b...][0d]                         -> wdf::CDevice::RetrieveDeviceName
[TRACE][14264][824d7f8b...][0f]                         <- wdf::CDevice::RetrieveDeviceName [0x0]
[TRACE][14264][824d7f8b...][0d]                         -> wdf::CDevice::RetrieveDeviceName
[TRACE][14264][824d7f8b...][0f]                         <- wdf::CDevice::RetrieveDeviceName [0x0]
[TRACE][14264][824d7f8b...][0a]                         -> CBiometricDevice::InitializeNiseCore
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397674620: 14264: vfmUtil: vfmUtil: STATUS: vfmUtilSessionInit >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397726589: 14264: vfmUtil: vfmUtil: STATUS: vfmUtilSessionInit <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397753224: 14264: vfmUtil: vfmUtil: STATUS: vfmUtilDeviceOpenWithParam >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397777922: 14264: vfmUtil: vfmUtil: STATUS: _vfmUtilDeviceOpen >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397803556: 14264: synaLib: vfm: STATUS: vfmInitialize >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397825991: 14264: synaLib: palCrypto: STATUS: palCryptoInitialize >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397858284: 14264: synaLib: palCrypto: STATUS: palCryptoInitialize <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397891014: 14264: synaLib: palSensor: STATUS: palUsbDriverInit >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397923603: 14264: synaLib: palSensor: STATUS: palUsbDriverInit <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397955698: 14264: synaLib: tudor: STATUS: tudorInitModule >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2397985596: 14264: synaLib: tudor: STATUS: ssiTudor version: hisd/sw/prerelease/6_0_32_1104_20191121-0-g4d57f46
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398015204: 14264: synaLib: tudor: STATUS: tudorInitModule <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398044309: 14264: synaLib: vfm: STATUS: vfmInitialize <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398078392: 14264: synaLib: vfm: STATUS: vfmDeviceOpen >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398113257: 14264: synaLib: palSensor: STATUS: palUsbDriverOpen >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398152412: 14264: synaLib: palSensor: STATUS: palWinUsbDeviceHandleOpen >>>>>>>>
[TRACE][14264][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbInitialize
[TRACE][14264][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][14264][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][14264][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][14264][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][14264][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][14264][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][14264][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbInitialize [0x0]
[TRACE][14264][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbQueryInterfaceSettings
[TRACE][14264][824d7f8b...][0b]                                 <- CBiometricDeviceUSB::WBFUsbQueryInterfaceSettings
[TRACE][14264][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][14264][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398372846: 14264: synaLib: palSensor: STATUS: Setting interruptEndpoint to 0.
[TRACE][14264][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][14264][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398418733: 14264: synaLib: palSensor: STATUS: Setting interruptEndpoint to 1.
[TRACE][14264][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][14264][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398458775: 14264: synaLib: palSensor: STATUS: Setting interruptEndpoint to 2.
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398478901: 14264: synaLib: palSensor: STATUS: palWinUsbDeviceHandleOpen <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2398508341: 14264: synaLib: palRuntime: STATUS: palThreadBegin >>>>>>>>
[WRN] GetModuleHandleExW called with unsupported flag GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS! [addr=0x7ffff67b2710]
[New Thread 0x7ffff6746640 (LWP 14270)]
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399099193: 14264: synaLib: palRuntime: STATUS: palThreadBegin <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399164308: 14264: synaLib: palSensor: STATUS: palUsbDriverOpen <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399196103: 14264: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399226337: 14264: synaLib: palSensor: WARNING: Unknown Request=0x0000000C
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399254985: 14264: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399276341: 14264: synaLib: tudor: STATUS: tudorOpen >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399296354: 14264: synaLib: tudor: STATUS: tudorUsbProtoOpen >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399316932: 14264: synaLib: tudor: STATUS: tudorUsbProtoOpen <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399336583: 14264: synaLib: tudor: STATUS: tudorOpen <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399357096: 14264: synaLib: vfm: STATUS: vfmDeviceOpen <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399381589: 14264: vfmUtil: vfmUtil: STATUS: _vfmUtilDeviceOpen <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399405364: 14264: vfmUtil: vfmUtil: STATUS: vfmUtilDeviceOpenWithParam <<<<<<<<
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399427936: 14264: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399453287: 14264: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle <<<<<<<<
[TRACE][14264][824d7f8b...][0b]                         <- CBiometricDevice::InitializeNiseCore
[TRACE][14264][824d7f8b...][0d]                         -> wdf::CQueue::Start
[TRACE][14264][824d7f8b...][0f]                         <- wdf::CQueue::Start [0x0]
[TRACE][14264][824d7f8b...][0a]                         -> CBiometricDevice::ProcessDevicePowerSettings
[TRACE][14264][824d7f8b...][0a]                                 -> CBiometricDevice::AssignS0IdleSettings
[TRACE][14264][824d7f8b...][0b]                                 <- CBiometricDevice::AssignS0IdleSettings
[TRACE][14264][824d7f8b...][0c]                         <- CBiometricDevice::ProcessDevicePowerSettings [0x0]
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399555524: 14264: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle >>>>>>>>
[TRACE][14264][2c18840b...][0a] VFM LOG | [0] 2399576470: 14264: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle <<<<<<<<
[New Thread 0x7ffff5f45640 (LWP 14271)]
[TRACE][14264][824d7f8b...][0a]                         -> CBiometricDevice::startSideChannelCommThread
[New Thread 0x7ffff5744640 (LWP 14272)]
[TRACE][14264][824d7f8b...][0b]                         <- CBiometricDevice::startSideChannelCommThread
[TRACE][14264][824d7f8b...][0a]                         -> CUWPPowerStateControl::Register
[TRACE][14264][824d7f8b...][0c]                         <- CUWPPowerStateControl::Register [0x0]
[TRACE][14264][824d7f8b...][0c]                 <- CBiometricDevice::PrepareHardware [0x0]
[TRACE][14264][824d7f8b...][0c]         <- CBiometricDeviceUSB::OnPrepareHardware [0x0]
[TRACE][14264][824d7f8b...][0f]  <- onPrepareHardware [0x0]
[TRACE][14264][824d7f8b...][0d]  -> onD0Entry
[TRACE][14272][824d7f8b...][0a]  -> CBiometricDevice::sideChannelCommThread
[TRACE][14272][824d7f8b...][0a]         -> CSideChannelComm::Start
[TRACE][14264][824d7f8b...][0a]         -> CBiometricDevice::OnD0Entry
[TRACE][14264][824d7f8b...][0a]                 -> CBiometricDevice::InitializeNiseCore
[TRACE][14264][824d7f8b...][0b]                 <- CBiometricDevice::InitializeNiseCore
[TRACE][14272][824d7f8b...][0a]                 -> CSideChannelComm::ConnectToClient
[TRACE][14264][824d7f8b...][0c]         <- CBiometricDevice::OnD0Entry [0x0]
[TRACE][14264][824d7f8b...][0f]  <- onD0Entry [0x0]
[TRACE][14271][824d7f8b...][0a]  -> CBiometricDevice::CDeviceSimpleWaker::CDeviceSimpleWaker
[TRACE][14271][824d7f8b...][0c]  <- CBiometricDevice::CDeviceSimpleWaker::CDeviceSimpleWaker [0x0]
[TRACE][14271][824d7f8b...][0a]  -> CBiometricDevice::ProcessPairing
[TRACE][14271][824d7f8b...][0a]         -> CBiometricDevice::InitAndGetState
[TRACE][14264][824d7f8b...][0d]  -> onDeviceFileCreate
[TRACE][14271][824d7f8b...][0a]                 -> CBiometricDevice::InitializeDevice
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401723222: 14271: synaLib: vfm: STATUS: vfmDeviceInitialize >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401777908: 14271: synaLib: tudor: STATUS: tudorInitDevice >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401800895: 14271: synaLib: tudor: STATUS: _tudorInitDevice >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401820002: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401845655: 14271: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401864954: 14271: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401886936: 14271: synaLib: palSensor: STATUS: palWinHidClose >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401906948: 14271: synaLib: palSensor: STATUS: palWinHidClose <<<<<<<<
[TRACE][14271][824d7f8b...][0a]                         -> CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][14271][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::DeviceReset
[TRACE][14271][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::DeviceReset [0x0]
[TRACE][14271][824d7f8b...][0b]                         <- CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401970899: 14271: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2401993201: 14271: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402014130: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402034733: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402053049: 14271: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402073858: 14271: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402097975: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402121277: 14271: synaLib: tudor: STATUS: CMD SEND: VCSFW_CMD_GET_VERSION
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402141953: 14271: synaLib: tudor: WARNING: TLS context is not initialized.
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402175009: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402181109: 14271: synaLib: palSensor: STATUS: palWinUsbBulkWrite >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402266971: 14271: synaLib: palSensor: STATUS: palWinUsbBulkWrite <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402275803: 14271: synaLib: palSensor: STATUS: palWinUsbBulkRead >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402354242: 14271: synaLib: palSensor: STATUS: palWinUsbBulkRead <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402361888: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402368456: 14271: synaLib: tudor: WARNING: TLS context is not initialized.
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402375416: 14271: synaLib: tudor: STATUS: CMD REPLY: VCSFW_CMD_GET_VERSION
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402382129: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402388755: 14271: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402395480: 14271: synaLib: palSensor: STATUS: palWinUsbGetDeviceDescriptor >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402403279: 14271: synaLib: palSensor: STATUS: palWinUsbGetDeviceDescriptor <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402410012: 14271: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402416679: 14271: synaLib: tudor: STATUS: VCSDRV_IOCTL_DEVICE_INFO ioctl
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402422953: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402430661: 14271: synaLib: tudor: WARNING: Sensor is in Boot Loader mode
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402437315: 14271: synaLib: tudor: STATUS: Device type: 5, FW major: 2, FW minor: 1, FW build num: 10
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402445848: 14271: synaLib: tudor: STATUS: SW release version - major: 6, minor: 0, subminor: 33, build num: 1104
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402453799: 14271: synaLib: tudor: STATUS: _tudorInitDevice <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402460055: 14271: synaLib: tudor: STATUS: tudorInitDevice <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402466323: 14271: synaLib: vfm: STATUS: vfmDeviceInitialize <<<<<<<<
[TRACE][14271][824d7f8b...][0a]                         -> CBiometricDevice::getDeviceInfo
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402484606: 14271: synaLib: vfm: STATUS: vfmDeviceInfoGet >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402491443: 14271: synaLib: tudor: STATUS: tudorGetDeviceInfo >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402497988: 14271: synaLib: tudor: STATUS: tudorGetDeviceInfo <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402504574: 14271: synaLib: tudor: STATUS: tudorIoctl opCode: (22)
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402511523: 14271: synaLib: vfm: STATUS: vfmDeviceInfoGet <<<<<<<<
[TRACE][14271][824d7f8b...][0c]                         <- CBiometricDevice::getDeviceInfo [0x0]
[TRACE][14271][824d7f8b...][0c]                 <- CBiometricDevice::InitializeDevice [0x0]
[TRACE][14271][824d7f8b...][0a]                 -> CBiometricDevice::getDeviceInfo
[TRACE][14271][824d7f8b...][0c]                 <- CBiometricDevice::getDeviceInfo [0x0]
[TRACE][14271][824d7f8b...][0a]                 -> CBiometricDevice::DoDeviceUpdate
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402544491: 14271: synaLib: vfm: STATUS: vfmDeviceUpdateProcess >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402551620: 14271: synaLib: tudor: STATUS: tudorSensorUpdate >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402558778: 14271: synaLib: tudor: WARNING: Sensor is in BL mode at initial state
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402565716: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402572266: 14271: synaLib: palSensor: STATUS: palUsbDriverCtrlRequest >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402662078: 14271: synaLib: palSensor: STATUS: palUsbDriverCtrlRequest <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402670045: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402676911: 14271: synaLib: tudor: STATUS: _tudorInitDevice >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402683123: 14271: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402689959: 14271: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402696384: 14271: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402707208: 14271: synaLib: palSensor: STATUS: palWinHidClose >>>>>>>>
[TRACE][14271][2c18840b...][0a] VFM LOG | [0] 2402715972: 14271: synaLib: palSensor: STATUS: palWinHidClose <<<<<<<<
[TRACE][14271][824d7f8b...][0a]                         -> CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][14271][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::DeviceReset
[TRACE][14271][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::DeviceReset [0x0]

Thread 5 "tudor" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5f45640 (LWP 14271)]
0x00007ffff6769859 in ?? ()
(gdb) x/i $rip
=> 0x7ffff6769859:    cmp    %r9b,(%rdi,%rcx,1)
(gdb) info registers
rax            0x0                 0
rbx            0xffffffffffffffff  -1
rcx            0x0                 0
rdx            0x5                 5
rsi            0x7fffe4000b70      140737018596208
rdi            0x7fff00000000      140733193388032
rbp            0x0                 0x0
rsp            0x7ffff5f44630      0x7ffff5f44630
r8             0x3                 3
r9             0x0                 0
r10            0x0                 0
r11            0x7ffff68b9a48      140737329732168
r12            0xb                 11
r13            0x3                 3
r14            0x7ffff68155b8      140737329059256
r15            0x4                 4
rip            0x7ffff6769859      0x7ffff6769859
eflags         0x10256             [ PF AF ZF IF RF ]
cs             0x33                51
ss             0x2b                43
ds             0x0                 0
es             0x0                 0
fs             0x0                 0
gs             0x0                 0
(gdb) backtrace
#0  0x00007ffff6769859 in ?? ()
#1  0x00007ffff6818810 in ?? ()
#2  0x00007fffe4000b70 in ?? ()
#3  0x00007ffff68184d8 in ?? ()
#4  0x00007fff00000000 in ?? ()
#5  0xfffffffffffffffe in ?? ()
#6  0x00007fffe4000b70 in ?? ()
#7  0x0000000000000000 in ?? ()

hope this helps in some way!

Hm, weird. I sadly won't have time to look into the disassembly to see what crashes the next few days, but other than that, could you post the output of pkg-config --libs libusb-1.0 to help fix the Makefile?

TheZeaX commented 2 years ago

Sure thing, output is

synaTudor/relink$ pkg-config --libs libusb-1.0
-lusb-1.0
Popax21 commented 2 years ago

So it should have already provided the exact linker flags you gave it... Are you sure you have the latest Makefile?

TheZeaX commented 2 years ago

Yes, i did new clone.

But i am unsure if the "linker weirdness" and the segfault are related or different problems all together.

Popax21 commented 2 years ago

Hm, can you try putting the $(LFLAGS) section in the Makefile at the end of the command?

Popax21 commented 2 years ago

Yes, i did new clone.

But i am unsure if the "linker weirdness" and the segfault are related or different problems all together.

They're different, but I'm trying to fix both issues .-.

TheZeaX commented 2 years ago

Hm, can you try putting the $(LFLAGS) section in the Makefile at the end of the command?

yes, this is a valid fix, segfault obviously persists

Popax21 commented 2 years ago

I've got time to look into this now, sadly this looks like it only picked up the -t option, even though I was kinda needing -v to figure out the module's base address. Could you please re-run it with only -v, and check if the program outputs log statements starting with [DBG]? I tried to guess/search for the the instruction in the binary, but I couldn't find it.

TheZeaX commented 2 years ago

even with option -v the output looks identical to the last log dump (and no [DBG])

Popax21 commented 2 years ago

What command do you use to run the application? Note that the flags argument has to come after the datastore file name, so something like run sdata.tds -v

TheZeaX commented 2 years ago

you are right, now i get [DBG] output yet it still looks fairly similar.

(gdb) run fingerprintfile -v -t
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/******/fingerprint/synaTudor/relink/out/tudor fingerprintfile -v -t
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[INF] Initializing libcrypto...
[INF] Initializing libusb...
[New Thread 0x7ffff78f5640 (LWP 6742)]
[INF] Found sensor USB device [bus 1 addr 4 vid 0x06cb pid 0x00be]
[INF] Opening sensor USB device...
[INF] Dropping root privileges... [new uid=1000 new gid=1000]
[New Thread 0x7ffff70f4640 (LWP 6743)]
[INF] Initializing tudor driver...
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[DBG] DLL synaFpAdapter104.dll: PE+ image
[DBG] -> machine: 8664
[DBG] -> image size: 0002f000
[DBG] -> entry point: 0000e594
[DBG] -> num data dirs: 16
[DBG] -> num sections: 6
[DBG] -> num relocations: 853
[DBG] Copied image memory to mapping at 0x7ffff68c5000 - 0x7ffff68f4000
[DBG] Applied 853 relocations
[DBG] Applying memory protections to image
[DBG] -> section      .text | 0x7ffff68c6000 - 0x7ffff68e0143 | r-x
[DBG] -> section     .rdata | 0x7ffff68e1000 - 0x7ffff68ec234 | r--
[DBG] -> section      .data | 0x7ffff68ed000 - 0x7ffff68ef010 | rw-
[DBG] -> section     .pdata | 0x7ffff68f0000 - 0x7ffff68f1818 | r--
[DBG] -> section      .rsrc | 0x7ffff68f2000 - 0x7ffff68f2698 | r--
[DBG] -> section     .reloc | 0x7ffff68f3000 - 0x7ffff68f36f4 | r--
[INF] Loaded driver DLL 'synaFpAdapter104.dll' [186656 bytes]
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[WRN] Data directory 4 has invalid bounds! [end 0x17ebe0 > image end 0x17e000]
[DBG] DLL synaWudfBioUsb104.dll: PE+ image
[DBG] -> machine: 8664
[DBG] -> image size: 0017e000
[DBG] -> entry point: 0004b950
[DBG] -> num data dirs: 16
[DBG] -> num sections: 6
[DBG] -> num relocations: 1681
[DBG] Copied image memory to mapping at 0x7ffff6747000 - 0x7ffff68c5000
[DBG] Applied 1681 relocations
[DBG] Applying memory protections to image
[DBG] -> section      .text | 0x7ffff6748000 - 0x7ffff6812494 | r-x
[DBG] -> section     .rdata | 0x7ffff6813000 - 0x7ffff68a1ba8 | r--
[DBG] -> section      .data | 0x7ffff68a2000 - 0x7ffff68bae54 | rw-
[DBG] -> section     .pdata | 0x7ffff68bb000 - 0x7ffff68c2e0c | r--
[DBG] -> section      .rsrc | 0x7ffff68c3000 - 0x7ffff68c34d0 | r--
[DBG] -> section     .reloc | 0x7ffff68c4000 - 0x7ffff68c4e10 | r--
[INF] Loaded driver DLL 'synaWudfBioUsb104.dll' [1567712 bytes]
[INF] Initializing driver DLL 'synaFpAdapter104.dll'...
[INF] Initializing driver DLL 'synaWudfBioUsb104.dll'...
[DBG] Binding WDF function table 'WUDFx02000' version 2.21#0... [261 functions]
[TRACE][6741][824d7f8b...][0a]  -> DriverEntry
[TRACE][6741][824d7f8b...][0a]         -> vfmCoreEntry::OnInitialize
[TRACE][6741][824d7f8b...][0c]         <- vfmCoreEntry::OnInitialize [0x0]
[TRACE][6741][824d7f8b...][0c]  <- DriverEntry [0x0]
[INF] Loading data from data store 'fingerprintfile'...
[INF] Opening tudor device...
[TRACE][6741][824d7f8b...][0a]  -> EvtDeviceAdd
[TRACE][6741][824d7f8b...][0d]         -> synaCreateDevice
[TRACE][6741][824d7f8b...][0a]                 -> CSideChannelComm::CSideChannelComm
[TRACE][6741][824d7f8b...][0b]                 <- CSideChannelComm::CSideChannelComm
[TRACE][6741][824d7f8b...][0d]                 -> wdf::CDeviceInitialize::SetLockingConstraint
[TRACE][6741][824d7f8b...][0f]                 <- wdf::CDeviceInitialize::SetLockingConstraint [0x80004001]
[TRACE][6741][824d7f8b...][0a]                 -> wdf::CDriver::CreateDevice
[TRACE][6741][58f95b1a...][0d]                         <X> checkpoint hit <X>
[TRACE][6741][824d7f8b...][0c]                 <- wdf::CDriver::CreateDevice [0x0]
[TRACE][6741][824d7f8b...][0d]                 -> wdf::CDevice::CreateIoQueue
[TRACE][6741][824d7f8b...][0d]                         -> wdf::CQueue::CreateInstance
[TRACE][6741][824d7f8b...][0f]                         <- wdf::CQueue::CreateInstance [0x0]
[TRACE][6741][824d7f8b...][0f]                 <- wdf::CDevice::CreateIoQueue [0x0]
[TRACE][6741][824d7f8b...][0f]         <- synaCreateDevice [0x0]
[TRACE][6741][824d7f8b...][0b]  <- EvtDeviceAdd
[DBG] Flushing WDF event queue...
[DBG] Calling WDF device attachment callbacks...
[TRACE][6741][824d7f8b...][0d]  -> onPrepareHardware
[TRACE][6741][824d7f8b...][0a]         -> CBiometricDeviceUSB::OnPrepareHardware
[TRACE][6741][824d7f8b...][0a]                 -> CBiometricDevice::PrepareHardware
[TRACE][6741][824d7f8b...][0a]                         -> CBiometricDevice::ValidateDataFromPreviousFails
[TRACE][6741][824d7f8b...][0c]                         <- CBiometricDevice::ValidateDataFromPreviousFails [0x0]
[TRACE][6741][824d7f8b...][0d]                         -> wdf::CDevice::RetrieveDeviceName
[TRACE][6741][824d7f8b...][0f]                         <- wdf::CDevice::RetrieveDeviceName [0x0]
[TRACE][6741][824d7f8b...][0d]                         -> wdf::CDevice::RetrieveDeviceName
[TRACE][6741][824d7f8b...][0f]                         <- wdf::CDevice::RetrieveDeviceName [0x0]
[TRACE][6741][824d7f8b...][0a]                         -> CBiometricDevice::InitializeNiseCore
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932072856: 6741: vfmUtil: vfmUtil: STATUS: vfmUtilSessionInit >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932140198: 6741: vfmUtil: vfmUtil: STATUS: vfmUtilSessionInit <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932187590: 6741: vfmUtil: vfmUtil: STATUS: vfmUtilDeviceOpenWithParam >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932235524: 6741: vfmUtil: vfmUtil: STATUS: _vfmUtilDeviceOpen >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932281217: 6741: synaLib: vfm: STATUS: vfmInitialize >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932323994: 6741: synaLib: palCrypto: STATUS: palCryptoInitialize >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932390130: 6741: synaLib: palCrypto: STATUS: palCryptoInitialize <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932426302: 6741: synaLib: palSensor: STATUS: palUsbDriverInit >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932481840: 6741: synaLib: palSensor: STATUS: palUsbDriverInit <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932526996: 6741: synaLib: tudor: STATUS: tudorInitModule >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932561340: 6741: synaLib: tudor: STATUS: ssiTudor version: hisd/sw/prerelease/6_0_32_1104_20191121-0-g4d57f46
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932614142: 6741: synaLib: tudor: STATUS: tudorInitModule <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932649808: 6741: synaLib: vfm: STATUS: vfmInitialize <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932676967: 6741: synaLib: vfm: STATUS: vfmDeviceOpen >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932715820: 6741: synaLib: palSensor: STATUS: palUsbDriverOpen >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932778172: 6741: synaLib: palSensor: STATUS: palWinUsbDeviceHandleOpen >>>>>>>>
[TRACE][6741][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbInitialize
[TRACE][6741][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][6741][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][6741][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][6741][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][6741][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][6741][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][6741][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbInitialize [0x0]
[TRACE][6741][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbQueryInterfaceSettings
[TRACE][6741][824d7f8b...][0b]                                 <- CBiometricDeviceUSB::WBFUsbQueryInterfaceSettings
[TRACE][6741][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][6741][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 933084068: 6741: synaLib: palSensor: STATUS: Setting interruptEndpoint to 0.
[TRACE][6741][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][6741][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 933167032: 6741: synaLib: palSensor: STATUS: Setting interruptEndpoint to 1.
[TRACE][6741][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][6741][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 933263539: 6741: synaLib: palSensor: STATUS: Setting interruptEndpoint to 2.
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 933310242: 6741: synaLib: palSensor: STATUS: palWinUsbDeviceHandleOpen <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 933373532: 6741: synaLib: palRuntime: STATUS: palThreadBegin >>>>>>>>
[WRN] GetModuleHandleExW called with unsupported flag GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS! [addr=0x7ffff67b2710]
[New Thread 0x7ffff6746640 (LWP 6745)]
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934177113: 6741: synaLib: palRuntime: STATUS: palThreadBegin <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934227485: 6741: synaLib: palSensor: STATUS: palUsbDriverOpen <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934258045: 6741: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934280957: 6741: synaLib: palSensor: WARNING: Unknown Request=0x0000000C
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934308675: 6741: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934338169: 6741: synaLib: tudor: STATUS: tudorOpen >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934366250: 6741: synaLib: tudor: STATUS: tudorUsbProtoOpen >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934429680: 6741: synaLib: tudor: STATUS: tudorUsbProtoOpen <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934466543: 6741: synaLib: tudor: STATUS: tudorOpen <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934503355: 6741: synaLib: vfm: STATUS: vfmDeviceOpen <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934551079: 6741: vfmUtil: vfmUtil: STATUS: _vfmUtilDeviceOpen <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934594367: 6741: vfmUtil: vfmUtil: STATUS: vfmUtilDeviceOpenWithParam <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934630999: 6741: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934669184: 6741: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle <<<<<<<<
[TRACE][6741][824d7f8b...][0b]                         <- CBiometricDevice::InitializeNiseCore
[TRACE][6741][824d7f8b...][0d]                         -> wdf::CQueue::Start
[TRACE][6741][824d7f8b...][0f]                         <- wdf::CQueue::Start [0x0]
[TRACE][6741][824d7f8b...][0a]                         -> CBiometricDevice::ProcessDevicePowerSettings
[TRACE][6741][824d7f8b...][0a]                                 -> CBiometricDevice::AssignS0IdleSettings
[TRACE][6741][824d7f8b...][0b]                                 <- CBiometricDevice::AssignS0IdleSettings
[TRACE][6741][824d7f8b...][0c]                         <- CBiometricDevice::ProcessDevicePowerSettings [0x0]
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934783548: 6741: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934807338: 6741: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle <<<<<<<<
[New Thread 0x7ffff5f45640 (LWP 6746)]
[TRACE][6741][824d7f8b...][0a]                         -> CBiometricDevice::startSideChannelCommThread
[New Thread 0x7ffff5744640 (LWP 6747)]
[TRACE][6741][824d7f8b...][0b]                         <- CBiometricDevice::startSideChannelCommThread
[TRACE][6741][824d7f8b...][0a]                         -> CUWPPowerStateControl::Register
[TRACE][6741][824d7f8b...][0c]                         <- CUWPPowerStateControl::Register [0x0]
[TRACE][6741][824d7f8b...][0c]                 <- CBiometricDevice::PrepareHardware [0x0]
[TRACE][6741][824d7f8b...][0c]         <- CBiometricDeviceUSB::OnPrepareHardware [0x0]
[TRACE][6741][824d7f8b...][0f]  <- onPrepareHardware [0x0]
[TRACE][6747][824d7f8b...][0a]  -> CBiometricDevice::sideChannelCommThread
[TRACE][6747][824d7f8b...][0a]         -> CSideChannelComm::Start
[TRACE][6741][824d7f8b...][0d]  -> onD0Entry
[TRACE][6741][824d7f8b...][0a]         -> CBiometricDevice::OnD0Entry
[TRACE][6741][824d7f8b...][0a]                 -> CBiometricDevice::InitializeNiseCore
[TRACE][6741][824d7f8b...][0b]                 <- CBiometricDevice::InitializeNiseCore
[TRACE][6747][824d7f8b...][0a]                 -> CSideChannelComm::ConnectToClient
[TRACE][6741][824d7f8b...][0c]         <- CBiometricDevice::OnD0Entry [0x0]
[TRACE][6741][824d7f8b...][0f]  <- onD0Entry [0x0]
[TRACE][6741][824d7f8b...][0d]  -> onDeviceFileCreate
[TRACE][6746][824d7f8b...][0a]  -> CBiometricDevice::CDeviceSimpleWaker::CDeviceSimpleWaker
[TRACE][6746][824d7f8b...][0c]  <- CBiometricDevice::CDeviceSimpleWaker::CDeviceSimpleWaker [0x0]
[TRACE][6746][824d7f8b...][0a]  -> CBiometricDevice::ProcessPairing
[TRACE][6746][824d7f8b...][0a]         -> CBiometricDevice::InitAndGetState
[TRACE][6746][824d7f8b...][0a]                 -> CBiometricDevice::InitializeDevice
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937271776: 6746: synaLib: vfm: STATUS: vfmDeviceInitialize >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937394520: 6746: synaLib: tudor: STATUS: tudorInitDevice >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937434333: 6746: synaLib: tudor: STATUS: _tudorInitDevice >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937484957: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937493802: 6746: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937502955: 6746: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937511074: 6746: synaLib: palSensor: STATUS: palWinHidClose >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937518901: 6746: synaLib: palSensor: STATUS: palWinHidClose <<<<<<<<
[TRACE][6746][824d7f8b...][0a]                         -> CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][6746][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::DeviceReset
[TRACE][6746][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::DeviceReset [0x0]
[TRACE][6746][824d7f8b...][0b]                         <- CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937550502: 6746: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937563707: 6746: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937576045: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937587718: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937598771: 6746: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937610217: 6746: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937620563: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937633685: 6746: synaLib: tudor: STATUS: CMD SEND: VCSFW_CMD_GET_VERSION
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937644256: 6746: synaLib: tudor: WARNING: TLS context is not initialized.
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937655510: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937666680: 6746: synaLib: palSensor: STATUS: palWinUsbBulkWrite >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937804756: 6746: synaLib: palSensor: STATUS: palWinUsbBulkWrite <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937819532: 6746: synaLib: palSensor: STATUS: palWinUsbBulkRead >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937972775: 6746: synaLib: palSensor: STATUS: palWinUsbBulkRead <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937988077: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937997260: 6746: synaLib: tudor: WARNING: TLS context is not initialized.
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938006043: 6746: synaLib: tudor: STATUS: CMD REPLY: VCSFW_CMD_GET_VERSION
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938015219: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938023726: 6746: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938032806: 6746: synaLib: palSensor: STATUS: palWinUsbGetDeviceDescriptor >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938047271: 6746: synaLib: palSensor: STATUS: palWinUsbGetDeviceDescriptor <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938058123: 6746: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938069607: 6746: synaLib: tudor: STATUS: VCSDRV_IOCTL_DEVICE_INFO ioctl
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938078936: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938092068: 6746: synaLib: tudor: WARNING: Sensor is in Boot Loader mode
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938102661: 6746: synaLib: tudor: STATUS: Device type: 5, FW major: 2, FW minor: 1, FW build num: 10
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938113521: 6746: synaLib: tudor: STATUS: SW release version - major: 6, minor: 0, subminor: 33, build num: 1104
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938128237: 6746: synaLib: tudor: STATUS: _tudorInitDevice <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938138488: 6746: synaLib: tudor: STATUS: tudorInitDevice <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938148828: 6746: synaLib: vfm: STATUS: vfmDeviceInitialize <<<<<<<<
[TRACE][6746][824d7f8b...][0a]                         -> CBiometricDevice::getDeviceInfo
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938178234: 6746: synaLib: vfm: STATUS: vfmDeviceInfoGet >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938191197: 6746: synaLib: tudor: STATUS: tudorGetDeviceInfo >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938200252: 6746: synaLib: tudor: STATUS: tudorGetDeviceInfo <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938212035: 6746: synaLib: tudor: STATUS: tudorIoctl opCode: (22)
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938224571: 6746: synaLib: vfm: STATUS: vfmDeviceInfoGet <<<<<<<<
[TRACE][6746][824d7f8b...][0c]                         <- CBiometricDevice::getDeviceInfo [0x0]
[TRACE][6746][824d7f8b...][0c]                 <- CBiometricDevice::InitializeDevice [0x0]
[TRACE][6746][824d7f8b...][0a]                 -> CBiometricDevice::getDeviceInfo
[TRACE][6746][824d7f8b...][0c]                 <- CBiometricDevice::getDeviceInfo [0x0]
[TRACE][6746][824d7f8b...][0a]                 -> CBiometricDevice::DoDeviceUpdate
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938277632: 6746: synaLib: vfm: STATUS: vfmDeviceUpdateProcess >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938291753: 6746: synaLib: tudor: STATUS: tudorSensorUpdate >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938302060: 6746: synaLib: tudor: WARNING: Sensor is in BL mode at initial state
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938314298: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938326654: 6746: synaLib: palSensor: STATUS: palUsbDriverCtrlRequest >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938517170: 6746: synaLib: palSensor: STATUS: palUsbDriverCtrlRequest <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938536102: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938546481: 6746: synaLib: tudor: STATUS: _tudorInitDevice >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938555542: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938566481: 6746: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938578687: 6746: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938588673: 6746: synaLib: palSensor: STATUS: palWinHidClose >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938600429: 6746: synaLib: palSensor: STATUS: palWinHidClose <<<<<<<<
[TRACE][6746][824d7f8b...][0a]                         -> CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][6746][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::DeviceReset
[TRACE][6746][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::DeviceReset [0x0]

Thread 5 "tudor" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5f45640 (LWP 6746)]
0x00007ffff6769859 in ?? ()
(gdb) x/i $rip
=> 0x7ffff6769859:  cmp    %r9b,(%rdi,%rcx,1)
(gdb) info registers
rax            0x0                 0
rbx            0xffffffffffffffff  -1
rcx            0x0                 0
rdx            0x5                 5
rsi            0x7fffe4000b70      140737018596208
rdi            0x7fff00000000      140733193388032
rbp            0x0                 0x0
rsp            0x7ffff5f44630      0x7ffff5f44630
r8             0x3                 3
r9             0x0                 0
r10            0x0                 0
r11            0x7ffff68b9a48      140737329732168
r12            0xb                 11
r13            0x3                 3
r14            0x7ffff68155b8      140737329059256
r15            0x4                 4
rip            0x7ffff6769859      0x7ffff6769859
eflags         0x10256             [ PF AF ZF IF RF ]
cs             0x33                51
ss             0x2b                43
ds             0x0                 0
es             0x0                 0
fs             0x0                 0
gs             0x0                 0
(gdb) backtrace
#0  0x00007ffff6769859 in ?? ()
#1  0x00007ffff6818810 in ?? ()
#2  0x00007fffe4000b70 in ?? ()
#3  0x00007ffff68184d8 in ?? ()
#4  0x00007fff00000000 in ?? ()
#5  0xfffffffffffffffe in ?? ()
#6  0x00007fffe4000b70 in ?? ()
#7  0x0000000000000000 in ?? ()
Popax21 commented 2 years ago

you are right, now i get [DBG] output yet it still looks fairly similar.

(gdb) run fingerprintfile -v -t
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/******/fingerprint/synaTudor/relink/out/tudor fingerprintfile -v -t
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[INF] Initializing libcrypto...
[INF] Initializing libusb...
[New Thread 0x7ffff78f5640 (LWP 6742)]
[INF] Found sensor USB device [bus 1 addr 4 vid 0x06cb pid 0x00be]
[INF] Opening sensor USB device...
[INF] Dropping root privileges... [new uid=1000 new gid=1000]
[New Thread 0x7ffff70f4640 (LWP 6743)]
[INF] Initializing tudor driver...
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[DBG] DLL synaFpAdapter104.dll: PE+ image
[DBG] -> machine: 8664
[DBG] -> image size: 0002f000
[DBG] -> entry point: 0000e594
[DBG] -> num data dirs: 16
[DBG] -> num sections: 6
[DBG] -> num relocations: 853
[DBG] Copied image memory to mapping at 0x7ffff68c5000 - 0x7ffff68f4000
[DBG] Applied 853 relocations
[DBG] Applying memory protections to image
[DBG] -> section      .text | 0x7ffff68c6000 - 0x7ffff68e0143 | r-x
[DBG] -> section     .rdata | 0x7ffff68e1000 - 0x7ffff68ec234 | r--
[DBG] -> section      .data | 0x7ffff68ed000 - 0x7ffff68ef010 | rw-
[DBG] -> section     .pdata | 0x7ffff68f0000 - 0x7ffff68f1818 | r--
[DBG] -> section      .rsrc | 0x7ffff68f2000 - 0x7ffff68f2698 | r--
[DBG] -> section     .reloc | 0x7ffff68f3000 - 0x7ffff68f36f4 | r--
[INF] Loaded driver DLL 'synaFpAdapter104.dll' [186656 bytes]
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[WRN] Data directory 4 has invalid bounds! [end 0x17ebe0 > image end 0x17e000]
[DBG] DLL synaWudfBioUsb104.dll: PE+ image
[DBG] -> machine: 8664
[DBG] -> image size: 0017e000
[DBG] -> entry point: 0004b950
[DBG] -> num data dirs: 16
[DBG] -> num sections: 6
[DBG] -> num relocations: 1681
[DBG] Copied image memory to mapping at 0x7ffff6747000 - 0x7ffff68c5000
[DBG] Applied 1681 relocations
[DBG] Applying memory protections to image
[DBG] -> section      .text | 0x7ffff6748000 - 0x7ffff6812494 | r-x
[DBG] -> section     .rdata | 0x7ffff6813000 - 0x7ffff68a1ba8 | r--
[DBG] -> section      .data | 0x7ffff68a2000 - 0x7ffff68bae54 | rw-
[DBG] -> section     .pdata | 0x7ffff68bb000 - 0x7ffff68c2e0c | r--
[DBG] -> section      .rsrc | 0x7ffff68c3000 - 0x7ffff68c34d0 | r--
[DBG] -> section     .reloc | 0x7ffff68c4000 - 0x7ffff68c4e10 | r--
[INF] Loaded driver DLL 'synaWudfBioUsb104.dll' [1567712 bytes]
[INF] Initializing driver DLL 'synaFpAdapter104.dll'...
[INF] Initializing driver DLL 'synaWudfBioUsb104.dll'...
[DBG] Binding WDF function table 'WUDFx02000' version 2.21#0... [261 functions]
[TRACE][6741][824d7f8b...][0a]  -> DriverEntry
[TRACE][6741][824d7f8b...][0a]         -> vfmCoreEntry::OnInitialize
[TRACE][6741][824d7f8b...][0c]         <- vfmCoreEntry::OnInitialize [0x0]
[TRACE][6741][824d7f8b...][0c]  <- DriverEntry [0x0]
[INF] Loading data from data store 'fingerprintfile'...
[INF] Opening tudor device...
[TRACE][6741][824d7f8b...][0a]  -> EvtDeviceAdd
[TRACE][6741][824d7f8b...][0d]         -> synaCreateDevice
[TRACE][6741][824d7f8b...][0a]                 -> CSideChannelComm::CSideChannelComm
[TRACE][6741][824d7f8b...][0b]                 <- CSideChannelComm::CSideChannelComm
[TRACE][6741][824d7f8b...][0d]                 -> wdf::CDeviceInitialize::SetLockingConstraint
[TRACE][6741][824d7f8b...][0f]                 <- wdf::CDeviceInitialize::SetLockingConstraint [0x80004001]
[TRACE][6741][824d7f8b...][0a]                 -> wdf::CDriver::CreateDevice
[TRACE][6741][58f95b1a...][0d]                         <X> checkpoint hit <X>
[TRACE][6741][824d7f8b...][0c]                 <- wdf::CDriver::CreateDevice [0x0]
[TRACE][6741][824d7f8b...][0d]                 -> wdf::CDevice::CreateIoQueue
[TRACE][6741][824d7f8b...][0d]                         -> wdf::CQueue::CreateInstance
[TRACE][6741][824d7f8b...][0f]                         <- wdf::CQueue::CreateInstance [0x0]
[TRACE][6741][824d7f8b...][0f]                 <- wdf::CDevice::CreateIoQueue [0x0]
[TRACE][6741][824d7f8b...][0f]         <- synaCreateDevice [0x0]
[TRACE][6741][824d7f8b...][0b]  <- EvtDeviceAdd
[DBG] Flushing WDF event queue...
[DBG] Calling WDF device attachment callbacks...
[TRACE][6741][824d7f8b...][0d]  -> onPrepareHardware
[TRACE][6741][824d7f8b...][0a]         -> CBiometricDeviceUSB::OnPrepareHardware
[TRACE][6741][824d7f8b...][0a]                 -> CBiometricDevice::PrepareHardware
[TRACE][6741][824d7f8b...][0a]                         -> CBiometricDevice::ValidateDataFromPreviousFails
[TRACE][6741][824d7f8b...][0c]                         <- CBiometricDevice::ValidateDataFromPreviousFails [0x0]
[TRACE][6741][824d7f8b...][0d]                         -> wdf::CDevice::RetrieveDeviceName
[TRACE][6741][824d7f8b...][0f]                         <- wdf::CDevice::RetrieveDeviceName [0x0]
[TRACE][6741][824d7f8b...][0d]                         -> wdf::CDevice::RetrieveDeviceName
[TRACE][6741][824d7f8b...][0f]                         <- wdf::CDevice::RetrieveDeviceName [0x0]
[TRACE][6741][824d7f8b...][0a]                         -> CBiometricDevice::InitializeNiseCore
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932072856: 6741: vfmUtil: vfmUtil: STATUS: vfmUtilSessionInit >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932140198: 6741: vfmUtil: vfmUtil: STATUS: vfmUtilSessionInit <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932187590: 6741: vfmUtil: vfmUtil: STATUS: vfmUtilDeviceOpenWithParam >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932235524: 6741: vfmUtil: vfmUtil: STATUS: _vfmUtilDeviceOpen >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932281217: 6741: synaLib: vfm: STATUS: vfmInitialize >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932323994: 6741: synaLib: palCrypto: STATUS: palCryptoInitialize >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932390130: 6741: synaLib: palCrypto: STATUS: palCryptoInitialize <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932426302: 6741: synaLib: palSensor: STATUS: palUsbDriverInit >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932481840: 6741: synaLib: palSensor: STATUS: palUsbDriverInit <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932526996: 6741: synaLib: tudor: STATUS: tudorInitModule >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932561340: 6741: synaLib: tudor: STATUS: ssiTudor version: hisd/sw/prerelease/6_0_32_1104_20191121-0-g4d57f46
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932614142: 6741: synaLib: tudor: STATUS: tudorInitModule <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932649808: 6741: synaLib: vfm: STATUS: vfmInitialize <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932676967: 6741: synaLib: vfm: STATUS: vfmDeviceOpen >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932715820: 6741: synaLib: palSensor: STATUS: palUsbDriverOpen >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 932778172: 6741: synaLib: palSensor: STATUS: palWinUsbDeviceHandleOpen >>>>>>>>
[TRACE][6741][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbInitialize
[TRACE][6741][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][6741][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][6741][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][6741][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][6741][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][6741][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][6741][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbInitialize [0x0]
[TRACE][6741][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbQueryInterfaceSettings
[TRACE][6741][824d7f8b...][0b]                                 <- CBiometricDeviceUSB::WBFUsbQueryInterfaceSettings
[TRACE][6741][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][6741][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 933084068: 6741: synaLib: palSensor: STATUS: Setting interruptEndpoint to 0.
[TRACE][6741][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][6741][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 933167032: 6741: synaLib: palSensor: STATUS: Setting interruptEndpoint to 1.
[TRACE][6741][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][6741][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 933263539: 6741: synaLib: palSensor: STATUS: Setting interruptEndpoint to 2.
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 933310242: 6741: synaLib: palSensor: STATUS: palWinUsbDeviceHandleOpen <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 933373532: 6741: synaLib: palRuntime: STATUS: palThreadBegin >>>>>>>>
[WRN] GetModuleHandleExW called with unsupported flag GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS! [addr=0x7ffff67b2710]
[New Thread 0x7ffff6746640 (LWP 6745)]
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934177113: 6741: synaLib: palRuntime: STATUS: palThreadBegin <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934227485: 6741: synaLib: palSensor: STATUS: palUsbDriverOpen <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934258045: 6741: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934280957: 6741: synaLib: palSensor: WARNING: Unknown Request=0x0000000C
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934308675: 6741: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934338169: 6741: synaLib: tudor: STATUS: tudorOpen >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934366250: 6741: synaLib: tudor: STATUS: tudorUsbProtoOpen >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934429680: 6741: synaLib: tudor: STATUS: tudorUsbProtoOpen <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934466543: 6741: synaLib: tudor: STATUS: tudorOpen <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934503355: 6741: synaLib: vfm: STATUS: vfmDeviceOpen <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934551079: 6741: vfmUtil: vfmUtil: STATUS: _vfmUtilDeviceOpen <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934594367: 6741: vfmUtil: vfmUtil: STATUS: vfmUtilDeviceOpenWithParam <<<<<<<<
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934630999: 6741: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934669184: 6741: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle <<<<<<<<
[TRACE][6741][824d7f8b...][0b]                         <- CBiometricDevice::InitializeNiseCore
[TRACE][6741][824d7f8b...][0d]                         -> wdf::CQueue::Start
[TRACE][6741][824d7f8b...][0f]                         <- wdf::CQueue::Start [0x0]
[TRACE][6741][824d7f8b...][0a]                         -> CBiometricDevice::ProcessDevicePowerSettings
[TRACE][6741][824d7f8b...][0a]                                 -> CBiometricDevice::AssignS0IdleSettings
[TRACE][6741][824d7f8b...][0b]                                 <- CBiometricDevice::AssignS0IdleSettings
[TRACE][6741][824d7f8b...][0c]                         <- CBiometricDevice::ProcessDevicePowerSettings [0x0]
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934783548: 6741: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle >>>>>>>>
[TRACE][6741][2c18840b...][0a] VFM LOG | [0] 934807338: 6741: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle <<<<<<<<
[New Thread 0x7ffff5f45640 (LWP 6746)]
[TRACE][6741][824d7f8b...][0a]                         -> CBiometricDevice::startSideChannelCommThread
[New Thread 0x7ffff5744640 (LWP 6747)]
[TRACE][6741][824d7f8b...][0b]                         <- CBiometricDevice::startSideChannelCommThread
[TRACE][6741][824d7f8b...][0a]                         -> CUWPPowerStateControl::Register
[TRACE][6741][824d7f8b...][0c]                         <- CUWPPowerStateControl::Register [0x0]
[TRACE][6741][824d7f8b...][0c]                 <- CBiometricDevice::PrepareHardware [0x0]
[TRACE][6741][824d7f8b...][0c]         <- CBiometricDeviceUSB::OnPrepareHardware [0x0]
[TRACE][6741][824d7f8b...][0f]  <- onPrepareHardware [0x0]
[TRACE][6747][824d7f8b...][0a]  -> CBiometricDevice::sideChannelCommThread
[TRACE][6747][824d7f8b...][0a]         -> CSideChannelComm::Start
[TRACE][6741][824d7f8b...][0d]  -> onD0Entry
[TRACE][6741][824d7f8b...][0a]         -> CBiometricDevice::OnD0Entry
[TRACE][6741][824d7f8b...][0a]                 -> CBiometricDevice::InitializeNiseCore
[TRACE][6741][824d7f8b...][0b]                 <- CBiometricDevice::InitializeNiseCore
[TRACE][6747][824d7f8b...][0a]                 -> CSideChannelComm::ConnectToClient
[TRACE][6741][824d7f8b...][0c]         <- CBiometricDevice::OnD0Entry [0x0]
[TRACE][6741][824d7f8b...][0f]  <- onD0Entry [0x0]
[TRACE][6741][824d7f8b...][0d]  -> onDeviceFileCreate
[TRACE][6746][824d7f8b...][0a]  -> CBiometricDevice::CDeviceSimpleWaker::CDeviceSimpleWaker
[TRACE][6746][824d7f8b...][0c]  <- CBiometricDevice::CDeviceSimpleWaker::CDeviceSimpleWaker [0x0]
[TRACE][6746][824d7f8b...][0a]  -> CBiometricDevice::ProcessPairing
[TRACE][6746][824d7f8b...][0a]         -> CBiometricDevice::InitAndGetState
[TRACE][6746][824d7f8b...][0a]                 -> CBiometricDevice::InitializeDevice
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937271776: 6746: synaLib: vfm: STATUS: vfmDeviceInitialize >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937394520: 6746: synaLib: tudor: STATUS: tudorInitDevice >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937434333: 6746: synaLib: tudor: STATUS: _tudorInitDevice >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937484957: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937493802: 6746: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937502955: 6746: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937511074: 6746: synaLib: palSensor: STATUS: palWinHidClose >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937518901: 6746: synaLib: palSensor: STATUS: palWinHidClose <<<<<<<<
[TRACE][6746][824d7f8b...][0a]                         -> CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][6746][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::DeviceReset
[TRACE][6746][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::DeviceReset [0x0]
[TRACE][6746][824d7f8b...][0b]                         <- CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937550502: 6746: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937563707: 6746: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937576045: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937587718: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937598771: 6746: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937610217: 6746: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937620563: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937633685: 6746: synaLib: tudor: STATUS: CMD SEND: VCSFW_CMD_GET_VERSION
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937644256: 6746: synaLib: tudor: WARNING: TLS context is not initialized.
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937655510: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937666680: 6746: synaLib: palSensor: STATUS: palWinUsbBulkWrite >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937804756: 6746: synaLib: palSensor: STATUS: palWinUsbBulkWrite <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937819532: 6746: synaLib: palSensor: STATUS: palWinUsbBulkRead >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937972775: 6746: synaLib: palSensor: STATUS: palWinUsbBulkRead <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937988077: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 937997260: 6746: synaLib: tudor: WARNING: TLS context is not initialized.
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938006043: 6746: synaLib: tudor: STATUS: CMD REPLY: VCSFW_CMD_GET_VERSION
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938015219: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938023726: 6746: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938032806: 6746: synaLib: palSensor: STATUS: palWinUsbGetDeviceDescriptor >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938047271: 6746: synaLib: palSensor: STATUS: palWinUsbGetDeviceDescriptor <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938058123: 6746: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938069607: 6746: synaLib: tudor: STATUS: VCSDRV_IOCTL_DEVICE_INFO ioctl
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938078936: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938092068: 6746: synaLib: tudor: WARNING: Sensor is in Boot Loader mode
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938102661: 6746: synaLib: tudor: STATUS: Device type: 5, FW major: 2, FW minor: 1, FW build num: 10
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938113521: 6746: synaLib: tudor: STATUS: SW release version - major: 6, minor: 0, subminor: 33, build num: 1104
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938128237: 6746: synaLib: tudor: STATUS: _tudorInitDevice <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938138488: 6746: synaLib: tudor: STATUS: tudorInitDevice <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938148828: 6746: synaLib: vfm: STATUS: vfmDeviceInitialize <<<<<<<<
[TRACE][6746][824d7f8b...][0a]                         -> CBiometricDevice::getDeviceInfo
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938178234: 6746: synaLib: vfm: STATUS: vfmDeviceInfoGet >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938191197: 6746: synaLib: tudor: STATUS: tudorGetDeviceInfo >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938200252: 6746: synaLib: tudor: STATUS: tudorGetDeviceInfo <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938212035: 6746: synaLib: tudor: STATUS: tudorIoctl opCode: (22)
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938224571: 6746: synaLib: vfm: STATUS: vfmDeviceInfoGet <<<<<<<<
[TRACE][6746][824d7f8b...][0c]                         <- CBiometricDevice::getDeviceInfo [0x0]
[TRACE][6746][824d7f8b...][0c]                 <- CBiometricDevice::InitializeDevice [0x0]
[TRACE][6746][824d7f8b...][0a]                 -> CBiometricDevice::getDeviceInfo
[TRACE][6746][824d7f8b...][0c]                 <- CBiometricDevice::getDeviceInfo [0x0]
[TRACE][6746][824d7f8b...][0a]                 -> CBiometricDevice::DoDeviceUpdate
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938277632: 6746: synaLib: vfm: STATUS: vfmDeviceUpdateProcess >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938291753: 6746: synaLib: tudor: STATUS: tudorSensorUpdate >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938302060: 6746: synaLib: tudor: WARNING: Sensor is in BL mode at initial state
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938314298: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938326654: 6746: synaLib: palSensor: STATUS: palUsbDriverCtrlRequest >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938517170: 6746: synaLib: palSensor: STATUS: palUsbDriverCtrlRequest <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938536102: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938546481: 6746: synaLib: tudor: STATUS: _tudorInitDevice >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938555542: 6746: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938566481: 6746: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938578687: 6746: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938588673: 6746: synaLib: palSensor: STATUS: palWinHidClose >>>>>>>>
[TRACE][6746][2c18840b...][0a] VFM LOG | [0] 938600429: 6746: synaLib: palSensor: STATUS: palWinHidClose <<<<<<<<
[TRACE][6746][824d7f8b...][0a]                         -> CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][6746][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::DeviceReset
[TRACE][6746][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::DeviceReset [0x0]

Thread 5 "tudor" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5f45640 (LWP 6746)]

Great, could you now print the crashing address once again because of ASLR and post it + the startup log?

TheZeaX commented 2 years ago

not sure what you mean by startup log but i edited my last post to include the rest

Popax21 commented 2 years ago

Thanks! Gonna look into it now.

Popax21 commented 2 years ago

Seems like it's crashing trying to trace an invalid string. Could you also dump the top of the stack using x/64gx $rsp?

TheZeaX commented 2 years ago

Sure thing!

Thread 5 "tudor" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5f45640 (LWP 8020)]
0x00007ffff6769859 in ?? ()
(gdb) x/64gx $rsp
0x7ffff5f44630: 0x00007ffff6818810  0x00007fffe4000b70
0x7ffff5f44640: 0x00007ffff68184d8  0x00007fff00000000
0x7ffff5f44650: 0xfffffffffffffffe  0x00007fffe4000b70
0x7ffff5f44660: 0x0000000000000000  0x00007ffff67700f0
0x7ffff5f44670: 0x0000000000000000  0x0000000000000000
0x7ffff5f44680: 0x0000000000000000  0x0000000000000000
0x7ffff5f44690: 0x00007ffff68155c0  0x0000000000000003
0x7ffff5f446a0: 0x00007ffff5f44748  0x00007ffff6772ffc
0x7ffff5f446b0: 0x0000000000000000  0x00007ffff5f44738
0x7ffff5f446c0: 0x00007ffff5f44b69  0x0000000000000000
0x7ffff5f446d0: 0x00007ffff6818810  0x00007fffe4000b70
0x7ffff5f446e0: 0x00007fff00000000  0x0000000000000000
0x7ffff5f446f0: 0xfffffffffffffffe  0x000055555576f530
0x7ffff5f44700: 0x0000000000000001  0x00007ffff677231f
0x7ffff5f44710: 0x000055555576f530  0x000055555576f530
0x7ffff5f44720: 0x0000000000000000  0x0000060000000014
0x7ffff5f44730: 0x0000000000000302  0x00007fff00000000
0x7ffff5f44740: 0x0000000000000000  0x00007fffe4000b70
0x7ffff5f44750: 0x00007ffff5f44d50  0x00007ffff67b4164
0x7ffff5f44760: 0x0000000000000000  0x000055555576f0e0
0x7ffff5f44770: 0x00007ffff68a8be8  0x00007ffff68a7d70
0x7ffff5f44780: 0x0000555555775b30  0x00007ffff5f44d50
0x7ffff5f44790: 0x0000000000000000  0x00007ffff67b2a50
0x7ffff5f447a0: 0x0000555555775b30  0x00007ffff68a8b30
0x7ffff5f447b0: 0x00007ffff6824500  0x0000000000000000
0x7ffff5f447c0: 0x00004c39f16bd7e7  0x0000000000000000
0x7ffff5f447d0: 0x000000000000006e  0x00007ffff5f44d50
0x7ffff5f447e0: 0x0000000000000000  0x00007ffff67af8cd
0x7ffff5f447f0: 0x0000555555773bc0  0x00007ffff68a7f48
0x7ffff5f44800: 0x00007ffff6824388  0x0000000000000000
0x7ffff5f44810: 0x0000000000000000  0x0000000000000000
0x7ffff5f44820: 0x0000000000000000  0x0000000000000000
(gdb) 
0x7ffff5f44830: 0x0000000000000000  0x0000000000000000
0x7ffff5f44840: 0x000000000000006e  0x0000000000000000
0x7ffff5f44850: 0x0000555555773bc0  0x0000000000000000
0x7ffff5f44860: 0x00004c39f16bd747  0x0000000000000000
0x7ffff5f44870: 0x0000000000000000  0x00007ffff5f44d50
0x7ffff5f44880: 0x00007ffff5f44d50  0x00007ffff67c972c
0x7ffff5f44890: 0x0000555555773bc0  0x00007fff00000001
0x7ffff5f448a0: 0x0000000000000000  0x0000000000000000
0x7ffff5f448b0: 0x0000000000000000  0x0000000000000000
0x7ffff5f448c0: 0x0000000000000000  0x0000000000000000
0x7ffff5f448d0: 0x0000000000000000  0x0000000000000000
0x7ffff5f448e0: 0x000000000000006e  0x000055555576afa0
0x7ffff5f448f0: 0x0000000000000067  0x0000000000000000
0x7ffff5f44900: 0x0000000000000000  0x0000000000000000
0x7ffff5f44910: 0x0000000000000000  0x00007ffff67a9847
0x7ffff5f44920: 0x00004c39f16bd007  0x65706f2074276e64
0x7ffff5f44930: 0x00004c39f16bdc27  0x00007ffff5f44d50
0x7ffff5f44940: 0x00007ffff5f44d50  0x00007ffff67c1214
0x7ffff5f44950: 0x000055555576afa0  0x00007fff00000068
0x7ffff5f44960: 0x0000000000000000  0x0000000000000000
0x7ffff5f44970: 0x0000000000000000  0x0000000000000000
0x7ffff5f44980: 0x0000000000000000  0x0000000000000000
0x7ffff5f44990: 0x00004c39f16bdc47  0x0000000000000000
0x7ffff5f449a0: 0x000000000000006e  0x00007ffff67d2b4c
0x7ffff5f449b0: 0x0000000000000000  0x0000000000000000
0x7ffff5f449c0: 0x0000000000000000  0x0000000000000000
0x7ffff5f449d0: 0x0000000000000000  0x0000000000000000
0x7ffff5f449e0: 0x0000000000000000  0x0000000000000000
0x7ffff5f449f0: 0x00004c3900000000  0x0000000000000000
0x7ffff5f44a00: 0x00004c39f16bdde7  0x00007ffff5f44d50
0x7ffff5f44a10: 0x0000000000000000  0x00007ffff67c6849
0x7ffff5f44a20: 0x000055555576ae80  0x00007ffff5f44be0
Popax21 commented 2 years ago

This is incredibly weird... Can you try nopping out TraceMessage in src/winapi/log.c? Because it seems like something is corrupting arguments stored on the stack, and TraceMessage use some jank GCC builtin for virtual arguments

TheZeaX commented 2 years ago

What u mean nopping out?

Popax21 commented 2 years ago

What u mean nopping out?

Removing all the code and replacing it with an empty method body

TheZeaX commented 2 years ago

i modified log.c like this,

__winfnc ULONG TraceMessage(HANDLE handle, ULONG flags, GUID *guid, USHORT num, ...) {
    /*win_va_list vas;
    win_va_start(vas, num);
    winlog_trace(*guid, num, vas);
    win_va_end(vas);*/
    return ERROR_SUCCESS;
}
WINAPI(TraceMessage)

yet the segfault is unchanged.

fingerprint/synaTudor/relink/out/tudor fingerprintfile -v -t
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[INF] Initializing libcrypto...
[INF] Initializing libusb...
[New Thread 0x7ffff78f5640 (LWP 9566)]
[INF] Found sensor USB device [bus 1 addr 4 vid 0x06cb pid 0x00be]
[INF] Opening sensor USB device...
[INF] Dropping root privileges... [new uid=1000 new gid=1000]
[New Thread 0x7ffff70f4640 (LWP 9567)]
[INF] Initializing tudor driver...
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[DBG] DLL synaFpAdapter104.dll: PE+ image
[DBG] -> machine: 8664
[DBG] -> image size: 0002f000
[DBG] -> entry point: 0000e594
[DBG] -> num data dirs: 16
[DBG] -> num sections: 6
[DBG] -> num relocations: 853
[DBG] Copied image memory to mapping at 0x7ffff68c5000 - 0x7ffff68f4000
[DBG] Applied 853 relocations
[DBG] Applying memory protections to image
[DBG] -> section      .text | 0x7ffff68c6000 - 0x7ffff68e0143 | r-x
[DBG] -> section     .rdata | 0x7ffff68e1000 - 0x7ffff68ec234 | r--
[DBG] -> section      .data | 0x7ffff68ed000 - 0x7ffff68ef010 | rw-
[DBG] -> section     .pdata | 0x7ffff68f0000 - 0x7ffff68f1818 | r--
[DBG] -> section      .rsrc | 0x7ffff68f2000 - 0x7ffff68f2698 | r--
[DBG] -> section     .reloc | 0x7ffff68f3000 - 0x7ffff68f36f4 | r--
[INF] Loaded driver DLL 'synaFpAdapter104.dll' [186656 bytes]
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[WRN] Data directory 4 has invalid bounds! [end 0x17ebe0 > image end 0x17e000]
[DBG] DLL synaWudfBioUsb104.dll: PE+ image
[DBG] -> machine: 8664
[DBG] -> image size: 0017e000
[DBG] -> entry point: 0004b950
[DBG] -> num data dirs: 16
[DBG] -> num sections: 6
[DBG] -> num relocations: 1681
[DBG] Copied image memory to mapping at 0x7ffff6747000 - 0x7ffff68c5000
[DBG] Applied 1681 relocations
[DBG] Applying memory protections to image
[DBG] -> section      .text | 0x7ffff6748000 - 0x7ffff6812494 | r-x
[DBG] -> section     .rdata | 0x7ffff6813000 - 0x7ffff68a1ba8 | r--
[DBG] -> section      .data | 0x7ffff68a2000 - 0x7ffff68bae54 | rw-
[DBG] -> section     .pdata | 0x7ffff68bb000 - 0x7ffff68c2e0c | r--
[DBG] -> section      .rsrc | 0x7ffff68c3000 - 0x7ffff68c34d0 | r--
[DBG] -> section     .reloc | 0x7ffff68c4000 - 0x7ffff68c4e10 | r--
[INF] Loaded driver DLL 'synaWudfBioUsb104.dll' [1567712 bytes]
[INF] Initializing driver DLL 'synaFpAdapter104.dll'...
[INF] Initializing driver DLL 'synaWudfBioUsb104.dll'...
[DBG] Binding WDF function table 'WUDFx02000' version 2.21#0... [261 functions]
[TRACE][9563][824d7f8b...][0a]  -> DriverEntry
[TRACE][9563][824d7f8b...][0a]         -> vfmCoreEntry::OnInitialize
[TRACE][9563][824d7f8b...][0c]         <- vfmCoreEntry::OnInitialize [0x0]
[TRACE][9563][824d7f8b...][0c]  <- DriverEntry [0x0]
[INF] Loading data from data store 'fingerprintfile'...
[INF] Opening tudor device...
[TRACE][9563][824d7f8b...][0a]  -> EvtDeviceAdd
[TRACE][9563][824d7f8b...][0d]         -> synaCreateDevice
[TRACE][9563][824d7f8b...][0a]                 -> CSideChannelComm::CSideChannelComm
[TRACE][9563][824d7f8b...][0b]                 <- CSideChannelComm::CSideChannelComm
[TRACE][9563][824d7f8b...][0d]                 -> wdf::CDeviceInitialize::SetLockingConstraint
[TRACE][9563][824d7f8b...][0f]                 <- wdf::CDeviceInitialize::SetLockingConstraint [0x80004001]
[TRACE][9563][824d7f8b...][0a]                 -> wdf::CDriver::CreateDevice
[TRACE][9563][58f95b1a...][0d]                         <X> checkpoint hit <X>
[TRACE][9563][824d7f8b...][0c]                 <- wdf::CDriver::CreateDevice [0x0]
[TRACE][9563][824d7f8b...][0d]                 -> wdf::CDevice::CreateIoQueue
[TRACE][9563][824d7f8b...][0d]                         -> wdf::CQueue::CreateInstance
[TRACE][9563][824d7f8b...][0f]                         <- wdf::CQueue::CreateInstance [0x0]
[TRACE][9563][824d7f8b...][0f]                 <- wdf::CDevice::CreateIoQueue [0x0]
[TRACE][9563][824d7f8b...][0f]         <- synaCreateDevice [0x0]
[TRACE][9563][824d7f8b...][0b]  <- EvtDeviceAdd
[DBG] Flushing WDF event queue...
[DBG] Calling WDF device attachment callbacks...
[TRACE][9563][824d7f8b...][0d]  -> onPrepareHardware
[TRACE][9563][824d7f8b...][0a]         -> CBiometricDeviceUSB::OnPrepareHardware
[TRACE][9563][824d7f8b...][0a]                 -> CBiometricDevice::PrepareHardware
[TRACE][9563][824d7f8b...][0a]                         -> CBiometricDevice::ValidateDataFromPreviousFails
[TRACE][9563][824d7f8b...][0c]                         <- CBiometricDevice::ValidateDataFromPreviousFails [0x0]
[TRACE][9563][824d7f8b...][0d]                         -> wdf::CDevice::RetrieveDeviceName
[TRACE][9563][824d7f8b...][0f]                         <- wdf::CDevice::RetrieveDeviceName [0x0]
[TRACE][9563][824d7f8b...][0d]                         -> wdf::CDevice::RetrieveDeviceName
[TRACE][9563][824d7f8b...][0f]                         <- wdf::CDevice::RetrieveDeviceName [0x0]
[TRACE][9563][824d7f8b...][0a]                         -> CBiometricDevice::InitializeNiseCore
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2478108465: 9563: vfmUtil: vfmUtil: STATUS: vfmUtilSessionInit >>>>>>>>
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2478178719: 9563: vfmUtil: vfmUtil: STATUS: vfmUtilSessionInit <<<<<<<<
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2478216827: 9563: vfmUtil: vfmUtil: STATUS: vfmUtilDeviceOpenWithParam >>>>>>>>
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2478260913: 9563: vfmUtil: vfmUtil: STATUS: _vfmUtilDeviceOpen >>>>>>>>
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2478305039: 9563: synaLib: vfm: STATUS: vfmInitialize >>>>>>>>
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2478339303: 9563: synaLib: palCrypto: STATUS: palCryptoInitialize >>>>>>>>
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2478382530: 9563: synaLib: palCrypto: STATUS: palCryptoInitialize <<<<<<<<
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2478420162: 9563: synaLib: palSensor: STATUS: palUsbDriverInit >>>>>>>>
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2478469753: 9563: synaLib: palSensor: STATUS: palUsbDriverInit <<<<<<<<
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2478500450: 9563: synaLib: tudor: STATUS: tudorInitModule >>>>>>>>
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2478532836: 9563: synaLib: tudor: STATUS: ssiTudor version: hisd/sw/prerelease/6_0_32_1104_20191121-0-g4d57f46
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2478557705: 9563: synaLib: tudor: STATUS: tudorInitModule <<<<<<<<
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2478591885: 9563: synaLib: vfm: STATUS: vfmInitialize <<<<<<<<
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2478627445: 9563: synaLib: vfm: STATUS: vfmDeviceOpen >>>>>>>>
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2478662780: 9563: synaLib: palSensor: STATUS: palUsbDriverOpen >>>>>>>>
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2478699637: 9563: synaLib: palSensor: STATUS: palWinUsbDeviceHandleOpen >>>>>>>>
[TRACE][9563][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbInitialize
[TRACE][9563][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][9563][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][9563][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][9563][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][9563][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][9563][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][9563][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbInitialize [0x0]
[TRACE][9563][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbQueryInterfaceSettings
[TRACE][9563][824d7f8b...][0b]                                 <- CBiometricDeviceUSB::WBFUsbQueryInterfaceSettings
[TRACE][9563][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][9563][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2479021254: 9563: synaLib: palSensor: STATUS: Setting interruptEndpoint to 0.
[TRACE][9563][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][9563][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2479076951: 9563: synaLib: palSensor: STATUS: Setting interruptEndpoint to 1.
[TRACE][9563][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][9563][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2479119730: 9563: synaLib: palSensor: STATUS: Setting interruptEndpoint to 2.
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2479152728: 9563: synaLib: palSensor: STATUS: palWinUsbDeviceHandleOpen <<<<<<<<
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2479200274: 9563: synaLib: palRuntime: STATUS: palThreadBegin >>>>>>>>
[WRN] GetModuleHandleExW called with unsupported flag GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS! [addr=0x7ffff67b2710]
[New Thread 0x7ffff6746640 (LWP 9569)]
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2480020511: 9563: synaLib: palRuntime: STATUS: palThreadBegin <<<<<<<<
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2480091128: 9563: synaLib: palSensor: STATUS: palUsbDriverOpen <<<<<<<<
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2480132046: 9563: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2480164127: 9563: synaLib: palSensor: WARNING: Unknown Request=0x0000000C
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2480196799: 9563: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2480242006: 9563: synaLib: tudor: STATUS: tudorOpen >>>>>>>>
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2480278515: 9563: synaLib: tudor: STATUS: tudorUsbProtoOpen >>>>>>>>
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2480316312: 9563: synaLib: tudor: STATUS: tudorUsbProtoOpen <<<<<<<<
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2480355235: 9563: synaLib: tudor: STATUS: tudorOpen <<<<<<<<
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2480425096: 9563: synaLib: vfm: STATUS: vfmDeviceOpen <<<<<<<<
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2480482846: 9563: vfmUtil: vfmUtil: STATUS: _vfmUtilDeviceOpen <<<<<<<<
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2480515944: 9563: vfmUtil: vfmUtil: STATUS: vfmUtilDeviceOpenWithParam <<<<<<<<
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2480547609: 9563: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle >>>>>>>>
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2480586144: 9563: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle <<<<<<<<
[TRACE][9563][824d7f8b...][0b]                         <- CBiometricDevice::InitializeNiseCore
[TRACE][9563][824d7f8b...][0d]                         -> wdf::CQueue::Start
[TRACE][9563][824d7f8b...][0f]                         <- wdf::CQueue::Start [0x0]
[TRACE][9563][824d7f8b...][0a]                         -> CBiometricDevice::ProcessDevicePowerSettings
[TRACE][9563][824d7f8b...][0a]                                 -> CBiometricDevice::AssignS0IdleSettings
[TRACE][9563][824d7f8b...][0b]                                 <- CBiometricDevice::AssignS0IdleSettings
[TRACE][9563][824d7f8b...][0c]                         <- CBiometricDevice::ProcessDevicePowerSettings [0x0]
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2480706142: 9563: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle >>>>>>>>
[TRACE][9563][2c18840b...][0a] VFM LOG | [0] 2480731579: 9563: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle <<<<<<<<
[New Thread 0x7ffff5f45640 (LWP 9570)]
[TRACE][9563][824d7f8b...][0a]                         -> CBiometricDevice::startSideChannelCommThread
[New Thread 0x7ffff5744640 (LWP 9571)]
[TRACE][9563][824d7f8b...][0b]                         <- CBiometricDevice::startSideChannelCommThread
[TRACE][9563][824d7f8b...][0a]                         -> CUWPPowerStateControl::Register
[TRACE][9563][824d7f8b...][0c]                         <- CUWPPowerStateControl::Register [0x0]
[TRACE][9563][824d7f8b...][0c]                 <- CBiometricDevice::PrepareHardware [0x0]
[TRACE][9563][824d7f8b...][0c]         <- CBiometricDeviceUSB::OnPrepareHardware [0x0]
[TRACE][9563][824d7f8b...][0f]  <- onPrepareHardware [0x0]
[TRACE][9563][824d7f8b...][0d]  -> onD0Entry
[TRACE][9563][824d7f8b...][0a]         -> CBiometricDevice::OnD0Entry
[TRACE][9563][824d7f8b...][0a]                 -> CBiometricDevice::InitializeNiseCore
[TRACE][9563][824d7f8b...][0b]                 <- CBiometricDevice::InitializeNiseCore
[TRACE][9563][824d7f8b...][0c]         <- CBiometricDevice::OnD0Entry [0x0]
[TRACE][9563][824d7f8b...][0f]  <- onD0Entry [0x0]
[TRACE][9563][824d7f8b...][0d]  -> onDeviceFileCreate
[TRACE][9571][824d7f8b...][0a]  -> CBiometricDevice::sideChannelCommThread
[TRACE][9571][824d7f8b...][0a]         -> CSideChannelComm::Start
[TRACE][9571][824d7f8b...][0a]                 -> CSideChannelComm::ConnectToClient
[TRACE][9570][824d7f8b...][0a]  -> CBiometricDevice::CDeviceSimpleWaker::CDeviceSimpleWaker
[TRACE][9570][824d7f8b...][0c]  <- CBiometricDevice::CDeviceSimpleWaker::CDeviceSimpleWaker [0x0]
[TRACE][9570][824d7f8b...][0a]  -> CBiometricDevice::ProcessPairing
[TRACE][9570][824d7f8b...][0a]         -> CBiometricDevice::InitAndGetState
[TRACE][9570][824d7f8b...][0a]                 -> CBiometricDevice::InitializeDevice
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2482500833: 9570: synaLib: vfm: STATUS: vfmDeviceInitialize >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2482583967: 9570: synaLib: tudor: STATUS: tudorInitDevice >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2482617022: 9570: synaLib: tudor: STATUS: _tudorInitDevice >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2482644170: 9570: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2482686621: 9570: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2482720852: 9570: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2482753820: 9570: synaLib: palSensor: STATUS: palWinHidClose >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2482787031: 9570: synaLib: palSensor: STATUS: palWinHidClose <<<<<<<<
[TRACE][9570][824d7f8b...][0a]                         -> CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][9570][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::DeviceReset
[TRACE][9570][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::DeviceReset [0x0]
[TRACE][9570][824d7f8b...][0b]                         <- CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2482888087: 9570: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout <<<<<<<<
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2482921666: 9570: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2482958056: 9570: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483007195: 9570: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483039922: 9570: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483073336: 9570: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483108910: 9570: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483148742: 9570: synaLib: tudor: STATUS: CMD SEND: VCSFW_CMD_GET_VERSION
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483187126: 9570: synaLib: tudor: WARNING: TLS context is not initialized.
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483214792: 9570: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483220784: 9570: synaLib: palSensor: STATUS: palWinUsbBulkWrite >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483311192: 9570: synaLib: palSensor: STATUS: palWinUsbBulkWrite <<<<<<<<
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483322769: 9570: synaLib: palSensor: STATUS: palWinUsbBulkRead >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483411495: 9570: synaLib: palSensor: STATUS: palWinUsbBulkRead <<<<<<<<
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483421196: 9570: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483427409: 9570: synaLib: tudor: WARNING: TLS context is not initialized.
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483433252: 9570: synaLib: tudor: STATUS: CMD REPLY: VCSFW_CMD_GET_VERSION
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483439493: 9570: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483445002: 9570: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483451288: 9570: synaLib: palSensor: STATUS: palWinUsbGetDeviceDescriptor >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483458062: 9570: synaLib: palSensor: STATUS: palWinUsbGetDeviceDescriptor <<<<<<<<
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483463709: 9570: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483469590: 9570: synaLib: tudor: STATUS: VCSDRV_IOCTL_DEVICE_INFO ioctl
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483475200: 9570: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483480649: 9570: synaLib: tudor: WARNING: Sensor is in Boot Loader mode
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483487975: 9570: synaLib: tudor: STATUS: Device type: 5, FW major: 2, FW minor: 1, FW build num: 10
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483494559: 9570: synaLib: tudor: STATUS: SW release version - major: 6, minor: 0, subminor: 33, build num: 1104
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483501446: 9570: synaLib: tudor: STATUS: _tudorInitDevice <<<<<<<<
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483507175: 9570: synaLib: tudor: STATUS: tudorInitDevice <<<<<<<<
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483512904: 9570: synaLib: vfm: STATUS: vfmDeviceInitialize <<<<<<<<
[TRACE][9570][824d7f8b...][0a]                         -> CBiometricDevice::getDeviceInfo
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483528476: 9570: synaLib: vfm: STATUS: vfmDeviceInfoGet >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483534338: 9570: synaLib: tudor: STATUS: tudorGetDeviceInfo >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483540172: 9570: synaLib: tudor: STATUS: tudorGetDeviceInfo <<<<<<<<
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483546130: 9570: synaLib: tudor: STATUS: tudorIoctl opCode: (22)
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483552228: 9570: synaLib: vfm: STATUS: vfmDeviceInfoGet <<<<<<<<
[TRACE][9570][824d7f8b...][0c]                         <- CBiometricDevice::getDeviceInfo [0x0]
[TRACE][9570][824d7f8b...][0c]                 <- CBiometricDevice::InitializeDevice [0x0]
[TRACE][9570][824d7f8b...][0a]                 -> CBiometricDevice::getDeviceInfo
[TRACE][9570][824d7f8b...][0c]                 <- CBiometricDevice::getDeviceInfo [0x0]
[TRACE][9570][824d7f8b...][0a]                 -> CBiometricDevice::DoDeviceUpdate
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483581554: 9570: synaLib: vfm: STATUS: vfmDeviceUpdateProcess >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483587478: 9570: synaLib: tudor: STATUS: tudorSensorUpdate >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483593480: 9570: synaLib: tudor: WARNING: Sensor is in BL mode at initial state
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483599712: 9570: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483605155: 9570: synaLib: palSensor: STATUS: palUsbDriverCtrlRequest >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483710757: 9570: synaLib: palSensor: STATUS: palUsbDriverCtrlRequest <<<<<<<<
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483720784: 9570: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483726668: 9570: synaLib: tudor: STATUS: _tudorInitDevice >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483733518: 9570: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483739253: 9570: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483746383: 9570: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483751807: 9570: synaLib: palSensor: STATUS: palWinHidClose >>>>>>>>
[TRACE][9570][2c18840b...][0a] VFM LOG | [0] 2483757352: 9570: synaLib: palSensor: STATUS: palWinHidClose <<<<<<<<
[TRACE][9570][824d7f8b...][0a]                         -> CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][9570][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::DeviceReset
[TRACE][9570][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::DeviceReset [0x0]

Thread 5 "tudor" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5f45640 (LWP 9570)]
0x00007ffff6769859 in ?? ()
(gdb) x/64gx $rsp
0x7ffff5f44630: 0x00007ffff6818810  0x00007fffe4000b70
0x7ffff5f44640: 0x00007ffff68184d8  0x00007fff00000000
0x7ffff5f44650: 0xfffffffffffffffe  0x00007fffe4000b70
0x7ffff5f44660: 0x0000000000000000  0x00007ffff67700f0
0x7ffff5f44670: 0x0000000000000000  0x0000000000000000
0x7ffff5f44680: 0x0000000000000000  0x0000000000000000
0x7ffff5f44690: 0x00007ffff68155c0  0x0000000000000003
0x7ffff5f446a0: 0x00007ffff5f44748  0x00007ffff6772ffc
0x7ffff5f446b0: 0x0000000000000000  0x00007ffff5f44738
0x7ffff5f446c0: 0x00007ffff5f44b69  0x0000000000000000
0x7ffff5f446d0: 0x00007ffff6818810  0x00007fffe4000b70
0x7ffff5f446e0: 0x00007fff00000000  0x0000000000000000
0x7ffff5f446f0: 0xfffffffffffffffe  0x000055555576f530
0x7ffff5f44700: 0x0000000000000001  0x00007ffff677231f
0x7ffff5f44710: 0x000055555576f530  0x000055555576f530
0x7ffff5f44720: 0x0000000000000000  0x0000060000000014
0x7ffff5f44730: 0x0000000000000302  0x00007fff00000000
0x7ffff5f44740: 0x0000000000000000  0x00007fffe4000b70
0x7ffff5f44750: 0x00007ffff5f44d50  0x00007ffff67b4164
0x7ffff5f44760: 0x0000000000000000  0x000055555576f0e0
0x7ffff5f44770: 0x00007ffff68a8be8  0x00007ffff68a7d70
0x7ffff5f44780: 0x0000555555775b30  0x00007ffff5f44d50
0x7ffff5f44790: 0x0000000000000000  0x00007ffff67b2a50
0x7ffff5f447a0: 0x0000555555775b30  0x00007ffff68a8b30
0x7ffff5f447b0: 0x00007ffff6824500  0x0000000000000000
0x7ffff5f447c0: 0x000043c7df1ecd2e  0x0000000000000000
0x7ffff5f447d0: 0x000000000000006e  0x00007ffff5f44d50
0x7ffff5f447e0: 0x0000000000000000  0x00007ffff67af8cd
0x7ffff5f447f0: 0x0000555555773bc0  0x00007ffff68a7f48
0x7ffff5f44800: 0x00007ffff6824388  0x0000000000000000
0x7ffff5f44810: 0x0000000000000000  0x0000000000000000
0x7ffff5f44820: 0x0000000000000000  0x0000000000000000
Popax21 commented 2 years ago

Did you recompile the library? Because you shouldn't be seeing any trace output after the modification

TheZeaX commented 2 years ago

I don't understand. Yes, i used the Makefile to recompile, the traces come from -t option, no?

Popax21 commented 2 years ago

I don't understand. Yes, i used the Makefile to recompile, the traces come from -t option, no?

Yeah, but when you removed the body of TraceMessage you should have removed the code printing those traces

TheZeaX commented 2 years ago

i recompiled again for sanity sake, then 'sudo gdb out/tudor', then 'run fingerprintfile -v -t'. same output

Popax21 commented 2 years ago

Can you try running make clean before recompiling?

TheZeaX commented 2 years ago

Can you try running make clean before recompiling?

i always do. i can try to re-clone tho...

Popax21 commented 2 years ago

Hm, weird. You can revert the patch then. Can you run x/32i <crash address, replace last two digits with 04> in GDB?

TheZeaX commented 2 years ago

first part is what i believe crash address, second part with 04:

(gdb) x/32i 0x00007ffff6769859
=> 0x7ffff6769859:  cmp    %r9b,(%rdi,%rcx,1)
   0x7ffff676985d:  jne    0x7ffff6769856
   0x7ffff676985f:  inc    %rcx
   0x7ffff6769862:  jmp    0x7ffff6769867
   0x7ffff6769864:  mov    %rdx,%rcx
   0x7ffff6769867:  test   %rsi,%rsi
   0x7ffff676986a:  je     0x7ffff676987a
   0x7ffff676986c:  inc    %rbx
   0x7ffff676986f:  cmp    %r9b,(%rsi,%rbx,1)
   0x7ffff6769873:  jne    0x7ffff676986c
   0x7ffff6769875:  inc    %rbx
   0x7ffff6769878:  jmp    0x7ffff676987d
   0x7ffff676987a:  mov    %rdx,%rbx
   0x7ffff676987d:  mov    %r9,0x48(%rsp)
   0x7ffff6769882:  test   %rdi,%rdi
   0x7ffff6769885:  mov    0xa0(%rsp),%r9
   0x7ffff676988d:  mov    %r14,%rax
   0x7ffff6769890:  mov    %rcx,0x40(%rsp)
   0x7ffff6769895:  cmovne %rdi,%rax
   0x7ffff6769899:  mov    0x80(%rsp),%rcx
   0x7ffff67698a1:  test   %rsi,%rsi
   0x7ffff67698a4:  mov    %rax,0x38(%rsp)
   0x7ffff67698a9:  mov    %r13d,%r8d
   0x7ffff67698ac:  cmovne %rsi,%r14
   0x7ffff67698b0:  mov    %rbx,0x30(%rsp)
   0x7ffff67698b5:  mov    %r14,0x28(%rsp)
   0x7ffff67698ba:  movzbl %r15b,%edx
   0x7ffff67698be:  mov    %r12w,0x20(%rsp)
   0x7ffff67698c4:  call   0x7ffff677d81e
   0x7ffff67698c9:  lea    0x50(%rsp),%r11
   0x7ffff67698ce:  mov    0x38(%r11),%rbx
   0x7ffff67698d2:  mov    0x40(%r11),%rbp
(gdb) x/32i 0x00007ffff6769804
   0x7ffff6769804:  test   %rdi,%rdi
   0x7ffff6769807:  mov    %r8,0x38(%rsp)
   0x7ffff676980c:  mov    %r14,%rcx
   0x7ffff676980f:  mov    0xa0(%rsp),%r8
   0x7ffff6769817:  cmovne %rdi,%rcx
   0x7ffff676981b:  mov    %rcx,0x30(%rsp)
   0x7ffff6769820:  test   %rsi,%rsi
   0x7ffff6769823:  mov    0x10(%r10,%r11,1),%rcx
   0x7ffff6769828:  mov    %r14,%rax
   0x7ffff676982b:  mov    %rdx,0x28(%rsp)
   0x7ffff6769830:  cmovne %rsi,%rax
   0x7ffff6769834:  movzwl %r12w,%r9d
   0x7ffff6769838:  mov    $0x2b,%edx
   0x7ffff676983d:  mov    %rax,0x20(%rsp)
   0x7ffff6769842:  call   0x7ffff677d818
   0x7ffff6769847:  xor    %r9d,%r9d
   0x7ffff676984a:  lea    0x5(%r9),%edx
   0x7ffff676984e:  test   %rdi,%rdi
   0x7ffff6769851:  je     0x7ffff6769864
   0x7ffff6769853:  mov    %rbx,%rcx
   0x7ffff6769856:  inc    %rcx
=> 0x7ffff6769859:  cmp    %r9b,(%rdi,%rcx,1)
   0x7ffff676985d:  jne    0x7ffff6769856
   0x7ffff676985f:  inc    %rcx
   0x7ffff6769862:  jmp    0x7ffff6769867
   0x7ffff6769864:  mov    %rdx,%rcx
   0x7ffff6769867:  test   %rsi,%rsi
   0x7ffff676986a:  je     0x7ffff676987a
   0x7ffff676986c:  inc    %rbx
   0x7ffff676986f:  cmp    %r9b,(%rsi,%rbx,1)
   0x7ffff6769873:  jne    0x7ffff676986c
   0x7ffff6769875:  inc    %rbx
Popax21 commented 2 years ago

Could you run x/32i <crash address + 0x8A67>?

TheZeaX commented 2 years ago
Thread 5 "tudor" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5f45640 (LWP 12372)]
0x00007ffff6769859 in ?? ()
(gdb) x/32i 0x00007ffff6769859 + 0x8A67
   0x7ffff67722c0:  rex push %rdi
   0x7ffff67722c2:  sub    $0x40,%rsp
   0x7ffff67722c6:  movq   $0xfffffffffffffffe,0x20(%rsp)
   0x7ffff67722cf:  mov    %rbx,0x58(%rsp)
   0x7ffff67722d4:  mov    %rcx,%rbx
   0x7ffff67722d7:  xor    %r8d,%r8d
   0x7ffff67722da:  lea    0xa63b7(%rip),%rdx        # 0x7ffff6818698
   0x7ffff67722e1:  lea    0x28(%rsp),%rcx
   0x7ffff67722e6:  call   0x7ffff6772e8c
   0x7ffff67722eb:  nop
   0x7ffff67722ec:  xor    %edi,%edi
   0x7ffff67722ee:  mov    %dil,0x50(%rsp)
   0x7ffff67722f3:  lea    -0x450(%rbx),%rcx
   0x7ffff67722fa:  mov    (%rcx),%rax
   0x7ffff67722fd:  lea    0x50(%rsp),%rdx
   0x7ffff6772302:  mov    0x40(%rax),%rax
   0x7ffff6772306:  call   *0xa13b4(%rip)        # 0x7ffff68136c0
   0x7ffff677230c:  cmp    %dil,0x50(%rsp)
   0x7ffff6772311:  sete   %dil
   0x7ffff6772315:  lea    0x28(%rsp),%rcx
   0x7ffff677231a:  call   0x7ffff6772f9c
   0x7ffff677231f:  mov    %edi,%eax
   0x7ffff6772321:  mov    0x58(%rsp),%rbx
   0x7ffff6772326:  add    $0x40,%rsp
   0x7ffff677232a:  pop    %rdi
   0x7ffff677232b:  ret    
   0x7ffff677232c:  int3   
   0x7ffff677232d:  int3   
   0x7ffff677232e:  int3   
   0x7ffff677232f:  int3   
   0x7ffff6772330:  mov    %rsp,%rax
   0x7ffff6772333:  push   %rbx
Popax21 commented 2 years ago

Can you set a breakpoint at both 0x7ffff67722eb and 0x7ffff677231a, and run x/32gx $rsp when they're hit?

TheZeaX commented 2 years ago

I believe the breakpoints aren't caught.

(gdb) break 0x7ffff67722eb
Function "0x7ffff67722eb" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (0x7ffff67722eb) pending.
(gdb) break 0x7ffff677231a
Function "0x7ffff677231a" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 2 (0x7ffff677231a) pending.
(gdb) run fingerprintfile -v -t
Starting program: /home/*****/fingerprint/synaTudor/relink/out/tudor fingerprintfile -v -t
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[INF] Initializing libcrypto...
[INF] Initializing libusb...
[New Thread 0x7ffff78f5640 (LWP 12865)]
[INF] Found sensor USB device [bus 1 addr 4 vid 0x06cb pid 0x00be]
[INF] Opening sensor USB device...
[INF] Dropping root privileges... [new uid=1000 new gid=1000]
[New Thread 0x7ffff70f4640 (LWP 12866)]
[INF] Initializing tudor driver...
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[DBG] DLL synaFpAdapter104.dll: PE+ image
[DBG] -> machine: 8664
[DBG] -> image size: 0002f000
[DBG] -> entry point: 0000e594
[DBG] -> num data dirs: 16
[DBG] -> num sections: 6
[DBG] -> num relocations: 853
[DBG] Copied image memory to mapping at 0x7ffff68c5000 - 0x7ffff68f4000
[DBG] Applied 853 relocations
[DBG] Applying memory protections to image
[DBG] -> section      .text | 0x7ffff68c6000 - 0x7ffff68e0143 | r-x
[DBG] -> section     .rdata | 0x7ffff68e1000 - 0x7ffff68ec234 | r--
[DBG] -> section      .data | 0x7ffff68ed000 - 0x7ffff68ef010 | rw-
[DBG] -> section     .pdata | 0x7ffff68f0000 - 0x7ffff68f1818 | r--
[DBG] -> section      .rsrc | 0x7ffff68f2000 - 0x7ffff68f2698 | r--
[DBG] -> section     .reloc | 0x7ffff68f3000 - 0x7ffff68f36f4 | r--
[INF] Loaded driver DLL 'synaFpAdapter104.dll' [186656 bytes]
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[WRN] Data directory 4 has invalid bounds! [end 0x17ebe0 > image end 0x17e000]
[DBG] DLL synaWudfBioUsb104.dll: PE+ image
[DBG] -> machine: 8664
[DBG] -> image size: 0017e000
[DBG] -> entry point: 0004b950
[DBG] -> num data dirs: 16
[DBG] -> num sections: 6
[DBG] -> num relocations: 1681
[DBG] Copied image memory to mapping at 0x7ffff6747000 - 0x7ffff68c5000
[DBG] Applied 1681 relocations
[DBG] Applying memory protections to image
[DBG] -> section      .text | 0x7ffff6748000 - 0x7ffff6812494 | r-x
[DBG] -> section     .rdata | 0x7ffff6813000 - 0x7ffff68a1ba8 | r--
[DBG] -> section      .data | 0x7ffff68a2000 - 0x7ffff68bae54 | rw-
[DBG] -> section     .pdata | 0x7ffff68bb000 - 0x7ffff68c2e0c | r--
[DBG] -> section      .rsrc | 0x7ffff68c3000 - 0x7ffff68c34d0 | r--
[DBG] -> section     .reloc | 0x7ffff68c4000 - 0x7ffff68c4e10 | r--
[INF] Loaded driver DLL 'synaWudfBioUsb104.dll' [1567712 bytes]
[INF] Initializing driver DLL 'synaFpAdapter104.dll'...
[INF] Initializing driver DLL 'synaWudfBioUsb104.dll'...
[DBG] Binding WDF function table 'WUDFx02000' version 2.21#0... [261 functions]
[TRACE][12862][824d7f8b...][0a]  -> DriverEntry
[TRACE][12862][824d7f8b...][0a]         -> vfmCoreEntry::OnInitialize
[TRACE][12862][824d7f8b...][0c]         <- vfmCoreEntry::OnInitialize [0x0]
[TRACE][12862][824d7f8b...][0c]  <- DriverEntry [0x0]
[INF] Loading data from data store 'fingerprintfile'...
[INF] Opening tudor device...
[TRACE][12862][824d7f8b...][0a]  -> EvtDeviceAdd
[TRACE][12862][824d7f8b...][0d]         -> synaCreateDevice
[TRACE][12862][824d7f8b...][0a]                 -> CSideChannelComm::CSideChannelComm
[TRACE][12862][824d7f8b...][0b]                 <- CSideChannelComm::CSideChannelComm
[TRACE][12862][824d7f8b...][0d]                 -> wdf::CDeviceInitialize::SetLockingConstraint
[TRACE][12862][824d7f8b...][0f]                 <- wdf::CDeviceInitialize::SetLockingConstraint [0x80004001]
[TRACE][12862][824d7f8b...][0a]                 -> wdf::CDriver::CreateDevice
[TRACE][12862][58f95b1a...][0d]                         <X> checkpoint hit <X>
[TRACE][12862][824d7f8b...][0c]                 <- wdf::CDriver::CreateDevice [0x0]
[TRACE][12862][824d7f8b...][0d]                 -> wdf::CDevice::CreateIoQueue
[TRACE][12862][824d7f8b...][0d]                         -> wdf::CQueue::CreateInstance
[TRACE][12862][824d7f8b...][0f]                         <- wdf::CQueue::CreateInstance [0x0]
[TRACE][12862][824d7f8b...][0f]                 <- wdf::CDevice::CreateIoQueue [0x0]
[TRACE][12862][824d7f8b...][0f]         <- synaCreateDevice [0x0]
[TRACE][12862][824d7f8b...][0b]  <- EvtDeviceAdd
[DBG] Flushing WDF event queue...
[DBG] Calling WDF device attachment callbacks...
[TRACE][12862][824d7f8b...][0d]  -> onPrepareHardware
[TRACE][12862][824d7f8b...][0a]         -> CBiometricDeviceUSB::OnPrepareHardware
[TRACE][12862][824d7f8b...][0a]                 -> CBiometricDevice::PrepareHardware
[TRACE][12862][824d7f8b...][0a]                         -> CBiometricDevice::ValidateDataFromPreviousFails
[TRACE][12862][824d7f8b...][0c]                         <- CBiometricDevice::ValidateDataFromPreviousFails [0x0]
[TRACE][12862][824d7f8b...][0d]                         -> wdf::CDevice::RetrieveDeviceName
[TRACE][12862][824d7f8b...][0f]                         <- wdf::CDevice::RetrieveDeviceName [0x0]
[TRACE][12862][824d7f8b...][0d]                         -> wdf::CDevice::RetrieveDeviceName
[TRACE][12862][824d7f8b...][0f]                         <- wdf::CDevice::RetrieveDeviceName [0x0]
[TRACE][12862][824d7f8b...][0a]                         -> CBiometricDevice::InitializeNiseCore
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4213631440: 12862: vfmUtil: vfmUtil: STATUS: vfmUtilSessionInit >>>>>>>>
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4213708580: 12862: vfmUtil: vfmUtil: STATUS: vfmUtilSessionInit <<<<<<<<
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4213761717: 12862: vfmUtil: vfmUtil: STATUS: vfmUtilDeviceOpenWithParam >>>>>>>>
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4213810033: 12862: vfmUtil: vfmUtil: STATUS: _vfmUtilDeviceOpen >>>>>>>>
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4213863050: 12862: synaLib: vfm: STATUS: vfmInitialize >>>>>>>>
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4213911674: 12862: synaLib: palCrypto: STATUS: palCryptoInitialize >>>>>>>>
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4213965769: 12862: synaLib: palCrypto: STATUS: palCryptoInitialize <<<<<<<<
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4214014203: 12862: synaLib: palSensor: STATUS: palUsbDriverInit >>>>>>>>
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4214056791: 12862: synaLib: palSensor: STATUS: palUsbDriverInit <<<<<<<<
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4214104914: 12862: synaLib: tudor: STATUS: tudorInitModule >>>>>>>>
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4214151484: 12862: synaLib: tudor: STATUS: ssiTudor version: hisd/sw/prerelease/6_0_32_1104_20191121-0-g4d57f46
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4214197182: 12862: synaLib: tudor: STATUS: tudorInitModule <<<<<<<<
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4214237293: 12862: synaLib: vfm: STATUS: vfmInitialize <<<<<<<<
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4214281582: 12862: synaLib: vfm: STATUS: vfmDeviceOpen >>>>>>>>
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4214334034: 12862: synaLib: palSensor: STATUS: palUsbDriverOpen >>>>>>>>
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4214391102: 12862: synaLib: palSensor: STATUS: palWinUsbDeviceHandleOpen >>>>>>>>
[TRACE][12862][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbInitialize
[TRACE][12862][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][12862][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][12862][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][12862][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][12862][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][12862][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][12862][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbInitialize [0x0]
[TRACE][12862][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbQueryInterfaceSettings
[TRACE][12862][824d7f8b...][0b]                                 <- CBiometricDeviceUSB::WBFUsbQueryInterfaceSettings
[TRACE][12862][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][12862][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4214803703: 12862: synaLib: palSensor: STATUS: Setting interruptEndpoint to 0.
[TRACE][12862][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][12862][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4214913257: 12862: synaLib: palSensor: STATUS: Setting interruptEndpoint to 1.
[TRACE][12862][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][12862][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4215025027: 12862: synaLib: palSensor: STATUS: Setting interruptEndpoint to 2.
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4215086212: 12862: synaLib: palSensor: STATUS: palWinUsbDeviceHandleOpen <<<<<<<<
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4215140322: 12862: synaLib: palRuntime: STATUS: palThreadBegin >>>>>>>>
[WRN] GetModuleHandleExW called with unsupported flag GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS! [addr=0x7ffff67b2710]
[New Thread 0x7ffff6746640 (LWP 12868)]
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4216095532: 12862: synaLib: palRuntime: STATUS: palThreadBegin <<<<<<<<
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4216154412: 12862: synaLib: palSensor: STATUS: palUsbDriverOpen <<<<<<<<
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4216217361: 12862: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4216268263: 12862: synaLib: palSensor: WARNING: Unknown Request=0x0000000C
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4216318054: 12862: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4216372339: 12862: synaLib: tudor: STATUS: tudorOpen >>>>>>>>
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4216417935: 12862: synaLib: tudor: STATUS: tudorUsbProtoOpen >>>>>>>>
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4216461225: 12862: synaLib: tudor: STATUS: tudorUsbProtoOpen <<<<<<<<
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4216509858: 12862: synaLib: tudor: STATUS: tudorOpen <<<<<<<<
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4216552776: 12862: synaLib: vfm: STATUS: vfmDeviceOpen <<<<<<<<
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4216604257: 12862: vfmUtil: vfmUtil: STATUS: _vfmUtilDeviceOpen <<<<<<<<
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4216674694: 12862: vfmUtil: vfmUtil: STATUS: vfmUtilDeviceOpenWithParam <<<<<<<<
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4216714888: 12862: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle >>>>>>>>
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4216755882: 12862: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle <<<<<<<<
[TRACE][12862][824d7f8b...][0b]                         <- CBiometricDevice::InitializeNiseCore
[TRACE][12862][824d7f8b...][0d]                         -> wdf::CQueue::Start
[TRACE][12862][824d7f8b...][0f]                         <- wdf::CQueue::Start [0x0]
[TRACE][12862][824d7f8b...][0a]                         -> CBiometricDevice::ProcessDevicePowerSettings
[TRACE][12862][824d7f8b...][0a]                                 -> CBiometricDevice::AssignS0IdleSettings
[TRACE][12862][824d7f8b...][0b]                                 <- CBiometricDevice::AssignS0IdleSettings
[TRACE][12862][824d7f8b...][0c]                         <- CBiometricDevice::ProcessDevicePowerSettings [0x0]
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4216963822: 12862: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle >>>>>>>>
[TRACE][12862][2c18840b...][0a] VFM LOG | [0] 4217008570: 12862: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle <<<<<<<<
[New Thread 0x7ffff5f45640 (LWP 12869)]
[TRACE][12862][824d7f8b...][0a]                         -> CBiometricDevice::startSideChannelCommThread
[New Thread 0x7ffff5744640 (LWP 12870)]
[TRACE][12862][824d7f8b...][0b]                         <- CBiometricDevice::startSideChannelCommThread
[TRACE][12870][824d7f8b...][0a]  -> CBiometricDevice::sideChannelCommThread
[TRACE][12870][824d7f8b...][0a]         -> CSideChannelComm::Start
[TRACE][12870][824d7f8b...][0a]                 -> CSideChannelComm::ConnectToClient
[TRACE][12862][824d7f8b...][0a]                         -> CUWPPowerStateControl::Register
[TRACE][12862][824d7f8b...][0c]                         <- CUWPPowerStateControl::Register [0x0]
[TRACE][12862][824d7f8b...][0c]                 <- CBiometricDevice::PrepareHardware [0x0]
[TRACE][12862][824d7f8b...][0c]         <- CBiometricDeviceUSB::OnPrepareHardware [0x0]
[TRACE][12862][824d7f8b...][0f]  <- onPrepareHardware [0x0]
[TRACE][12862][824d7f8b...][0d]  -> onD0Entry
[TRACE][12862][824d7f8b...][0a]         -> CBiometricDevice::OnD0Entry
[TRACE][12862][824d7f8b...][0a]                 -> CBiometricDevice::InitializeNiseCore
[TRACE][12862][824d7f8b...][0b]                 <- CBiometricDevice::InitializeNiseCore
[TRACE][12862][824d7f8b...][0c]         <- CBiometricDevice::OnD0Entry [0x0]
[TRACE][12862][824d7f8b...][0f]  <- onD0Entry [0x0]
[TRACE][12862][824d7f8b...][0d]  -> onDeviceFileCreate
[TRACE][12869][824d7f8b...][0a]  -> CBiometricDevice::CDeviceSimpleWaker::CDeviceSimpleWaker
[TRACE][12869][824d7f8b...][0c]  <- CBiometricDevice::CDeviceSimpleWaker::CDeviceSimpleWaker [0x0]
[TRACE][12869][824d7f8b...][0a]  -> CBiometricDevice::ProcessPairing
[TRACE][12869][824d7f8b...][0a]         -> CBiometricDevice::InitAndGetState
[TRACE][12869][824d7f8b...][0a]                 -> CBiometricDevice::InitializeDevice
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4218891014: 12869: synaLib: vfm: STATUS: vfmDeviceInitialize >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4218916512: 12869: synaLib: tudor: STATUS: tudorInitDevice >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4218927785: 12869: synaLib: tudor: STATUS: _tudorInitDevice >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4218938216: 12869: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4218950639: 12869: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4218959358: 12869: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4218966917: 12869: synaLib: palSensor: STATUS: palWinHidClose >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4218976118: 12869: synaLib: palSensor: STATUS: palWinHidClose <<<<<<<<
[TRACE][12869][824d7f8b...][0a]                         -> CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][12869][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::DeviceReset
[TRACE][12869][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::DeviceReset [0x0]
[TRACE][12869][824d7f8b...][0b]                         <- CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219007802: 12869: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout <<<<<<<<
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219018269: 12869: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219026494: 12869: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219035119: 12869: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219044874: 12869: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219055245: 12869: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219066038: 12869: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219078016: 12869: synaLib: tudor: STATUS: CMD SEND: VCSFW_CMD_GET_VERSION
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219088095: 12869: synaLib: tudor: WARNING: TLS context is not initialized.
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219098547: 12869: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219109885: 12869: synaLib: palSensor: STATUS: palWinUsbBulkWrite >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219216175: 12869: synaLib: palSensor: STATUS: palWinUsbBulkWrite <<<<<<<<
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219226694: 12869: synaLib: palSensor: STATUS: palWinUsbBulkRead >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219319815: 12869: synaLib: palSensor: STATUS: palWinUsbBulkRead <<<<<<<<
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219328793: 12869: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219336506: 12869: synaLib: tudor: WARNING: TLS context is not initialized.
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219344329: 12869: synaLib: tudor: STATUS: CMD REPLY: VCSFW_CMD_GET_VERSION
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219354257: 12869: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219364750: 12869: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219387009: 12869: synaLib: palSensor: STATUS: palWinUsbGetDeviceDescriptor >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219400318: 12869: synaLib: palSensor: STATUS: palWinUsbGetDeviceDescriptor <<<<<<<<
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219410761: 12869: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219420047: 12869: synaLib: tudor: STATUS: VCSDRV_IOCTL_DEVICE_INFO ioctl
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219429279: 12869: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219436753: 12869: synaLib: tudor: WARNING: Sensor is in Boot Loader mode
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219443820: 12869: synaLib: tudor: STATUS: Device type: 5, FW major: 2, FW minor: 1, FW build num: 10
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219453378: 12869: synaLib: tudor: STATUS: SW release version - major: 6, minor: 0, subminor: 33, build num: 1104
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219462666: 12869: synaLib: tudor: STATUS: _tudorInitDevice <<<<<<<<
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219469537: 12869: synaLib: tudor: STATUS: tudorInitDevice <<<<<<<<
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219476977: 12869: synaLib: vfm: STATUS: vfmDeviceInitialize <<<<<<<<
[TRACE][12869][824d7f8b...][0a]                         -> CBiometricDevice::getDeviceInfo
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219497659: 12869: synaLib: vfm: STATUS: vfmDeviceInfoGet >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219505151: 12869: synaLib: tudor: STATUS: tudorGetDeviceInfo >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219515189: 12869: synaLib: tudor: STATUS: tudorGetDeviceInfo <<<<<<<<
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219525202: 12869: synaLib: tudor: STATUS: tudorIoctl opCode: (22)
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219534763: 12869: synaLib: vfm: STATUS: vfmDeviceInfoGet <<<<<<<<
[TRACE][12869][824d7f8b...][0c]                         <- CBiometricDevice::getDeviceInfo [0x0]
[TRACE][12869][824d7f8b...][0c]                 <- CBiometricDevice::InitializeDevice [0x0]
[TRACE][12869][824d7f8b...][0a]                 -> CBiometricDevice::getDeviceInfo
[TRACE][12869][824d7f8b...][0c]                 <- CBiometricDevice::getDeviceInfo [0x0]
[TRACE][12869][824d7f8b...][0a]                 -> CBiometricDevice::DoDeviceUpdate
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219575467: 12869: synaLib: vfm: STATUS: vfmDeviceUpdateProcess >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219583603: 12869: synaLib: tudor: STATUS: tudorSensorUpdate >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219591490: 12869: synaLib: tudor: WARNING: Sensor is in BL mode at initial state
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219599242: 12869: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219606927: 12869: synaLib: palSensor: STATUS: palUsbDriverCtrlRequest >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219768021: 12869: synaLib: palSensor: STATUS: palUsbDriverCtrlRequest <<<<<<<<
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219778491: 12869: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219786081: 12869: synaLib: tudor: STATUS: _tudorInitDevice >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219793257: 12869: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219800348: 12869: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219807635: 12869: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219814739: 12869: synaLib: palSensor: STATUS: palWinHidClose >>>>>>>>
[TRACE][12869][2c18840b...][0a] VFM LOG | [0] 4219821742: 12869: synaLib: palSensor: STATUS: palWinHidClose <<<<<<<<
[TRACE][12869][824d7f8b...][0a]                         -> CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][12869][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::DeviceReset
[TRACE][12869][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::DeviceReset [0x0]

Thread 5 "tudor" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5f45640 (LWP 12869)]
0x00007ffff6769859 in ?? ()
(gdb) x/32gx $rsp
0x7ffff5f44630: 0x00007ffff6818810  0x00007fffe4000b70
0x7ffff5f44640: 0x00007ffff68184d8  0x00007fff00000000
0x7ffff5f44650: 0xfffffffffffffffe  0x00007fffe4000b70
0x7ffff5f44660: 0x0000000000000000  0x00007ffff67700f0
0x7ffff5f44670: 0x0000000000000000  0x0000000000000000
0x7ffff5f44680: 0x0000000000000000  0x0000000000000000
0x7ffff5f44690: 0x00007ffff68155c0  0x0000000000000003
0x7ffff5f446a0: 0x00007ffff5f44748  0x00007ffff6772ffc
0x7ffff5f446b0: 0x0000000000000000  0x00007ffff5f44738
0x7ffff5f446c0: 0x00007ffff5f44b69  0x0000000000000000
0x7ffff5f446d0: 0x00007ffff6818810  0x00007fffe4000b70
0x7ffff5f446e0: 0x00007fff00000000  0x0000000000000000
0x7ffff5f446f0: 0xfffffffffffffffe  0x000055555576f530
0x7ffff5f44700: 0x0000000000000001  0x00007ffff677231f
0x7ffff5f44710: 0x000055555576f530  0x000055555576f530
0x7ffff5f44720: 0x0000000000000000  0x0000060000000014
Popax21 commented 2 years ago

Yeah, that's ASLR. You can try running set disable-randomization on, let it crash, and obtain the breakpoint addresses using offsets 8A92 and 8AC1.

TheZeaX commented 2 years ago

Unsure whether this is what you want, my gdb knowledge is starting to run out

Thread 5 "tudor" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5f45640 (LWP 13578)]
0x00007ffff6769859 in ?? ()
(gdb) x/32i 0x00007ffff6769859 + 0x8A92
   0x7ffff67722eb:  nop
   0x7ffff67722ec:  xor    %edi,%edi
   0x7ffff67722ee:  mov    %dil,0x50(%rsp)
   0x7ffff67722f3:  lea    -0x450(%rbx),%rcx
   0x7ffff67722fa:  mov    (%rcx),%rax
   0x7ffff67722fd:  lea    0x50(%rsp),%rdx
   0x7ffff6772302:  mov    0x40(%rax),%rax
   0x7ffff6772306:  call   *0xa13b4(%rip)        # 0x7ffff68136c0
   0x7ffff677230c:  cmp    %dil,0x50(%rsp)
   0x7ffff6772311:  sete   %dil
   0x7ffff6772315:  lea    0x28(%rsp),%rcx
   0x7ffff677231a:  call   0x7ffff6772f9c
   0x7ffff677231f:  mov    %edi,%eax
   0x7ffff6772321:  mov    0x58(%rsp),%rbx
   0x7ffff6772326:  add    $0x40,%rsp
   0x7ffff677232a:  pop    %rdi
   0x7ffff677232b:  ret    
   0x7ffff677232c:  int3   
   0x7ffff677232d:  int3   
   0x7ffff677232e:  int3   
   0x7ffff677232f:  int3   
   0x7ffff6772330:  mov    %rsp,%rax
   0x7ffff6772333:  push   %rbx
   0x7ffff6772334:  push   %rsi
   0x7ffff6772335:  push   %rdi
   0x7ffff6772336:  sub    $0x60,%rsp
   0x7ffff677233a:  movq   $0xfffffffffffffffe,-0x38(%rax)
   0x7ffff6772342:  mov    %dl,%dil
   0x7ffff6772345:  mov    %rcx,%rbx
   0x7ffff6772348:  xor    %esi,%esi
   0x7ffff677234a:  mov    %esi,0x18(%rax)
   0x7ffff677234d:  mov    %esi,0x8(%rax)
(gdb) x/32i 0x00007ffff6769859 + 0x8AC1
   0x7ffff677231a:  call   0x7ffff6772f9c
   0x7ffff677231f:  mov    %edi,%eax
   0x7ffff6772321:  mov    0x58(%rsp),%rbx
   0x7ffff6772326:  add    $0x40,%rsp
   0x7ffff677232a:  pop    %rdi
   0x7ffff677232b:  ret    
   0x7ffff677232c:  int3   
   0x7ffff677232d:  int3   
   0x7ffff677232e:  int3   
   0x7ffff677232f:  int3   
   0x7ffff6772330:  mov    %rsp,%rax
   0x7ffff6772333:  push   %rbx
   0x7ffff6772334:  push   %rsi
   0x7ffff6772335:  push   %rdi
   0x7ffff6772336:  sub    $0x60,%rsp
   0x7ffff677233a:  movq   $0xfffffffffffffffe,-0x38(%rax)
   0x7ffff6772342:  mov    %dl,%dil
   0x7ffff6772345:  mov    %rcx,%rbx
   0x7ffff6772348:  xor    %esi,%esi
   0x7ffff677234a:  mov    %esi,0x18(%rax)
   0x7ffff677234d:  mov    %esi,0x8(%rax)
   0x7ffff6772350:  lea    0x8(%rax),%r8
   0x7ffff6772354:  lea    0xa6255(%rip),%rdx        # 0x7ffff68185b0
   0x7ffff677235b:  lea    -0x30(%rax),%rcx
   0x7ffff677235f:  call   0x7ffff6772e8c
   0x7ffff6772364:  nop
   0x7ffff6772365:  lea    -0x450(%rbx),%rcx
   0x7ffff677236c:  mov    %dil,%dl
   0x7ffff677236f:  call   0x7ffff6770378
   0x7ffff6772374:  mov    %rax,%rcx
   0x7ffff6772377:  test   %rax,%rax
   0x7ffff677237a:  jne    0x7ffff677238c
Popax21 commented 2 years ago

Unsure whether this is what you want, my gdb knowledge is starting to run out

Thread 5 "tudor" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5f45640 (LWP 13578)]
0x00007ffff6769859 in ?? ()
(gdb) x/32i 0x00007ffff6769859 + 0x8A92
   0x7ffff67722eb:    nop
   0x7ffff67722ec:    xor    %edi,%edi
   0x7ffff67722ee:    mov    %dil,0x50(%rsp)
   0x7ffff67722f3:    lea    -0x450(%rbx),%rcx
   0x7ffff67722fa:    mov    (%rcx),%rax
   0x7ffff67722fd:    lea    0x50(%rsp),%rdx
   0x7ffff6772302:    mov    0x40(%rax),%rax
   0x7ffff6772306:    call   *0xa13b4(%rip)        # 0x7ffff68136c0
   0x7ffff677230c:    cmp    %dil,0x50(%rsp)
   0x7ffff6772311:    sete   %dil
   0x7ffff6772315:    lea    0x28(%rsp),%rcx
   0x7ffff677231a:    call   0x7ffff6772f9c
   0x7ffff677231f:    mov    %edi,%eax
   0x7ffff6772321:    mov    0x58(%rsp),%rbx
   0x7ffff6772326:    add    $0x40,%rsp
   0x7ffff677232a:    pop    %rdi
   0x7ffff677232b:    ret    
   0x7ffff677232c:    int3   
   0x7ffff677232d:    int3   
   0x7ffff677232e:    int3   
   0x7ffff677232f:    int3   
   0x7ffff6772330:    mov    %rsp,%rax
   0x7ffff6772333:    push   %rbx
   0x7ffff6772334:    push   %rsi
   0x7ffff6772335:    push   %rdi
   0x7ffff6772336:    sub    $0x60,%rsp
   0x7ffff677233a:    movq   $0xfffffffffffffffe,-0x38(%rax)
   0x7ffff6772342:    mov    %dl,%dil
   0x7ffff6772345:    mov    %rcx,%rbx
   0x7ffff6772348:    xor    %esi,%esi
   0x7ffff677234a:    mov    %esi,0x18(%rax)
   0x7ffff677234d:    mov    %esi,0x8(%rax)
(gdb) x/32i 0x00007ffff6769859 + 0x8AC1
   0x7ffff677231a:    call   0x7ffff6772f9c
   0x7ffff677231f:    mov    %edi,%eax
   0x7ffff6772321:    mov    0x58(%rsp),%rbx
   0x7ffff6772326:    add    $0x40,%rsp
   0x7ffff677232a:    pop    %rdi
   0x7ffff677232b:    ret    
   0x7ffff677232c:    int3   
   0x7ffff677232d:    int3   
   0x7ffff677232e:    int3   
   0x7ffff677232f:    int3   
   0x7ffff6772330:    mov    %rsp,%rax
   0x7ffff6772333:    push   %rbx
   0x7ffff6772334:    push   %rsi
   0x7ffff6772335:    push   %rdi
   0x7ffff6772336:    sub    $0x60,%rsp
   0x7ffff677233a:    movq   $0xfffffffffffffffe,-0x38(%rax)
   0x7ffff6772342:    mov    %dl,%dil
   0x7ffff6772345:    mov    %rcx,%rbx
   0x7ffff6772348:    xor    %esi,%esi
   0x7ffff677234a:    mov    %esi,0x18(%rax)
   0x7ffff677234d:    mov    %esi,0x8(%rax)
   0x7ffff6772350:    lea    0x8(%rax),%r8
   0x7ffff6772354:    lea    0xa6255(%rip),%rdx        # 0x7ffff68185b0
   0x7ffff677235b:    lea    -0x30(%rax),%rcx
   0x7ffff677235f:    call   0x7ffff6772e8c
   0x7ffff6772364:    nop
   0x7ffff6772365:    lea    -0x450(%rbx),%rcx
   0x7ffff677236c:    mov    %dil,%dl
   0x7ffff677236f:    call   0x7ffff6770378
   0x7ffff6772374:    mov    %rax,%rcx
   0x7ffff6772377:    test   %rax,%rax
   0x7ffff677237a:    jne    0x7ffff677238c

I meant that you can now, assuming you executed set disable-randomization on earlier, now set breakpoints on 0x7ffff677231a and 0x7ffff67722eb

TheZeaX commented 2 years ago

I think the breakpoints are still not reached, here the full log

(gdb) set disable-randomization on
(gdb) break 0x7ffff677231a
Function "0x7ffff677231a" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (0x7ffff677231a) pending.
(gdb) break 0x7ffff67722eb
Function "0x7ffff67722eb" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 2 (0x7ffff67722eb) pending.
(gdb) run fingerprintfile -v -t
Starting program: /home/******/fingerprint/synaTudor/relink/out/tudor fingerprintfile -v -t
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[INF] Initializing libcrypto...
[INF] Initializing libusb...
[New Thread 0x7ffff78f5640 (LWP 14290)]
[INF] Found sensor USB device [bus 1 addr 4 vid 0x06cb pid 0x00be]
[INF] Opening sensor USB device...
[INF] Dropping root privileges... [new uid=1000 new gid=1000]
[New Thread 0x7ffff70f4640 (LWP 14291)]
[INF] Initializing tudor driver...
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[DBG] DLL synaFpAdapter104.dll: PE+ image
[DBG] -> machine: 8664
[DBG] -> image size: 0002f000
[DBG] -> entry point: 0000e594
[DBG] -> num data dirs: 16
[DBG] -> num sections: 6
[DBG] -> num relocations: 853
[DBG] Copied image memory to mapping at 0x7ffff68c5000 - 0x7ffff68f4000
[DBG] Applied 853 relocations
[DBG] Applying memory protections to image
[DBG] -> section      .text | 0x7ffff68c6000 - 0x7ffff68e0143 | r-x
[DBG] -> section     .rdata | 0x7ffff68e1000 - 0x7ffff68ec234 | r--
[DBG] -> section      .data | 0x7ffff68ed000 - 0x7ffff68ef010 | rw-
[DBG] -> section     .pdata | 0x7ffff68f0000 - 0x7ffff68f1818 | r--
[DBG] -> section      .rsrc | 0x7ffff68f2000 - 0x7ffff68f2698 | r--
[DBG] -> section     .reloc | 0x7ffff68f3000 - 0x7ffff68f36f4 | r--
[INF] Loaded driver DLL 'synaFpAdapter104.dll' [186656 bytes]
[WRN] PE file contains unsupported resource data directory!
[WRN] PE file contains unsupported exception data directory!
[WRN] Data directory 4 has invalid bounds! [end 0x17ebe0 > image end 0x17e000]
[DBG] DLL synaWudfBioUsb104.dll: PE+ image
[DBG] -> machine: 8664
[DBG] -> image size: 0017e000
[DBG] -> entry point: 0004b950
[DBG] -> num data dirs: 16
[DBG] -> num sections: 6
[DBG] -> num relocations: 1681
[DBG] Copied image memory to mapping at 0x7ffff6747000 - 0x7ffff68c5000
[DBG] Applied 1681 relocations
[DBG] Applying memory protections to image
[DBG] -> section      .text | 0x7ffff6748000 - 0x7ffff6812494 | r-x
[DBG] -> section     .rdata | 0x7ffff6813000 - 0x7ffff68a1ba8 | r--
[DBG] -> section      .data | 0x7ffff68a2000 - 0x7ffff68bae54 | rw-
[DBG] -> section     .pdata | 0x7ffff68bb000 - 0x7ffff68c2e0c | r--
[DBG] -> section      .rsrc | 0x7ffff68c3000 - 0x7ffff68c34d0 | r--
[DBG] -> section     .reloc | 0x7ffff68c4000 - 0x7ffff68c4e10 | r--
[INF] Loaded driver DLL 'synaWudfBioUsb104.dll' [1567712 bytes]
[INF] Initializing driver DLL 'synaFpAdapter104.dll'...
[INF] Initializing driver DLL 'synaWudfBioUsb104.dll'...
[DBG] Binding WDF function table 'WUDFx02000' version 2.21#0... [261 functions]
[TRACE][14287][824d7f8b...][0a]  -> DriverEntry
[TRACE][14287][824d7f8b...][0a]         -> vfmCoreEntry::OnInitialize
[TRACE][14287][824d7f8b...][0c]         <- vfmCoreEntry::OnInitialize [0x0]
[TRACE][14287][824d7f8b...][0c]  <- DriverEntry [0x0]
[INF] Loading data from data store 'fingerprintfile'...
[INF] Opening tudor device...
[TRACE][14287][824d7f8b...][0a]  -> EvtDeviceAdd
[TRACE][14287][824d7f8b...][0d]         -> synaCreateDevice
[TRACE][14287][824d7f8b...][0a]                 -> CSideChannelComm::CSideChannelComm
[TRACE][14287][824d7f8b...][0b]                 <- CSideChannelComm::CSideChannelComm
[TRACE][14287][824d7f8b...][0d]                 -> wdf::CDeviceInitialize::SetLockingConstraint
[TRACE][14287][824d7f8b...][0f]                 <- wdf::CDeviceInitialize::SetLockingConstraint [0x80004001]
[TRACE][14287][824d7f8b...][0a]                 -> wdf::CDriver::CreateDevice
[TRACE][14287][58f95b1a...][0d]                         <X> checkpoint hit <X>
[TRACE][14287][824d7f8b...][0c]                 <- wdf::CDriver::CreateDevice [0x0]
[TRACE][14287][824d7f8b...][0d]                 -> wdf::CDevice::CreateIoQueue
[TRACE][14287][824d7f8b...][0d]                         -> wdf::CQueue::CreateInstance
[TRACE][14287][824d7f8b...][0f]                         <- wdf::CQueue::CreateInstance [0x0]
[TRACE][14287][824d7f8b...][0f]                 <- wdf::CDevice::CreateIoQueue [0x0]
[TRACE][14287][824d7f8b...][0f]         <- synaCreateDevice [0x0]
[TRACE][14287][824d7f8b...][0b]  <- EvtDeviceAdd
[DBG] Flushing WDF event queue...
[DBG] Calling WDF device attachment callbacks...
[TRACE][14287][824d7f8b...][0d]  -> onPrepareHardware
[TRACE][14287][824d7f8b...][0a]         -> CBiometricDeviceUSB::OnPrepareHardware
[TRACE][14287][824d7f8b...][0a]                 -> CBiometricDevice::PrepareHardware
[TRACE][14287][824d7f8b...][0a]                         -> CBiometricDevice::ValidateDataFromPreviousFails
[TRACE][14287][824d7f8b...][0c]                         <- CBiometricDevice::ValidateDataFromPreviousFails [0x0]
[TRACE][14287][824d7f8b...][0d]                         -> wdf::CDevice::RetrieveDeviceName
[TRACE][14287][824d7f8b...][0f]                         <- wdf::CDevice::RetrieveDeviceName [0x0]
[TRACE][14287][824d7f8b...][0d]                         -> wdf::CDevice::RetrieveDeviceName
[TRACE][14287][824d7f8b...][0f]                         <- wdf::CDevice::RetrieveDeviceName [0x0]
[TRACE][14287][824d7f8b...][0a]                         -> CBiometricDevice::InitializeNiseCore
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 777330412: 14287: vfmUtil: vfmUtil: STATUS: vfmUtilSessionInit >>>>>>>>
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 777389959: 14287: vfmUtil: vfmUtil: STATUS: vfmUtilSessionInit <<<<<<<<
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 777422556: 14287: vfmUtil: vfmUtil: STATUS: vfmUtilDeviceOpenWithParam >>>>>>>>
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 777454066: 14287: vfmUtil: vfmUtil: STATUS: _vfmUtilDeviceOpen >>>>>>>>
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 777483746: 14287: synaLib: vfm: STATUS: vfmInitialize >>>>>>>>
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 777512105: 14287: synaLib: palCrypto: STATUS: palCryptoInitialize >>>>>>>>
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 777544259: 14287: synaLib: palCrypto: STATUS: palCryptoInitialize <<<<<<<<
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 777576753: 14287: synaLib: palSensor: STATUS: palUsbDriverInit >>>>>>>>
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 777610555: 14287: synaLib: palSensor: STATUS: palUsbDriverInit <<<<<<<<
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 777640652: 14287: synaLib: tudor: STATUS: tudorInitModule >>>>>>>>
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 777672607: 14287: synaLib: tudor: STATUS: ssiTudor version: hisd/sw/prerelease/6_0_32_1104_20191121-0-g4d57f46
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 777712598: 14287: synaLib: tudor: STATUS: tudorInitModule <<<<<<<<
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 777739908: 14287: synaLib: vfm: STATUS: vfmInitialize <<<<<<<<
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 777763209: 14287: synaLib: vfm: STATUS: vfmDeviceOpen >>>>>>>>
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 777794609: 14287: synaLib: palSensor: STATUS: palUsbDriverOpen >>>>>>>>
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 777842072: 14287: synaLib: palSensor: STATUS: palWinUsbDeviceHandleOpen >>>>>>>>
[TRACE][14287][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbInitialize
[TRACE][14287][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][14287][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][14287][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][14287][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][14287][824d7f8b...][0d]                                         -> wdf::CUsbInterface::RetrieveUsbPipeObject
[TRACE][14287][824d7f8b...][0f]                                         <- wdf::CUsbInterface::RetrieveUsbPipeObject [0x0]
[TRACE][14287][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbInitialize [0x0]
[TRACE][14287][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbQueryInterfaceSettings
[TRACE][14287][824d7f8b...][0b]                                 <- CBiometricDeviceUSB::WBFUsbQueryInterfaceSettings
[TRACE][14287][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][14287][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 778121685: 14287: synaLib: palSensor: STATUS: Setting interruptEndpoint to 0.
[TRACE][14287][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][14287][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 778201762: 14287: synaLib: palSensor: STATUS: Setting interruptEndpoint to 1.
[TRACE][14287][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::WBFUsbResetPipe
[TRACE][14287][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::WBFUsbResetPipe [0x0]
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 778288689: 14287: synaLib: palSensor: STATUS: Setting interruptEndpoint to 2.
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 778334419: 14287: synaLib: palSensor: STATUS: palWinUsbDeviceHandleOpen <<<<<<<<
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 778392064: 14287: synaLib: palRuntime: STATUS: palThreadBegin >>>>>>>>
[WRN] GetModuleHandleExW called with unsupported flag GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS! [addr=0x7ffff67b2710]
[New Thread 0x7ffff6746640 (LWP 14293)]
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 779200720: 14287: synaLib: palRuntime: STATUS: palThreadBegin <<<<<<<<
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 779262037: 14287: synaLib: palSensor: STATUS: palUsbDriverOpen <<<<<<<<
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 779295986: 14287: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 779340966: 14287: synaLib: palSensor: WARNING: Unknown Request=0x0000000C
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 779379753: 14287: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 779457059: 14287: synaLib: tudor: STATUS: tudorOpen >>>>>>>>
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 779498522: 14287: synaLib: tudor: STATUS: tudorUsbProtoOpen >>>>>>>>
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 779536017: 14287: synaLib: tudor: STATUS: tudorUsbProtoOpen <<<<<<<<
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 779570673: 14287: synaLib: tudor: STATUS: tudorOpen <<<<<<<<
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 779602800: 14287: synaLib: vfm: STATUS: vfmDeviceOpen <<<<<<<<
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 779644458: 14287: vfmUtil: vfmUtil: STATUS: _vfmUtilDeviceOpen <<<<<<<<
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 779674858: 14287: vfmUtil: vfmUtil: STATUS: vfmUtilDeviceOpenWithParam <<<<<<<<
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 779708321: 14287: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle >>>>>>>>
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 779740405: 14287: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle <<<<<<<<
[TRACE][14287][824d7f8b...][0b]                         <- CBiometricDevice::InitializeNiseCore
[TRACE][14287][824d7f8b...][0d]                         -> wdf::CQueue::Start
[TRACE][14287][824d7f8b...][0f]                         <- wdf::CQueue::Start [0x0]
[TRACE][14287][824d7f8b...][0a]                         -> CBiometricDevice::ProcessDevicePowerSettings
[TRACE][14287][824d7f8b...][0a]                                 -> CBiometricDevice::AssignS0IdleSettings
[TRACE][14287][824d7f8b...][0b]                                 <- CBiometricDevice::AssignS0IdleSettings
[TRACE][14287][824d7f8b...][0c]                         <- CBiometricDevice::ProcessDevicePowerSettings [0x0]
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 779904633: 14287: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle >>>>>>>>
[TRACE][14287][2c18840b...][0a] VFM LOG | [0] 779950815: 14287: vfmUtil: vfmUtil: STATUS: vfmUtilSessionGetDeviceHandle <<<<<<<<
[New Thread 0x7ffff5f45640 (LWP 14294)]
[TRACE][14287][824d7f8b...][0a]                         -> CBiometricDevice::startSideChannelCommThread
[New Thread 0x7ffff5744640 (LWP 14295)]
[TRACE][14295][824d7f8b...][0a]  -> CBiometricDevice::sideChannelCommThread
[TRACE][14295][824d7f8b...][0a]         -> CSideChannelComm::Start
[TRACE][14295][824d7f8b...][0a]                 -> CSideChannelComm::ConnectToClient
[TRACE][14287][824d7f8b...][0b]                         <- CBiometricDevice::startSideChannelCommThread
[TRACE][14287][824d7f8b...][0a]                         -> CUWPPowerStateControl::Register
[TRACE][14287][824d7f8b...][0c]                         <- CUWPPowerStateControl::Register [0x0]
[TRACE][14287][824d7f8b...][0c]                 <- CBiometricDevice::PrepareHardware [0x0]
[TRACE][14287][824d7f8b...][0c]         <- CBiometricDeviceUSB::OnPrepareHardware [0x0]
[TRACE][14287][824d7f8b...][0f]  <- onPrepareHardware [0x0]
[TRACE][14287][824d7f8b...][0d]  -> onD0Entry
[TRACE][14287][824d7f8b...][0a]         -> CBiometricDevice::OnD0Entry
[TRACE][14287][824d7f8b...][0a]                 -> CBiometricDevice::InitializeNiseCore
[TRACE][14287][824d7f8b...][0b]                 <- CBiometricDevice::InitializeNiseCore
[TRACE][14287][824d7f8b...][0c]         <- CBiometricDevice::OnD0Entry [0x0]
[TRACE][14287][824d7f8b...][0f]  <- onD0Entry [0x0]
[TRACE][14287][824d7f8b...][0d]  -> onDeviceFileCreate
[TRACE][14294][824d7f8b...][0a]  -> CBiometricDevice::CDeviceSimpleWaker::CDeviceSimpleWaker
[TRACE][14294][824d7f8b...][0c]  <- CBiometricDevice::CDeviceSimpleWaker::CDeviceSimpleWaker [0x0]
[TRACE][14294][824d7f8b...][0a]  -> CBiometricDevice::ProcessPairing
[TRACE][14294][824d7f8b...][0a]         -> CBiometricDevice::InitAndGetState
[TRACE][14294][824d7f8b...][0a]                 -> CBiometricDevice::InitializeDevice
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782212625: 14294: synaLib: vfm: STATUS: vfmDeviceInitialize >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782276456: 14294: synaLib: tudor: STATUS: tudorInitDevice >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782302162: 14294: synaLib: tudor: STATUS: _tudorInitDevice >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782324771: 14294: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782351934: 14294: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782375667: 14294: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782399730: 14294: synaLib: palSensor: STATUS: palWinHidClose >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782419894: 14294: synaLib: palSensor: STATUS: palWinHidClose <<<<<<<<
[TRACE][14294][824d7f8b...][0a]                         -> CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][14294][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::DeviceReset
[TRACE][14294][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::DeviceReset [0x0]
[TRACE][14294][824d7f8b...][0b]                         <- CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782472238: 14294: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout <<<<<<<<
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782478825: 14294: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782485224: 14294: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782491892: 14294: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782498504: 14294: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782506185: 14294: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782512539: 14294: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782519966: 14294: synaLib: tudor: STATUS: CMD SEND: VCSFW_CMD_GET_VERSION
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782526832: 14294: synaLib: tudor: WARNING: TLS context is not initialized.
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782533678: 14294: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782540271: 14294: synaLib: palSensor: STATUS: palWinUsbBulkWrite >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782632615: 14294: synaLib: palSensor: STATUS: palWinUsbBulkWrite <<<<<<<<
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782641562: 14294: synaLib: palSensor: STATUS: palWinUsbBulkRead >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782733272: 14294: synaLib: palSensor: STATUS: palWinUsbBulkRead <<<<<<<<
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782740689: 14294: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782747461: 14294: synaLib: tudor: WARNING: TLS context is not initialized.
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782754319: 14294: synaLib: tudor: STATUS: CMD REPLY: VCSFW_CMD_GET_VERSION
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782762821: 14294: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782769427: 14294: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782776627: 14294: synaLib: palSensor: STATUS: palWinUsbGetDeviceDescriptor >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782784401: 14294: synaLib: palSensor: STATUS: palWinUsbGetDeviceDescriptor <<<<<<<<
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782791289: 14294: synaLib: palSensor: STATUS: palUsbDriverIoControl <<<<<<<<
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782797542: 14294: synaLib: tudor: STATUS: VCSDRV_IOCTL_DEVICE_INFO ioctl
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782804154: 14294: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782811848: 14294: synaLib: tudor: WARNING: Sensor is in Boot Loader mode
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782818715: 14294: synaLib: tudor: STATUS: Device type: 5, FW major: 2, FW minor: 1, FW build num: 10
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782826872: 14294: synaLib: tudor: STATUS: SW release version - major: 6, minor: 0, subminor: 33, build num: 1104
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782836056: 14294: synaLib: tudor: STATUS: _tudorInitDevice <<<<<<<<
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782842201: 14294: synaLib: tudor: STATUS: tudorInitDevice <<<<<<<<
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782848902: 14294: synaLib: vfm: STATUS: vfmDeviceInitialize <<<<<<<<
[TRACE][14294][824d7f8b...][0a]                         -> CBiometricDevice::getDeviceInfo
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782867795: 14294: synaLib: vfm: STATUS: vfmDeviceInfoGet >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782874683: 14294: synaLib: tudor: STATUS: tudorGetDeviceInfo >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782880539: 14294: synaLib: tudor: STATUS: tudorGetDeviceInfo <<<<<<<<
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782886985: 14294: synaLib: tudor: STATUS: tudorIoctl opCode: (22)
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782893965: 14294: synaLib: vfm: STATUS: vfmDeviceInfoGet <<<<<<<<
[TRACE][14294][824d7f8b...][0c]                         <- CBiometricDevice::getDeviceInfo [0x0]
[TRACE][14294][824d7f8b...][0c]                 <- CBiometricDevice::InitializeDevice [0x0]
[TRACE][14294][824d7f8b...][0a]                 -> CBiometricDevice::getDeviceInfo
[TRACE][14294][824d7f8b...][0c]                 <- CBiometricDevice::getDeviceInfo [0x0]
[TRACE][14294][824d7f8b...][0a]                 -> CBiometricDevice::DoDeviceUpdate
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782928231: 14294: synaLib: vfm: STATUS: vfmDeviceUpdateProcess >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782937840: 14294: synaLib: tudor: STATUS: tudorSensorUpdate >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782946024: 14294: synaLib: tudor: WARNING: Sensor is in BL mode at initial state
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782953325: 14294: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 782959874: 14294: synaLib: palSensor: STATUS: palUsbDriverCtrlRequest >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 783067354: 14294: synaLib: palSensor: STATUS: palUsbDriverCtrlRequest <<<<<<<<
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 783075180: 14294: synaLib: tudor: STATUS: tudorUsbProtoIoControl <<<<<<<<
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 783081710: 14294: synaLib: tudor: STATUS: _tudorInitDevice >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 783088328: 14294: synaLib: tudor: STATUS: tudorUsbProtoIoControl >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 783094975: 14294: synaLib: palSensor: STATUS: palUsbDriverIoControl >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 783101756: 14294: synaLib: palSensor: STATUS: palWinUsbGetPipeTimeout >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 783109627: 14294: synaLib: palSensor: STATUS: palWinHidClose >>>>>>>>
[TRACE][14294][2c18840b...][0a] VFM LOG | [0] 783115856: 14294: synaLib: palSensor: STATUS: palWinHidClose <<<<<<<<
[TRACE][14294][824d7f8b...][0a]                         -> CBiometricDeviceUSB::WBFUsbResetDevice
[TRACE][14294][824d7f8b...][0a]                                 -> CBiometricDeviceUSB::DeviceReset
[TRACE][14294][824d7f8b...][0c]                                 <- CBiometricDeviceUSB::DeviceReset [0x0]

Thread 5 "tudor" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5f45640 (LWP 14294)]
0x00007ffff6769859 in ?? ()
(gdb) x/32gx $rsp
0x7ffff5f44630: 0x00007ffff6818810  0x00007fffe4000b70
0x7ffff5f44640: 0x00007ffff68184d8  0x00007fff00000000
0x7ffff5f44650: 0xfffffffffffffffe  0x00007fffe4000b70
0x7ffff5f44660: 0x0000000000000000  0x00007ffff67700f0
0x7ffff5f44670: 0x0000000000000000  0x0000000000000000
0x7ffff5f44680: 0x0000000000000000  0x0000000000000000
0x7ffff5f44690: 0x00007ffff68155c0  0x0000000000000003
0x7ffff5f446a0: 0x00007ffff5f44748  0x00007ffff6772ffc
0x7ffff5f446b0: 0x0000000000000000  0x00007ffff5f44738
0x7ffff5f446c0: 0x00007ffff5f44b69  0x0000000000000000
0x7ffff5f446d0: 0x00007ffff6818810  0x00007fffe4000b70
0x7ffff5f446e0: 0x00007fff00000000  0x0000000000000000
0x7ffff5f446f0: 0xfffffffffffffffe  0x000055555576f530
0x7ffff5f44700: 0x0000000000000001  0x00007ffff677231f
0x7ffff5f44710: 0x000055555576f530  0x000055555576f530
0x7ffff5f44720: 0x0000000000000000  0x0000060000000014
Popax21 commented 2 years ago

Hm, can you set a breakpoint at libusb_reset, and then execute p tudor_windrv_dlls (keep the session alive after that)

TheZeaX commented 2 years ago
(gdb) break libusb_re
libusb_ref_device             libusb_release_interface      libusb_release_interface@plt  libusb_reset_device           libusb_reset_device@plt

You mean at libusb_reset_device?

Popax21 commented 2 years ago

Yeah, sorry

TheZeaX commented 2 years ago

I did it like this:

(gdb) set disable-randomization on
(gdb) break libusb_reset
Function "libusb_reset" not defined.
Make breakpoint pending on future shared library load? (y or [n]) n
(gdb) break libusb_reset_device
Breakpoint 1 at 0x7270
(gdb) p tudor_windrv_dlls 
$1 = {{module = {prev = 0x0, next = 0x0, handle = 0x0, name = 0x33478 "synaFpAdapter104.dll", cmdline = 0x33478 "synaFpAdapter104.dll", environ = 0x1f1690 <__compound_literal.0>}, 
    pe_image = 0x44818 "MZ\220", pe_image_end = 0x72138 "MZ\220", image = {base_addr = 0x0, image_size = 0, entry_point = 0x0, num_exports = 0, exports = 0x0}, is_adapter = true, 
    is_driver = false}, {module = {prev = 0x0, next = 0x0, handle = 0x0, name = 0x3348d "synaWudfBioUsb104.dll", cmdline = 0x3348d "synaWudfBioUsb104.dll", 
      environ = 0x1f1698 <__compound_literal.1>}, pe_image = 0x72138 "MZ\220", pe_image_end = 0x1f0d18 <error: Cannot access memory at address 0x1f0d18>, image = {base_addr = 0x0, 
      image_size = 0, entry_point = 0x0, num_exports = 0, exports = 0x0}, is_adapter = false, is_driver = true}}

got to the breakpoint

Thread 1 "tudor" hit Breakpoint 1, 0x00007ffff7b54190 in libusb_reset_device () from /lib/x86_64-linux-gnu/libusb-1.0.so.0
(gdb) x/32i 0x00007ffff7b54190
=> 0x7ffff7b54190 <libusb_reset_device>:    endbr64 
   0x7ffff7b54194 <libusb_reset_device+4>:  push   %rbp
   0x7ffff7b54195 <libusb_reset_device+5>:  mov    %rdi,%rbp
   0x7ffff7b54198 <libusb_reset_device+8>:  xor    %edi,%edi
   0x7ffff7b5419a <libusb_reset_device+10>: test   %rbp,%rbp
   0x7ffff7b5419d <libusb_reset_device+13>: je     0x7ffff7b541a7 <libusb_reset_device+23>
   0x7ffff7b5419f <libusb_reset_device+15>: mov    0x40(%rbp),%rax
   0x7ffff7b541a3 <libusb_reset_device+19>: mov    0x8(%rax),%rdi
   0x7ffff7b541a7 <libusb_reset_device+23>: xor    %eax,%eax
   0x7ffff7b541a9 <libusb_reset_device+25>: lea    0xb22d(%rip),%rcx        # 0x7ffff7b5f3dd
   0x7ffff7b541b0 <libusb_reset_device+32>: mov    $0x4,%esi
   0x7ffff7b541b5 <libusb_reset_device+37>: lea    0xdb44(%rip),%rdx        # 0x7ffff7b61d00
   0x7ffff7b541bc <libusb_reset_device+44>: call   0x7ffff7b4f720
   0x7ffff7b541c1 <libusb_reset_device+49>: mov    0x40(%rbp),%rax
   0x7ffff7b541c5 <libusb_reset_device+53>: mov    0x50(%rax),%rax
   0x7ffff7b541c9 <libusb_reset_device+57>: test   %rax,%rax
   0x7ffff7b541cc <libusb_reset_device+60>: je     0x7ffff7b541e0 <libusb_reset_device+80>
   0x7ffff7b541ce <libusb_reset_device+62>: mov    %rbp,%rdi
   0x7ffff7b541d1 <libusb_reset_device+65>: pop    %rbp
   0x7ffff7b541d2 <libusb_reset_device+66>: jmp    0x7ffff7b57280
   0x7ffff7b541d7 <libusb_reset_device+71>: nopw   0x0(%rax,%rax,1)
   0x7ffff7b541e0 <libusb_reset_device+80>: mov    $0xfffffffc,%eax
   0x7ffff7b541e5 <libusb_reset_device+85>: pop    %rbp
   0x7ffff7b541e6 <libusb_reset_device+86>: ret    
   0x7ffff7b541e7:  nopw   0x0(%rax,%rax,1)
   0x7ffff7b541f0 <libusb_alloc_streams>:   endbr64 
   0x7ffff7b541f4 <libusb_alloc_streams+4>: push   %r14
   0x7ffff7b541f6 <libusb_alloc_streams+6>: mov    %rdx,%r14
   0x7ffff7b541f9 <libusb_alloc_streams+9>: push   %r13
   0x7ffff7b541fb <libusb_alloc_streams+11>:    mov    %esi,%r13d
   0x7ffff7b541fe <libusb_alloc_streams+14>:    push   %r12
   0x7ffff7b54200 <libusb_alloc_streams+16>:    mov    %ecx,%r12d
Popax21 commented 2 years ago

I did it like this:

(gdb) set disable-randomization on
(gdb) break libusb_reset
Function "libusb_reset" not defined.
Make breakpoint pending on future shared library load? (y or [n]) n
(gdb) break libusb_reset_device
Breakpoint 1 at 0x7270
(gdb) p tudor_windrv_dlls 
$1 = {{module = {prev = 0x0, next = 0x0, handle = 0x0, name = 0x33478 "synaFpAdapter104.dll", cmdline = 0x33478 "synaFpAdapter104.dll", environ = 0x1f1690 <__compound_literal.0>}, 
    pe_image = 0x44818 "MZ\220", pe_image_end = 0x72138 "MZ\220", image = {base_addr = 0x0, image_size = 0, entry_point = 0x0, num_exports = 0, exports = 0x0}, is_adapter = true, 
    is_driver = false}, {module = {prev = 0x0, next = 0x0, handle = 0x0, name = 0x3348d "synaWudfBioUsb104.dll", cmdline = 0x3348d "synaWudfBioUsb104.dll", 
      environ = 0x1f1698 <__compound_literal.1>}, pe_image = 0x72138 "MZ\220", pe_image_end = 0x1f0d18 <error: Cannot access memory at address 0x1f0d18>, image = {base_addr = 0x0, 
      image_size = 0, entry_point = 0x0, num_exports = 0, exports = 0x0}, is_adapter = false, is_driver = true}}

got to the breakpoint

Thread 1 "tudor" hit Breakpoint 1, 0x00007ffff7b54190 in libusb_reset_device () from /lib/x86_64-linux-gnu/libusb-1.0.so.0
(gdb) x/32i 0x00007ffff7b54190
=> 0x7ffff7b54190 <libusb_reset_device>:  endbr64 
   0x7ffff7b54194 <libusb_reset_device+4>:    push   %rbp
   0x7ffff7b54195 <libusb_reset_device+5>:    mov    %rdi,%rbp
   0x7ffff7b54198 <libusb_reset_device+8>:    xor    %edi,%edi
   0x7ffff7b5419a <libusb_reset_device+10>:   test   %rbp,%rbp
   0x7ffff7b5419d <libusb_reset_device+13>:   je     0x7ffff7b541a7 <libusb_reset_device+23>
   0x7ffff7b5419f <libusb_reset_device+15>:   mov    0x40(%rbp),%rax
   0x7ffff7b541a3 <libusb_reset_device+19>:   mov    0x8(%rax),%rdi
   0x7ffff7b541a7 <libusb_reset_device+23>:   xor    %eax,%eax
   0x7ffff7b541a9 <libusb_reset_device+25>:   lea    0xb22d(%rip),%rcx        # 0x7ffff7b5f3dd
   0x7ffff7b541b0 <libusb_reset_device+32>:   mov    $0x4,%esi
   0x7ffff7b541b5 <libusb_reset_device+37>:   lea    0xdb44(%rip),%rdx        # 0x7ffff7b61d00
   0x7ffff7b541bc <libusb_reset_device+44>:   call   0x7ffff7b4f720
   0x7ffff7b541c1 <libusb_reset_device+49>:   mov    0x40(%rbp),%rax
   0x7ffff7b541c5 <libusb_reset_device+53>:   mov    0x50(%rax),%rax
   0x7ffff7b541c9 <libusb_reset_device+57>:   test   %rax,%rax
   0x7ffff7b541cc <libusb_reset_device+60>:   je     0x7ffff7b541e0 <libusb_reset_device+80>
   0x7ffff7b541ce <libusb_reset_device+62>:   mov    %rbp,%rdi
   0x7ffff7b541d1 <libusb_reset_device+65>:   pop    %rbp
   0x7ffff7b541d2 <libusb_reset_device+66>:   jmp    0x7ffff7b57280
   0x7ffff7b541d7 <libusb_reset_device+71>:   nopw   0x0(%rax,%rax,1)
   0x7ffff7b541e0 <libusb_reset_device+80>:   mov    $0xfffffffc,%eax
   0x7ffff7b541e5 <libusb_reset_device+85>:   pop    %rbp
   0x7ffff7b541e6 <libusb_reset_device+86>:   ret    
   0x7ffff7b541e7:    nopw   0x0(%rax,%rax,1)
   0x7ffff7b541f0 <libusb_alloc_streams>: endbr64 
   0x7ffff7b541f4 <libusb_alloc_streams+4>:   push   %r14
   0x7ffff7b541f6 <libusb_alloc_streams+6>:   mov    %rdx,%r14
   0x7ffff7b541f9 <libusb_alloc_streams+9>:   push   %r13
   0x7ffff7b541fb <libusb_alloc_streams+11>:  mov    %esi,%r13d
   0x7ffff7b541fe <libusb_alloc_streams+14>:  push   %r12
   0x7ffff7b54200 <libusb_alloc_streams+16>:  mov    %ecx,%r12d

I mean to say that you should run the p ... command after you hit the breakpoint

TheZeaX commented 2 years ago

Sorry, it is late and my brain is already on emergency power.

(gdb) p tudor_windrv_dlls 
$1 = {{module = {prev = 0x555555597090 <tudor_windrv_dlls+112>, next = 0x555555597100 <ntdll_module>, handle = 0x55555576bec0, name = 0x555555587478 "synaFpAdapter104.dll", 
      cmdline = 0x555555587478 "synaFpAdapter104.dll", environ = 0x555555745690 <__compound_literal.0>}, pe_image = 0x555555598818 "MZ\220", pe_image_end = 0x5555555c6138 "MZ\220", 
    image = {base_addr = 0x7ffff68c5000, image_size = 192512, entry_point = 0x7ffff68d3594, num_exports = 3, exports = 0x5555557714f0}, is_adapter = true, is_driver = false}, {module = {
      prev = 0x555555773a40, next = 0x555555597020 <tudor_windrv_dlls>, handle = 0x55555576edf0, name = 0x55555558748d "synaWudfBioUsb104.dll", 
      cmdline = 0x55555558748d "synaWudfBioUsb104.dll", environ = 0x555555745698 <__compound_literal.1>}, pe_image = 0x5555555c6138 "MZ\220", pe_image_end = 0x555555744d18 "", image = {
      base_addr = 0x7ffff6747000, image_size = 1564672, entry_point = 0x7ffff6792950, num_exports = 2, exports = 0x55555576ee10}, is_adapter = false, is_driver = true}}