mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2024-12-28 18:46:06 +00:00
pkg tool : file table info
This commit is contained in:
parent
8ccfcfd553
commit
86ecf77a15
|
@ -71,6 +71,7 @@ bool PKG::extract(const std::string& filepath, const std::string& extractPath, s
|
||||||
ReadBE(entry);
|
ReadBE(entry);
|
||||||
//try to figure out the name
|
//try to figure out the name
|
||||||
std::string name = getEntryNameByType(entry.id);
|
std::string name = getEntryNameByType(entry.id);
|
||||||
|
printPkgFileEntry(entry,name);
|
||||||
if (!name.empty())
|
if (!name.empty())
|
||||||
{
|
{
|
||||||
std::size_t pos = name.find("/");//check if we have a directory (assuming we only have 1 level of subdirectories)
|
std::size_t pos = name.find("/");//check if we have a directory (assuming we only have 1 level of subdirectories)
|
||||||
|
@ -107,10 +108,10 @@ bool PKG::extract(const std::string& filepath, const std::string& extractPath, s
|
||||||
pfs.pfsOuterReadHeader(pkg + pkgheader.pfs_image_offset);
|
pfs.pfsOuterReadHeader(pkg + pkgheader.pfs_image_offset);
|
||||||
pfs.printPsfOuterHeader();
|
pfs.printPsfOuterHeader();
|
||||||
//extract pfs_image.dat
|
//extract pfs_image.dat
|
||||||
/*FsFile out;
|
FsFile out;
|
||||||
out.Open(extractPath + "pfs_image.dat", fsWrite);
|
out.Open(extractPath + "pfs_image.dat", fsWrite);
|
||||||
out.Write(pkg + pkgheader.pfs_image_offset, pkgheader.pfs_image_size);
|
out.Write(pkg + pkgheader.pfs_image_offset, pkgheader.pfs_image_size);
|
||||||
out.Close();*/
|
out.Close();
|
||||||
munmap(pkg);
|
munmap(pkg);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
|
@ -294,10 +294,10 @@ public:
|
||||||
printf(" finalized");
|
printf(" finalized");
|
||||||
printf("\n");
|
printf("\n");
|
||||||
printf("- PKG 0x8: 0x%X\n", pkgheader.pkg_0x8);
|
printf("- PKG 0x8: 0x%X\n", pkgheader.pkg_0x8);
|
||||||
printf("- PKG file count: 0x%X\n", pkgheader.pkg_file_count);
|
printf("- PKG file count: %u\n", pkgheader.pkg_file_count);
|
||||||
printf("- PKG table entries: 0x%X\n", pkgheader.pkg_table_entry_count);
|
printf("- PKG table entries count: %u\n", pkgheader.pkg_table_entry_count);
|
||||||
printf("- PKG system entries: 0x%X\n", pkgheader.pkg_sc_entry_count);
|
printf("- PKG system entries count: %u\n", pkgheader.pkg_sc_entry_count);
|
||||||
printf("- PKG table entries2: 0x%X\n", pkgheader.pkg_table_entry_count_2);
|
printf("- PKG table entries2 count: %u\n", pkgheader.pkg_table_entry_count_2);
|
||||||
printf("- PKG table offset: 0x%X\n", pkgheader.pkg_table_entry_offset);
|
printf("- PKG table offset: 0x%X\n", pkgheader.pkg_table_entry_offset);
|
||||||
printf("- PKG table entry data size: 0x%X\n", pkgheader.pkg_sc_entry_data_size);
|
printf("- PKG table entry data size: 0x%X\n", pkgheader.pkg_sc_entry_data_size);
|
||||||
printf("- PKG body offset: 0x%" PRIx64 "\n", pkgheader.pkg_body_offset);
|
printf("- PKG body offset: 0x%" PRIx64 "\n", pkgheader.pkg_body_offset);
|
||||||
|
@ -395,5 +395,18 @@ public:
|
||||||
printf("\n");
|
printf("\n");
|
||||||
printf("\n\n");
|
printf("\n\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void printPkgFileEntry(PKGEntry entry, std::string name)
|
||||||
|
{
|
||||||
|
|
||||||
|
printf("-PS4 File Entry:\n");
|
||||||
|
printf("--found name: %s\n", name.c_str());
|
||||||
|
printf("--id: 0x%X\n", entry.id);
|
||||||
|
printf("--filename_offset: 0x%X\n", entry.filename_offset);
|
||||||
|
printf("--flags1: 0x%X\n", entry.flags1);
|
||||||
|
printf("--flags2: 0x%X\n", entry.flags2);
|
||||||
|
printf("--offset: 0x%X\n", entry.offset);
|
||||||
|
printf("--size: 0x%X\n", entry.size);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue