Last active
November 19, 2025 21:24
-
-
Save jesux/0c17efc9985686ecc9ff5b4840c0c2ad to your computer and use it in GitHub Desktop.
Hollow Knight Silksong NoDeath DLL Patch [1.0.28650] [1.0.28714] [1.0.29315]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # NoDie Patch Script | |
| # Este script modifica la libreria "Assembly-CSharp.dll" del juego evitando que podamos morir al recibir daño | |
| # Si se vuelve a ejecutar el script, se deshace la modificación | |
| # Para ejecutar el script: powershell -ep Bypass C:\ruta\NoDie-Silksong.ps1 | |
| # Ruta de la libreria "Assembly-CSharp.dll" | |
| $file = "C:\Program Files (x86)\Steam\steamapps\common\Hollow Knight Silksong\Hollow Knight Silksong_Data\Managed\Assembly-CSharp.dll" | |
| $bytes = [System.IO.File]::ReadAllBytes($file) | |
| # Texto "NoDeath" | |
| $NoDeathText = 0x10, 0x0a, 0x00, 0x4e, 0x00, 0x6f, 0x00, 0x44, 0x00, 0x65, 0x00, 0x61, 0x00, 0x74, 0x00, 0x68, 0x00, 0x00, 0x22 | |
| $OriginalText = 0x0f, 0x20, 0x00, 0x28, 0x00, 0x44, 0x00, 0x65, 0x00, 0x6d, 0x00, 0x6f, 0x00, 0x29, 0x00, 0x00, 0x23, 0x0a, 0x00 | |
| # Parcheo para que muestre el texto | |
| $showText = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 | |
| # Se identifica la versión del juego | |
| $version_1_0_28650 = [System.Text.Encoding]::ASCII.GetString($bytes[0x5da3e0..0x5da3e9]) | |
| $version_1_0_28714 = [System.Text.Encoding]::ASCII.GetString($bytes[0x5da3e0..0x5da3e9]) | |
| $version_1_0_29315 = [System.Text.Encoding]::ASCII.GetString($bytes[0x578f42..0x578f53]) | |
| if ($version_1_0_28650 -eq "1.0.28650") { | |
| Write-Output "Version: $version_1_0_28650" | |
| $offsetTakeHealth = 0x0b2d72 | |
| $offsetText = 0x574545 | |
| $offsetShowText = 0x0eac28 | |
| $noShowText = 0x28, 0xa9, 0x23, 0x00, 0x06, 0x2c, 0x0c | |
| } elseif ($version_1_0_28714 -eq "1.0.28714") { | |
| Write-Output "Version: $version_1_0_28714" | |
| $offsetTakeHealth = 0x0b2d72 | |
| $offsetText = 0x574545 | |
| $offsetShowText = 0x0eac28 | |
| $noShowText = 0x28, 0xa9, 0x23, 0x00, 0x06, 0x2c, 0x0c | |
| } elseif ($version_1_0_29315 -eq "1.0.29315") { | |
| Write-Output "Version: $version_1_0_29315" | |
| $offsetTakeHealth = 0x0b3ef2 | |
| $offsetText = 0x57ce9b | |
| $offsetShowText = 0xebf70 | |
| $noShowText = 0x28, 0xc4, 0x23, 0x00, 0x06, 0x2c, 0x0c | |
| } else { | |
| Write-Output "[-] Failed. Version not supported" | |
| return | |
| } | |
| # Se modifica el metodo "TakeHealth" para que la salud minima pase de 0 (0x16) a 1 (0x17) | |
| if ($bytes[$offsetTakeHealth] -eq 0x16) { | |
| Write-Output "[+] Enabling NoDie" | |
| $bytes[$offsetTakeHealth] = 0x17 | |
| # Se añade el texto "NoDeath" | |
| foreach ($byte in $NoDeathText) { | |
| $bytes[$offsetText++] = $byte | |
| } | |
| foreach ($byte in $showText) { | |
| $bytes[$offsetShowText++] = $byte | |
| } | |
| $bytes = [System.IO.File]::WriteAllBytes($file, $bytes) | |
| } elseif ($bytes[$offsetTakeHealth] -eq 0x17) { | |
| Write-Output "[+] Disabling NoDie" | |
| $bytes[$offsetTakeHealth] = 0x16 | |
| # Se elimina el texto "NoDeath" | |
| foreach ($byte in $OriginalText) { | |
| $bytes[$offsetText++] = $byte | |
| } | |
| foreach ($byte in $noShowText) { | |
| $bytes[$offsetShowText++] = $byte | |
| } | |
| $bytes = [System.IO.File]::WriteAllBytes($file, $bytes) | |
| } else { | |
| Write-Output "[-] Failed. Wrong version?" | |
| } | |
| pause |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Download DLL