36 lines
868 B
C++
36 lines
868 B
C++
#include <iostream>
|
|
|
|
/*
|
|
<o>.spslr.targets:
|
|
target <uid> <size> <field count>
|
|
f <offset> <size> <flags>
|
|
f <offset> <size> <flags>
|
|
rf <offset> <target uid> // a member that is also randomized (dictates data patch order)
|
|
...
|
|
|
|
<o>.spslr.ipins:
|
|
(prefix __spslr_pin)
|
|
0 <target uid> <field offset>
|
|
1 <target uid> <field offset>
|
|
2 <target uid> <field offset>
|
|
...
|
|
|
|
<o>.spslr.dpins:
|
|
myVar1 2 <strip true/false>
|
|
<offset> <target uid>
|
|
<offset> <target uid>
|
|
myVar2 1 <strip true/false>
|
|
<offset> <target uid>
|
|
...
|
|
|
|
Datapins indicate only the top-level relevant object
|
|
Could still have 2 relevant members in an irrelevant object
|
|
Relevant members of relevant objects are randomized before (rf in target)
|
|
Datapin strip flag is set if it would not have been preserved in symtab without pinpoint plugin
|
|
|
|
*/
|
|
|
|
int main(int argc, char** argv) {
|
|
std::cout << "Hello World!" << std::endl;
|
|
}
|