ntutils icon indicating copy to clipboard operation
ntutils copied to clipboard

z-x64.exe crashes on Windows 8

Open sredna opened this issue 1 year ago • 0 comments

A bit strange but the first time I run it from Explorer it works fine but after that it always crashes on startup. It works one time if I move it to a different directory. Also crashed when started from cmd.exe.

If I run it in a debugger it does not crash right away but crashes when I press F8 to exit; Access violation - code c0000005.

...
00000001`4002cb88 83c820          or      eax,20h
00000001`4002cb8b 83e860          sub     eax,60h
00000001`4002cb8e 89442420        mov     dword ptr [rsp+20h],eax
00000001`4002cb92 eb1f            jmp     image00000001_40000000+0x2cbb3 (00000001`4002cbb3)
00000001`4002cb94 488d542438      lea     rdx,[rsp+38h]
00000001`4002cb99 b905000000      mov     ecx,5
00000001`4002cb9e ff15e4b50100    call    qword ptr [image00000001_40000000+0x48188 (00000001`40048188)]
00000001`4002cba4 0fbe442438      movsx   eax,byte ptr [rsp+38h]
00000001`4002cba9 83c820          or      eax,20h
00000001`4002cbac 83e860          sub     eax,60h
00000001`4002cbaf 89442420        mov     dword ptr [rsp+20h],eax
00000001`4002cbb3 8b4c2420        mov     ecx,dword ptr [rsp+20h]
00000001`4002cbb7 488d0592910200  lea     rax,[image00000001_40000000+0x55d50 (00000001`40055d50)]
00000001`4002cbbe 0fb70448        movzx   eax,word ptr [rax+rcx*2] ds:00000003`40055d00=????
00000001`4002cbc2 83f87b          cmp     eax,7Bh

This code-path is also executed on startup with eax=7b from rax=140055d50 rcx=a. When it crashes on F8 rcx is ffffffd8.

!analyze -v:

FAULTING_IP: 
image00000001_40000000+2cbbe
00000001`4002cbbe 0fb70448        movzx   eax,word ptr [rax+rcx*2]

EXCEPTION_RECORD:  ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 000000014002cbbe (image00000001_40000000+0x000000000002cbbe)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 0000000000000000
   Parameter[1]: 0000000340055d00
Attempt to read from address 0000000340055d00

FAULTING_THREAD:  0000000000000bd4

DEFAULT_BUCKET_ID:  INVALID_POINTER_READ

PROCESS_NAME:  image00000001`40000000

ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.

EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.

EXCEPTION_PARAMETER1:  0000000000000000

EXCEPTION_PARAMETER2:  0000000340055d00

READ_ADDRESS:  0000000340055d00 

FOLLOWUP_IP: 
image00000001_40000000+2cbbe
00000001`4002cbbe 0fb70448        movzx   eax,word ptr [rax+rcx*2]

MOD_LIST: <ANALYSIS/>

NTGLOBALFLAG:  70

APPLICATION_VERIFIER_FLAGS:  0

PRIMARY_PROBLEM_CLASS:  INVALID_POINTER_READ

BUGCHECK_STR:  APPLICATION_FAULT_INVALID_POINTER_READ

LAST_CONTROL_TRANSFER:  from 000000014002c8c3 to 000000014002cbbe

STACK_TEXT:  
00000000`0013f9a0 00000001`4002c8c3 : 00000001`4005f0e0 00000000`00000000 00000000`00000044 00000000`00000000 : image00000001_40000000+0x2cbbe
00000000`0013fa00 00000001`4002c66f : 00000001`4005f0e0 00000000`00000000 00000000`0013fe40 00000001`4005fb60 : image00000001_40000000+0x2c8c3
00000000`0013fa60 00000001`4002bbaa : 00000001`4005a970 00000000`00000000 0000ff89`35017f8f 00000001`4002f9d5 : image00000001_40000000+0x2c66f
00000000`0013fc00 00000001`4002c7b6 : 00000001`4005a970 00000001`4002c590 00000000`00281856 00000001`4005f0e0 : image00000001_40000000+0x2bbaa
00000000`0013fc50 00000001`4002c875 : 00000000`00281856 00000001`4005f0e0 00000008`01000001 38000003`00000000 : image00000001_40000000+0x2c7b6
00000000`0013fca0 00000001`4001e2d0 : 00000000`00281850 00000001`4005f0e0 00000001`400533a0 00000000`00000000 : image00000001_40000000+0x2c875
00000000`0013fce0 00000001`40025d89 : 00000000`00000000 00000000`0013fd01 00000000`00000000 00009e50`6a90665f : image00000001_40000000+0x1e2d0
00000000`0013fd60 00000001`40025d54 : 00000000`00000007 00000000`00000007 00000000`00000000 00000000`00000000 : image00000001_40000000+0x25d89
00000000`0013fd90 00000001`400259de : 00000000`00000000 00000000`00000007 00000000`ffffffff 00000001`ffffffff : image00000001_40000000+0x25d54
00000000`0013fdc0 00000001`40001e5f : 00000000`00007700 00000000`0013fe20 ffffffff`ffffff00 00000000`0000000e : image00000001_40000000+0x259de
00000000`0013fe00 00000001`40028e52 : 00000001`40053928 00000001`40009a05 00000001`40055770 00000001`00000004 : image00000001_40000000+0x1e5f
00000000`0013fe80 00000001`40028d8c : 00000001`40055770 00000001`400552bf 00000000`00000000 81010101`01010100 : image00000001_40000000+0x28e52
00000000`0013fec0 00000001`40038c1b : 00000000`00000000 00000000`002821a8 00000000`00000000 00000000`00000000 : image00000001_40000000+0x28d8c
00000000`0013ff20 000007f8`7f971832 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : image00000001_40000000+0x38c1b
00000000`0013ff60 000007f8`81ead609 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : KERNEL32!BaseThreadInitThunk+0x1a
00000000`0013ff90 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x1d


MODULE_NAME: Unknown_Module

IMAGE_NAME:  Unknown_Image

DEBUG_FLR_IMAGE_TIMESTAMP:  0

STACK_COMMAND:  ~0s ; kb

BUCKET_ID:  X64_APPLICATION_FAULT_INVALID_POINTER_READ

FAILURE_BUCKET_ID:  INVALID_POINTER_READ_c0000005_Unknown_Image!Unknown

z-x86.exe seems to work fine...

sredna avatar Jun 12 '23 20:06 sredna

@JoshoNZ You can use this node package. It is the same as this site, except isn't a website, and has functions that let you supply the string and generate the voice. You could also look into the code to see the actual endpoint of the tiktok API, but it's probably easier to just use the library

Justiniscoding avatar Apr 02 '24 13:04 Justiniscoding

@JoshoNZ You can use this node package. It is the same as this site, except isn't a website, and has functions that let you supply the string and generate the voice. You could also look into the code to see the actual endpoint of the tiktok API, but it's probably easier to just use the library

Library does seem easier to use. API access for this is available and it takes the same parameters (F12 network tab, to check example) but its as a JSON payload in body.

Weilbyte avatar Apr 02 '24 13:04 Weilbyte

Looking closer at it, it has some quirks:

  • Text length is not checked. Past 300 bytes it will fail.
  • Seems to write to file instead of presenting you with Base64 encoded audio directly ...

Might send a few PRs to improve

Weilbyte avatar Apr 02 '24 14:04 Weilbyte

Thanks Team, will look into it 👍

JoshoNZ avatar Apr 04 '24 21:04 JoshoNZ