forked from lolo859/vystem
Vystem 0.2
This commit is contained in:
@@ -12,14 +12,15 @@ extern "C" {
|
||||
#include <vector>
|
||||
#include <cstring>
|
||||
#include <algorithm>
|
||||
#include "common/versions.h"
|
||||
using namespace std;
|
||||
namespace fs=filesystem;
|
||||
#pragma pack(push,1)
|
||||
struct initfs_header {
|
||||
uint8_t sign[8]={'I','n','i','t','F','i','S','y'};
|
||||
uint16_t bootloader_version=0x0001;
|
||||
uint16_t initfs_version=0x0001;
|
||||
uint32_t os_version=0x00000001;
|
||||
uint16_t bootloader_version=VY_COMMON_VERSIONS_BOOTLOADER;
|
||||
uint16_t initfs_version=VY_COMMON_VERSIONS_INITFS;
|
||||
uint32_t os_version=VY_COMMON_VERSIONS_OS;
|
||||
uint8_t installation_id[48]={0};
|
||||
uint64_t initfs_size=0;
|
||||
uint64_t table_size=0;
|
||||
@@ -48,9 +49,9 @@ struct file_entry {
|
||||
#pragma pack(push,1)
|
||||
struct signsyst_header {
|
||||
uint8_t sign[8]={'S','i','g','n','S','y','s','t'};
|
||||
uint16_t bootloader_version=0x0001;
|
||||
uint16_t initfs_version=0x0001;
|
||||
uint32_t os_version=0x00000001;
|
||||
uint16_t bootloader_version=VY_COMMON_VERSIONS_BOOTLOADER;
|
||||
uint16_t initfs_version=VY_COMMON_VERSIONS_INITFS;
|
||||
uint32_t os_version=VY_COMMON_VERSIONS_OS;
|
||||
uint8_t installation_id[48]={0};
|
||||
uint64_t signature_size=0;
|
||||
uint64_t signature_count=0;
|
||||
@@ -138,7 +139,7 @@ int main(int argc,char **argv) {
|
||||
uint64_t value=(header.initfs_size+header.table_size+header.files_area_size+header.entries_width+header.entries_count+header.files_area_offset)%UINT64_MAX;
|
||||
header.check1=(value*0x9E3779B185EBCA87)^header.entropy_check1;
|
||||
sha3(header.installation_id,sizeof(header.installation_id),header.installation_id_hash_hash,sizeof(header.installation_id_hash_hash));
|
||||
ofstream initfs_footprint("initfs-footprint.bin",ios::binary);
|
||||
ofstream initfs_footprint("initfsfp.bin",ios::binary);
|
||||
if (!initfs_footprint) {
|
||||
cout<<"[InitFSGen] Error: Can't open initfs-footprint.bin."<<endl;
|
||||
return -1;
|
||||
@@ -220,7 +221,7 @@ int main(int argc,char **argv) {
|
||||
initfs_bin.write(reinterpret_cast<char*>(entries_table.data()),entries_table.size());
|
||||
initfs_bin.write(reinterpret_cast<char*>(files_area.data()),files_area.size());
|
||||
initfs_bin.close();
|
||||
ofstream signsyst_hash("signsyst-hash.bin",ios::binary);
|
||||
ofstream signsyst_hash("sshash.bin",ios::binary);
|
||||
if (!signsyst_hash) {
|
||||
cout<<"[InitFSGen] Error: Can't open signsyst-hash.bin."<<endl;
|
||||
return -1;
|
||||
|
||||
Reference in New Issue
Block a user