Code Monkey home page Code Monkey logo

reflective-dll-injection's Introduction

What is Reflective DLL Injection?

DLL (Dynamic-link library) are the Microsoft’s implementation of the shared library concept and provide a mechanism for shared code and data, allowing a developer of shared code/data to upgrade functionality without requiring applications to be re-linked or re-compiled.

DLLs may be explicitly loaded at run-time, a process referred to simply as run-time dynamic linking by Microsoft, and its code is usually shared among all the processes that use the same DLL.

This method can also used to perform a DLL injection, that inserts code in the context of another process by causing the other process to load and execute code.

The code is inserted in the form of a DLL, since DLLs are meant to be loaded at run time. Running code in the context of another process provides adversaries many benefits, such as access to the process’s memory and permissions.

reflective-dll-injection's People

Contributors

vineetkia avatar

Stargazers

 avatar Bot Molu avatar LGF avatar Roy Rahamim avatar Ayin avatar Ivan Topor avatar

Watchers

James Cloos avatar

reflective-dll-injection's Issues

Error 87 in WriteProcessMemory - Windows XP 32 bit

Running the injection on Windows 10 64-bit worked without problem, but running it on a Windows XP 32-bit the line:
WriteProcessMemory(process, (PVOID)((loaderdata*)LoaderMemory + 1), LibraryLoader, LoaderCodeSize, NULL);
returned error 87 (ERROR_INVALID_PARAMETER).

The error was solved by changing the LoaderCodeSize parameter of the above mentioned line to:
ntHeaders->OptionalHeader.SizeOfHeapCommit - sizeof(loaderdata)
Now it works as expected on both systems.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.