Boost logo

Boost Users :

Subject: Re: [Boost-users] boost::lambda::bind temporary function objects.. and raw C
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2009-07-31 11:20:50


AMDG

Tomasz Mloduchowski wrote:
> Hello everyone!
>
> I have a rather challenging question, that perhaps can be resolved
> without too much dark magic.
>
> A little background: I'm patching an executable (x86 platform, but
> could be easily extended to other architectures).
>
> players:
> void TargetFunc(some parameters);
> void Hook(some parameters);
>
> method:
> Grab first 5 bytes of TargetFunc. Back them up. Replace them with a
> jmp Hook.
>
> Make Hook finish as follows:
> Restore the backup of 5 bytes.
> Call TargetFunc again, this time the real one, not the jmp.
> Replace the 5 bytes with jmp Hook, getting ready for the next
> invocation.
>
> In a nutshell - typical trampoline.
>
> Now, I want to write a framework for this. I would prefer to be able
> to have some code reuse. Can either mem_fn or bind be helpful here?

No.

> I'm trying to understand how they work. I feel like they are creating
> extra 'functions' with some game about parameters. Ideas?

In Christ,
Steven Watanabe


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net