Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NOT WORKING: Shinseiki Evangelion Koutetsu no Girlfriend - Special Edition #34

Open
ayuanx opened this issue Dec 4, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@ayuanx
Copy link

ayuanx commented Dec 4, 2024

Particularly, I see two different out-buffer size 0xc18 and 0x610 for command 41h.

In current code, the 0x610 case is not handled and returns FALSE.

[2024-12-04 21:56:59.892] [trace] command 41h called
[2024-12-04 21:56:59.892] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.893] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.893] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.893] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.893] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.893] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.893] [trace] ioctl out-buffer size: 0xc18
[2024-12-04 21:56:59.893] [trace] command 41h called
[2024-12-04 21:56:59.893] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.893] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.893] [trace] ioctl out-buffer size: 0x610

[2024-12-04 21:56:59.806] [info] SafeDiscShim version 0.1.1

[2024-12-04 21:56:59.816] [trace] Hooked NtDeviceIoControlFile
[2024-12-04 21:56:59.816] [trace] Hooked CreateFileA
[2024-12-04 21:56:59.823] [trace] Enabled IOCTL hooks
[2024-12-04 21:56:59.824] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.824] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.825] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.825] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.831] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.831] [trace] hooked CreateProcessA called
[2024-12-04 21:56:59.833] [info] injecting into executable Z:\Temp~e5.0001
[2024-12-04 21:56:59.833] [trace] starting injection into executable
[2024-12-04 21:56:59.835] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.835] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.835] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.835] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.835] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.835] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.835] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.836] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.836] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.838] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.839] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.839] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.839] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.839] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.839] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.839] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.839] [trace] ioctl out-buffer size: 0xc18
[2024-12-04 21:56:59.839] [info] SafeDisc ioctl version 4.00.040 detected.
[2024-12-04 21:56:59.839] [trace] command SetupVerification called
[2024-12-04 21:56:59.839] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.839] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.839] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.839] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.839] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.839] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.839] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.839] [trace] ioctl out-buffer size: 0xc18
[2024-12-04 21:56:59.839] [trace] command GetDebugRegisterInfo called
[2024-12-04 21:56:59.841] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.841] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.841] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.841] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.841] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.841] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.841] [trace] ioctl out-buffer size: 0xc18
[2024-12-04 21:56:59.841] [trace] command 3Fh called
[2024-12-04 21:56:59.841] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.842] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.842] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.842] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.842] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.842] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.842] [trace] ioctl out-buffer size: 0xc18
[2024-12-04 21:56:59.842] [trace] command 3Fh called
[2024-12-04 21:56:59.842] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.842] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.842] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.842] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.842] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.842] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.842] [trace] ioctl out-buffer size: 0xc18
[2024-12-04 21:56:59.842] [trace] command 3Fh called
[2024-12-04 21:56:59.842] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.842] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.842] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.842] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.842] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.842] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.842] [trace] ioctl out-buffer size: 0xc18
[2024-12-04 21:56:59.842] [trace] command 3Fh called
[2024-12-04 21:56:59.842] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.842] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.842] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.842] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.842] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.842] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.842] [trace] ioctl out-buffer size: 0xc18
[2024-12-04 21:56:59.842] [trace] command 3Fh called
[2024-12-04 21:56:59.842] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.842] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.842] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.842] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.842] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.842] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.842] [trace] ioctl out-buffer size: 0xc18

..................
..................

[2024-12-04 21:56:59.891] [trace] command 41h called
[2024-12-04 21:56:59.891] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.891] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.891] [trace] ioctl out-buffer size: 0x610
[2024-12-04 21:56:59.891] [trace] command 41h called
[2024-12-04 21:56:59.891] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.891] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.891] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.891] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.891] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.891] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.891] [trace] ioctl out-buffer size: 0xc18
[2024-12-04 21:56:59.891] [trace] command 41h called
[2024-12-04 21:56:59.891] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.891] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.891] [trace] ioctl out-buffer size: 0x610
[2024-12-04 21:56:59.891] [trace] command 41h called
[2024-12-04 21:56:59.891] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.891] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.891] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.891] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.891] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.892] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.892] [trace] ioctl out-buffer size: 0xc18
[2024-12-04 21:56:59.892] [trace] command 41h called
[2024-12-04 21:56:59.892] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.892] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.892] [trace] ioctl out-buffer size: 0x610
[2024-12-04 21:56:59.892] [trace] command 41h called
[2024-12-04 21:56:59.892] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.892] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.892] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.892] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.892] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.892] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.892] [trace] ioctl out-buffer size: 0xc18
[2024-12-04 21:56:59.892] [trace] command 41h called
[2024-12-04 21:56:59.892] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.892] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.892] [trace] ioctl out-buffer size: 0x610
[2024-12-04 21:56:59.892] [trace] command 41h called
[2024-12-04 21:56:59.892] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.892] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.892] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.892] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.892] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.892] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.892] [trace] ioctl out-buffer size: 0xc18
[2024-12-04 21:56:59.892] [trace] command 41h called
[2024-12-04 21:56:59.892] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.892] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.892] [trace] ioctl out-buffer size: 0x610
[2024-12-04 21:56:59.892] [trace] command 41h called
[2024-12-04 21:56:59.892] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.892] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.892] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.892] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.892] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.892] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.892] [trace] ioctl out-buffer size: 0xc18
[2024-12-04 21:56:59.892] [trace] command 41h called
[2024-12-04 21:56:59.892] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.892] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.892] [trace] ioctl out-buffer size: 0x610
[2024-12-04 21:56:59.892] [trace] command 41h called
[2024-12-04 21:56:59.892] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.893] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.893] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.893] [trace] CreateFileA: SecDrv opened!
[2024-12-04 21:56:59.893] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.893] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.893] [trace] ioctl out-buffer size: 0xc18
[2024-12-04 21:56:59.893] [trace] command 41h called
[2024-12-04 21:56:59.893] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.893] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.893] [trace] ioctl out-buffer size: 0x610
[2024-12-04 21:56:59.893] [trace] command 41h called
[2024-12-04 21:56:59.897] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.897] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.905] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.905] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.919] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.919] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.919] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.920] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.920] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.920] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.920] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.921] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.921] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.923] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.923] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.923] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.923] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.923] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.923] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.924] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.924] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.924] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.924] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.924] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.924] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.925] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.926] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.926] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.926] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.926] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.926] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.926] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.927] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.927] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.927] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.927] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.927] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.928] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.928] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.929] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.930] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.930] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.930] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.930] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.930] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.930] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.931] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.931] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.931] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.931] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.932] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.933] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.933] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.933] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.933] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.933] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.934] [trace] hooked CreateFileA called
[2024-12-04 21:56:59.934] [trace] hooked NtDeviceIoControlFile called

@ayuanx
Copy link
Author

ayuanx commented Dec 4, 2024

Simply patching the code to ignore the size check doesn't solve the problem.

  case Command41h:
    spdlog::trace("command 41h called");
    // if ( nOutBufferSize != 0xC18 ||
    //  !LOBYTE(inBuffer->ExtraData[0]) ) return FALSE;
    outBuffer->ExtraDataSize = 4;
    break;

After such patching, the original 0x610 size calls as below disappear but the game still doesn't work.

[2024-12-04 21:56:59.892] [trace] command 41h called
[2024-12-04 21:56:59.892] [trace] hooked NtDeviceIoControlFile called
[2024-12-04 21:56:59.892] [trace] ioctl in-buffer size: 0x514
[2024-12-04 21:56:59.892] [trace] ioctl out-buffer size: 0x610

@RibShark RibShark added the bug Something isn't working label Dec 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants