Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Hooking problem

Hooking problem

Scheduled Pinned Locked Moved C / C++ / MFC
designhostinghelpquestionlounge
1 Posts 1 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Offline
    R Offline
    rrrado
    wrote on last edited by
    #1

    I need to hook the user32.dll function for my process only. My application is running multiple worker threads which are hosting 3rd party STA component which is calling hooked function where I need to override it's default implementation. I've tried to do this: - created my function using exactly same parameters and definition as original function - save originl function's address - created critical section cs - saved first 5 bytes of original code and replaced by jmp _my_function (5 bytes code) my finction:

    LONG retVal;
    EnterCriticalSection(&cs);
    // restore original code at original function
    retVal = CallOriginal();
    // restore jmp inftruction
    LeaveCriticalSection(&cs);
    return retVal;

    The problem is that when I'm running more than one workng threads, it will crash after some random time. Do you have idea what could be wrong? Is there some problem with this design? Thank you! PS. EnterCriticalSection() seems to be working, because when I remove LeaveCriticalSection(), there is a deadlock.


    rrrado

    1 Reply Last reply
    0
    Reply
    • Reply as topic
    Log in to reply
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes


    • Login

    • Don't have an account? Register

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • World
    • Users
    • Groups