update cert hooks

This commit is contained in:
Kevin Trocolli
2024-02-21 03:43:44 -05:00
parent 3ae24469fa
commit fd2ad4424c
25 changed files with 323 additions and 20 deletions
+13 -5
View File
@@ -27,8 +27,8 @@ DWORD hook_iDmacDrvOpen(int dev_num, DWORD *dev_handle, DWORD *other_ptr);
DWORD hook_iDmacDrvClose(HANDLE a1, DWORD *lp);
int hook_iDmacDrvDmaRead(HANDLE a1, LPVOID lp, UINT_PTR ucb, unsigned int *a4);
int hook_iDmacDrvDmaWrite(HANDLE a1, void *lp, UINT_PTR ucb, unsigned int *a4);
int hook_iDmacDrvRegisterRead(HANDLE a1, DWORD BytesReturned, LPVOID lp, unsigned int *a4);
int hook_iDmacDrvRegisterWrite(HANDLE a1, DWORD BytesReturned, int a3, DWORD *lp);
int hook_iDmacDrvRegisterRead(HANDLE a1, DWORD register_id, DWORD* lp, unsigned int *a4);
int hook_iDmacDrvRegisterWrite(HANDLE a1, DWORD register_id, int a3, DWORD *lp);
int hook_iDmacDrvRegisterBufferRead(HANDLE a1, DWORD BytesReturned, LPVOID lp, UINT_PTR ucb, DWORD *a5);
int hook_iDmacDrvRegisterBufferWrite(HANDLE a1, DWORD BytesReturned, void *lp, UINT_PTR ucb, DWORD *a5);
int hook_iDmacDrvMemoryRead(HANDLE a1, DWORD BytesReturned, LPVOID lp, DWORD *a4);
@@ -186,14 +186,22 @@ int hook_iDmacDrvDmaWrite(HANDLE a1, void *lp, UINT_PTR ucb, unsigned int *a4)
return 0;
}
int hook_iDmacDrvRegisterRead(HANDLE a1, DWORD BytesReturned, LPVOID lp, unsigned int *a4)
int hook_iDmacDrvRegisterRead(HANDLE a1, DWORD register_id, DWORD* lp, unsigned int *a4)
{
//dprintf("hook_iDmacDrvRegisterRead: This code should not run!\n");
//memset(lp, 0, 0x14);
if (register_id == 0x4140) { // get coin slot 1
*lp = 0;
}
if (register_id == 0x4144) { // get coin slot 2
*lp = 0;
}
if (register_id == 0x4120 && (GetAsyncKeyState(VK_DELETE) & 0x8000)) { // get keys
*lp = 0x40;
}
return 0;
}
int hook_iDmacDrvRegisterWrite(HANDLE a1, DWORD BytesReturned, int a3, DWORD *lp)
int hook_iDmacDrvRegisterWrite(HANDLE a1, DWORD register_id, int a3, DWORD *lp)
{
//dprintf("hook_iDmacDrvRegisterWrite: This code should not run!\n");
return 0;
+5
View File
@@ -102,6 +102,11 @@ static HRESULT jvs_handle_irp_locked(struct irp *irp)
hr = uart_handle_irp(&jvs_uart, irp);
if (irp->ioctl == IOCTL_SERIAL_GET_MODEMSTATUS) {
irp->modem_state = MS_CTS_ON;
return S_OK;
}
if (FAILED(hr) || irp->op != IRP_OP_WRITE) {
return hr;
}