Knowledge of how to give cattle injections or shots, be it sub-subcutaneously (SQ; under the skin), intramuscularly (IM; directly into the blood supply of the muscle), or intravenously (IV; directly into the vein, usually the jugular vein), is very important in order to be able to vaccinate or treat cattle with vaccines or medicines, respectively. A cow, bull, heifer, steer or calf does not have to be sick in order to be given an injection, many cattle that are perfect healthy are required to get injections or shots for annual vaccinations or booster shots.
Reflective DLL injection works by copying the entire DLL into memory, so it avoids registering the DLL with the process. All the heavy lifting is already done for us. To obtain the entry point to our DLL when it’s loaded in memory we only have to use Stephen Fewer’s code. The ‘LoadRemoteLibraryR()’ function included within his project does it for us. We use the ‘GetReflectiveLoaderOffset()’ to determine the offset in our processes memory, then we use that offset plus the base address of the memory in the target/remote process (where we wrote the DLL) as the execution starting point.