MCPcopy Create free account
hub / github.com/connorjaydunn/BinaryShield / redirectFunctionToVmTramp

Method redirectFunctionToVmTramp

src/pe.cpp:253–260  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

251}
252
253void PE::redirectFunctionToVmTramp(Function function, DWORD vmTrampRva)
254{
255 std::vector<BYTE> relToVmTrapBytes = convertToByteVector<DWORD>(vmTrampRva - (function.getStartRva() + 5));
256
257 // replace first bytes of instruction with a redirection to the vm trampoline jump
258 bytes[rvaToFileOffset(function.getStartRva())] = 0xE9;
259 std::copy(relToVmTrapBytes.begin(), relToVmTrapBytes.end(), bytes.begin() + rvaToFileOffset(function.getStartRva() + 1));
260}
261
262void PE::removeOriginalFunctionBytes(Function function)
263{

Callers

nothing calls this directly

Calls 2

rvaToFileOffsetFunction · 0.85
getStartRvaMethod · 0.80

Tested by

no test coverage detected