Giter VIP home page Giter VIP logo

Comments (6)

 avatar commented on August 28, 2024

Line 249 is what you're looking for, just check there for the string of the function name you want to override and give it the address of the function it should call.

from memorymodule.

luislavena avatar luislavena commented on August 28, 2024

@icefex thanks for the response, however I was thinking on a more modular way than overwrite the code of MemoryModule

MemoryModule is provided under MPL license, so I want to avoid modifications to it to the minimum and instead have a hooks friendly API to be able, from another module, hook library loading.

from memorymodule.

 avatar commented on August 28, 2024

You have to extend MemoryModule in some way, the license is not the issue here. Like you said just keep it minimal and share the changes :D

You could f.i. implement the whole shebang as a function call to another module, just share the patch with that line in it and you're good to go. (Tip: if you are going to hook more than a few calls implement a global linked list in which you register the hooked calls, this allows for changes in the hooks at runtime and will look better).

from memorymodule.

fancycode avatar fancycode commented on August 28, 2024

Having an API to override the LoadLibrary/GetProcAddress called by MemoryModule probably would be the cleanest solution. I'm open for patches or pull requests ;-)

from memorymodule.

JesseKlugmann avatar JesseKlugmann commented on August 28, 2024

You'll experience some problems with TLS/FLS data, if you load a complete executable with MemoryLoadLibrary. TLS has it's own directory. You've to implement to following steps:

  • Loading all dependencies and resolve the import tables
  • Initialize TLS of all dependencies( Call TLS Callbacks, allocate indices )
  • Iterate through the dependencies and call every DLLMain
  • Initialize TLS of the executable/library to execute
  • Call the entry point

from memorymodule.

fancycode avatar fancycode commented on August 28, 2024

Please check the latest code, is this what you were looking for?

from memorymodule.

Related Issues (20)

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.