Help! Can't create a string

libModz

Platinian On Fire
I used to create strings in the previous version of the game I'm modding using this method...



private unsafe string CreateString(sbyte* value)
{
return null;
}




But in the latest update they seem to have removed it so now all the createstring methods have multiple parameters. Like

CreateString(char* value)
CreateString(sbyte* value, int startIndex, int length)
 
Last edited:
hello please let me know how u solved this! I have the same problem


Use this...
CreateString(sbyte* value, int startIndex, int length)

You just need to edit your monoString struct to include the extra parameters like this...
C++:
monoString;
    monoString *CreateString6(const char *str) {
    monoString *(*CreateString6)(void *_this, const char *str, int start, int length) = (monoString *(*)(void *, const char *, int, int))getAbsoluteAddress("libil2cpp.so", 0xFF05DC);
    return CreateString6(NULL, str, 0, 6);
  
}

startIndex = 0
Length = How many characters in the string you want to create, I used 6 as an example
 
I am using this method instead...

CreateString(sbyte* value, int startIndex, int length)

You just need to edit your monoString struct to include the extra parameters.
monoString* CreateMonoString(const char* str) {
monoString* (*String_CreateString)(const char* str, int* startIndex, int* length) = (monoString * (*)(const char*, int*, int*))(g_il2cppBaseMap.startAddress + string2Offset(OBFUSCATE("0xDDB6210")));
return String_CreateString(str, 0, (int*)strlen(str));
}This is my current code and when i'm hooking I use CreateMonoString("Example String")
 
monoString* CreateMonoString(const char* str) {
monoString* (*String_CreateString)(const char* str, int* startIndex, int* length) = (monoString * (*)(const char*, int*, int*))(g_il2cppBaseMap.startAddress + string2Offset(OBFUSCATE("0xDDB6210")));
return String_CreateString(str, 0, (int*)strlen(str));
}This is my current code and when i'm hooking I use CreateMonoString("Example String")
Remove the * after int
 
[Hidden content]

Remove the * after int

monoString* CreateMonoString(const char* str) {
monoString* (*String_Create)(const char* str, int startIndex, int length) = (monoString * (*)(const char*, int, int))(g_il2cppBaseMap.startAddress + string2Offset(OBFUSCATE("0xDDB6210")));
int startIndex = 0;
int length = (int)strlen(str);
return String_Create(str, startIndex, length);
}

is that better?
 
monoString* CreateMonoString(const char* str) {
monoString* (*String_Create)(const char* str, int startIndex, int length) = (monoString * (*)(const char*, int, int))(g_il2cppBaseMap.startAddress + string2Offset(OBFUSCATE("0xDDB6210")));
int startIndex = 0;
int length = (int)strlen(str);
return String_Create(str, startIndex, length);
}

is that better?
Yes try that
 
monoString* CreateIl2cppString(const char* str) {
monoString* (*String_CreateString)(const char* str, int startIndex, int length) = (monoString * (*)(const char*, int, int)) (g_il2cppBaseMap.startAddress + string2Offset(OBFUSCATE("0xDDB6210")));
int startIndex = 0;
int length = (int)strlen(str);
return String_CreateString(str, startIndex, length);
}
 
Try it like this, copy exactly...

C++:
monoString;
    monoString *CreateString(const char *str) {
    monoString *(*CreateString)(void *_this, const char *str, int start, int length) = (monoString *(*)(void *, const char *, int, int))getAbsoluteAddress("libil2cpp.so", 0xDDB6210);
    int length = (int)strlen(str);
    return CreateString(NULL, str, 0, length);
  
}
 
monoString;
monoString *CreateString(const char *str) {
monoString *(*CreateString)(void *_this, const char *str, int start, int length) = (monoString *(*)(void *, const char *, int, int))(g_il2cppBaseMap.startAddress + string2Offset(OBFUSCATE("0xDDB6210")));
int length = (int)strlen(str);
return CreateString(NULL, str, 0, length);

}

yeah I had to change it to this cause I use zygisk imgui mod
 
monoString;
monoString *CreateString(const char *str) {
monoString *(*CreateString)(void *_this, const char *str, int start, int length) = (monoString *(*)(void *, const char *, int, int))(g_il2cppBaseMap.startAddress + string2Offset(OBFUSCATE("0xDDB6210")));
int length = (int)strlen(str);
return CreateString(NULL, str, 0, length);

}

yeah I had to change it to this cause I use zygisk imgui mod
Your code looks ok idk why it doesn't work
 
Back
Top Bottom