CorrM/Unreal-Finder-Tool

Crash on SaveStruct

Closed this issue · 5 comments

void Package::SaveStructs(const fs::path & path) const
{
	extern IGenerator* generator;
	std::string name = GenerateFileName(FileContentType::Structs, *this);

	std::ofstream os(path / name);//on here

	PrintFileHeader(os, true);

	if (!constants.empty())
	{
		PrintSectionHeader(os, "Constants");
		for (auto&& c : constants) { PrintConstant(os, c); }

		os << "\n";
	}

	if (!Enums.empty())
	{
		PrintSectionHeader(os, "Enums");
		for (auto&& e : Enums) { PrintEnum(os, e); os << "\n"; }

		os << "\n";
	}

	if (!ScriptStructs.empty())
	{
		PrintSectionHeader(os, "Script Structs");
		for (auto&& s : ScriptStructs) { PrintStruct(os, s); os << "\n"; }
	}

	PrintFileFooter(os);
	os.close();
}
Call Stack:

KernelBase.dll!00007ff9781a9129()	unknow
	vcruntime140.dll!00007ff963cb486d()	unknow
	UnrealFinderTool.exe!std::filesystem::_Check_convert_result(const __std_fs_convert_result _Result)  54	C++
	UnrealFinderTool.exe!std::filesystem::_Convert_narrow_to_wide(const __std_code_page _Code_page, const std::basic_string_view<char, std::char_traits<char> > _Input)  71	C++
	[inline] UnrealFinderTool.exe!std::filesystem::_Convert_stringoid_to_wide(const std::basic_string_view<char, std::char_traits<char> >)  264	C++
	[inline] UnrealFinderTool.exe!std::filesystem::_Convert_Source_to_wide(const std::basic_string<char, std::char_traits<char>, std::allocator<char> > &)  362	C++
	[inline] UnrealFinderTool.exe!std::filesystem::path::{ctor}(const std::basic_string<char, std::char_traits<char>, std::allocator<char> > &)  783	C++

UnrealFinderTool.exe!Package::SaveClasses(const std::filesystem::path & path) 807 C++
UnrealFinderTool.exe!Package::Save(const std::filesystem::path & path) 113 C++
UnrealFinderTool.exe!SdkGenerator::ProcessPackages::__l2::(UEObject * obj, ParallelOptions &) 261 C++
[inline] UnrealFinderTool.exe!std::_Func_class<void, unsigned __int64 &, ParallelOptions &>::operator()(unsigned __int64 &) 124 C++
UnrealFinderTool.exe!ParallelWorker<std::vector<unsigned __int64, std::allocator >, unsigned __int64>::Worker() 108 C++
[external]

CorrM commented

for now u can wait next release, i changed who information wrote on the disk.

for now u can wait next release, i changed who information wrote on the disk.

thanks~~~

w I dump NineTrials, there were a lot of things that might be unicodestring object names.
some object name:
髼He緥n�_classes.h
髼He緥n�_functions.cpp
纎IQ__parameters.h
...
some class
struct FPointerToUberGraphFrame UberGraphFrame; // 0x05E8(0x0010) (ZeroConstructor, Transient, DuplicateTransient)
float 鹹≧�惁_; // 0x05F8(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData)
unsigned char UnknownData00[0x4]; // 0x05FC(0x0004) MISSED OFFSET
class UAnimMontage* €b齹檮YGY; // 0x0600(0x0008) (Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData)
struct FName ; // 0x0608(0x0008) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData)
struct FName 裇�\≧\O; // 0x0610(0x0008) (Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData)
struct FName _6e�_≧\O; // 0x0618(0x0008) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData)
float 芉�Y鰁魰; // 0x0620(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData)
unsigned char UnknownData01[0x4]; // 0x0624(0x0004) MISSED OFFSET
class UUserWidget
CrossHair; // 0x0628(0x0008) (Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, InstancedReference, IsPlainOldData)
class UClass* 芉胈{|媁; // 0x0630(0x0008) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData)
struct FName 裇�\≧\O g髞 g瓄; // 0x0638(0x0008) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData)
class UClass* ArrowItemClass; // 0x0640(0x0008) (Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData)
bool PreCanFire; // 0x0648(0x0001) (Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData)
unsigned char UnknownData02[0x7]; // 0x0649(0x0007) MISSED OFFSET
struct FName 裇�\≧\O g髞鄀瓄; // 0x0650(0x0008) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData)
struct FName 裇�\≧\O鄀瓄; // 0x0658(0x0008) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData)
struct FName 02; // 0x0660(0x0008) (Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData)
struct FName 03; // 0x0668(0x0008) (Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData)
struct FName _6e�_≧\O g瓄; // 0x0670(0x0008) (Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData)
struct FName _6e�_≧\O鄀瓄; // 0x0678(0x0008) (Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData)

CorrM commented

i wish this game is free. if free give me link.
i love to try it by my self

CorrM commented

Closed until get more information.