![]() |
|
|
|
#1
|
|||
|
|||
|
Quote:
Quote:
|
|
#2
|
|||
|
|||
|
@Dmit:
For me TYPE only truncates the output if it is directed to the console. As soon as it is redirected to any other file or any other program, it fully copies the filecontents. My BC++ compiled copy worked with the TYPE command just like the other way. The VC++ and DMC copies truncated the file somewhere after 100kb or something (each one at the different position), so I guess (and tested) that there was at least one 0x1A before that file position. @wasq: For me it works with 0xF1 as XOR value. Using 0x0E gives me the wrong output. |
|
#3
|
|||
|
|||
|
@ wasq: 0xF1 is the right XOR value.
I started a small project and decrypted a setup.inx with ISDHelper, then I worked on it with SID (Sexy InstallShield Decompiler) and rebuild the original crypted setup.inx. All worked fine. Here is my solution for rebuilding the crypted INX: Code:
//Usage: ISDGoBack.exe <newsetup.inx> setup.inx
#include <stdio.h>
#include <fcntl.h>
#include <io.h>
#define XOR_VAL 0xF1
void main (void)
{
int i, c;
unsigned char b;
// Set "stdin" and "stdout" to have binary mode
setmode (_fileno (stdin), _O_BINARY);
setmode (_fileno (stdout), _O_BINARY);
// Rebuild the crypted INX
for (i = 0; (c = getchar ()) != EOF; i++)
{
int d, e;
d = 0x00;
do
{
e = d;
e ^= XOR_VAL;
b = (unsigned char)((e >> 2) | (e << 6)) - (i % 71);
if (b == c)
{
putchar (d);
}
else d++;
} while (b != c && d <= 0xFF);
}
}
|
|
#4
|
||||
|
||||
|
Quote:
__________________
AKA Solomon/blowfish. |
![]() |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| InstallShield 12 Script decompiler ? | DARKER | General Discussion | 27 | 02-04-2024 00:40 |
| packing-format | MaRKuS-DJM | General Discussion | 4 | 11-11-2004 03:05 |
| If anybody know this format... | qaz_qaz | General Discussion | 4 | 07-15-2002 04:51 |