Per poter modificare una stringa all'interno di un eseguibile si dovrebbe conoscere anche il formato con cui questa viene salvata all'interno del file.

Per i programmi normali, le stringhe costituiscono una risorsa ben particolare, identificabile all'interno del file eseguibile; infatti, con molti editor di risorse, è possibile aprire un file (EXE, DLL, RES...) e modificare ciascuna stringa singolarmente. Prova ad esempio con l'utility Resource Hacker...

Una volta apportate le modifiche, devi salvare l'eseguibile aggiornato e il gioco è fatto.

Per programmi compilati in VB, la questione si complica, poichè non si tratta di programmi nativi per Windows (benchè sia scritto nelle opzioni del compilatore), ma sono istruzioni codificate in uno "pseudolinguaggio" che viene successivamente intepretato da una macchina virtuale (MSVBVM60.DLL, per Visual Basic 6).

Modificare le stringhe con un editor esadecimale senza sapere dove "toccare" esattamente ti ha portato ad avere un eseguibile non valido, che ti genera l'errore in questione quando tenti di lanciarlo.

Ciao!