Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- __int64 __fastcall _payload_base(_QWORD *arrayPointer, unsigned int *lengthPointer, __int64 string1, __int64 string2)
- {
- __int64 functionResult; // rax
- _QWORD *str1Ptr; // rbx
- __int64 strdupStr2; // rax
- __int64 strlenStr2; // rax
- int v10; // [rsp+2Ch] [rbp-14h]
- int v11; // [rsp+2Ch] [rbp-14h]
- functionResult = *lengthPointer;
- if ( (int)functionResult >= 0 )
- {
- v10 = *lengthPointer;
- *arrayPointer = realloc(*arrayPointer, 16LL * (int)(*lengthPointer + 2));
- if ( *arrayPointer )
- {
- str1Ptr = (_QWORD *)(*arrayPointer + 16LL * v10);
- *str1Ptr = strdup(string1);
- *(_QWORD *)(*arrayPointer + 16LL * v10 + 8) = strlen(string1) + 1;
- v11 = v10 + 1;
- if ( string2 )
- strdupStr2 = strdup(string2);
- else
- strdupStr2 = 0LL;
- *(_QWORD *)(*arrayPointer + 16LL * v11) = strdupStr2;
- if ( string2 )
- strlenStr2 = strlen(string2) + 1;
- else
- strlenStr2 = 0LL;
- *(_QWORD *)(*arrayPointer + 16LL * v11 + 8) = strlenStr2;
- functionResult = (__int64)lengthPointer;
- *lengthPointer = v11 + 1;
- }
- else
- {
- *lengthPointer = -1;
- return perror("realloc");
- }
- }
- return functionResult;
- }
- int __cdecl main(int argc, const char **argv, const char **envp)
- {
- unsigned int v4; // [rsp+4h] [rbp-Ch] BYREF
- __int64 v5; // [rsp+8h] [rbp-8h] BYREF
- v5 = 0LL;
- v4 = 0;
- _payload_base(&v5, &v4, (__int64)"fstype", (__int64)"exfatfs");
- _payload_base(&v5, &v4, (__int64)"fspath", (__int64)"/system");
- _payload_base(&v5, &v4, (__int64)"from", (__int64)"/dev/ssd0.system");
- _payload_base(&v5, &v4, (__int64)"large", (__int64)"yes");
- _payload_base(&v5, &v4, (__int64)"timezone", (__int64)"static");
- _payload_base(&v5, &v4, (__int64)"async", 0LL);
- _payload_base(&v5, &v4, (__int64)"ignoreacl", 0LL);
- if ( !(unsigned int)nmount(v5, v4, 0x10000LL) )
- return 0;
- perror("nmount");
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement