🚧 Prepare argv parsing
This commit is contained in:
parent
866f6afd5a
commit
1638e9047d
1 changed files with 15 additions and 5 deletions
20
src/main.c
20
src/main.c
|
@ -10,24 +10,34 @@
|
||||||
int main(int argc, unsigned char *argv[]) {
|
int main(int argc, unsigned char *argv[]) {
|
||||||
printf("Hello World!\n");
|
printf("Hello World!\n");
|
||||||
//TODO: verify argv and assign it to variables
|
//TODO: verify argv and assign it to variables
|
||||||
|
char* archiveName = "1234";
|
||||||
|
const unsigned long archiveOffset = 0UL;
|
||||||
|
const unsigned long fileLength = 0xffffUL;
|
||||||
|
uint32_t key0 = 0;
|
||||||
|
uint32_t key1 = 0;
|
||||||
|
uint32_t key2 = 0;
|
||||||
|
|
||||||
//Initialise file reader
|
//Initialise file reader
|
||||||
initFileReader("1234", 0UL);
|
initFileReader(archiveName, archiveOffset);
|
||||||
|
|
||||||
//Skip header (30 bytes + additional length)
|
//Skip header (30 bytes + additional length)
|
||||||
char* fileHeader = getBytes(30UL);
|
char* fileHeader = getBytes(30UL);
|
||||||
printf(fileHeader);
|
printf(fileHeader);
|
||||||
//TODO: check that header is correct
|
//TODO: check that header is correct
|
||||||
|
//TODO: read additional length
|
||||||
|
const unsigned long additionalLength = 0UL;
|
||||||
|
getBytes(additionalLength);
|
||||||
|
|
||||||
//Initialise decryption (pass decryption keys)
|
//Initialise decryption (pass decryption keys)
|
||||||
initDecryptor(0, 0, 0);//TODO
|
initDecryptor(key0, key1, key2);
|
||||||
|
|
||||||
//Skip 12-byte encryption header
|
//Skip 12-byte encryption header
|
||||||
char* encryptionHeader = getBytes(12UL);
|
const unsigned long encrHeaderLength = 12UL;
|
||||||
decrypt(encryptionHeader, 12);
|
char* encrHeader = getBytes(encrHeaderLength);
|
||||||
|
decrypt(encrHeader, encrHeaderLength);
|
||||||
|
|
||||||
//Read actual file
|
//Read actual file
|
||||||
unsigned long remainingBytes = 0xFFFF;//TODO
|
unsigned long remainingBytes = fileLength;
|
||||||
while (remainingBytes > 0) {
|
while (remainingBytes > 0) {
|
||||||
const unsigned long chunkSize = min(0xFF, remainingBytes);
|
const unsigned long chunkSize = min(0xFF, remainingBytes);
|
||||||
char* chunk = getBytes(chunkSize);
|
char* chunk = getBytes(chunkSize);
|
||||||
|
|
Loading…
Reference in a new issue