selfpatch-slr/finalize/finalize.cpp

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;
}