[fpc-pascal] Re: Get all caller adresses of a given function/procedure before executing
Lukasz Sokol
el.es.cr at gmail.com
Wed Aug 15 16:45:03 CEST 2012
On 15/08/2012 15:17, Rainer Stratmann wrote:
>
> Then the
> mov pcharconst , EAX
> command also had changed.
> At every start of the program I see if it works here.
> If it works here ist works outside also.
>
>> For example if you add/remove units and rebuild.
>
> All pchar adresses are searched at programstart.
>
>> For example if FPC internals decide to add or remove some padding in front
>> of the constants.
>
> Very unlikely.
> For which reason should there be padding in front?
For the reason that they always say not to rely on 'internal workings of the FPC' :)
> I can not see any insolvable problem here.
>
Yeah. But it is labour intensive.
>> Will all your translation work go to waste ?
>
> Then I would have a look at the opcodes directly and see what has been changed
> and likely find a solution.
>
See above.
> If the maintainers decide to build in the suggested function above then
> everthing is solved. By now no one of the maintainers wants this.
>
I can understand why, more or less - this could be a security flaw if you can find
the final procedure call address like that [and then inject/patch it from outside,
while the program is running - see what I mean?]
Sort of the reason why Linux doesn't export System.map any more...
And the sort of reason why (dx)gettext scans the _source_ not the binary.
> I also can ask what happens if there are no more maintainers for fpc?
Then you can fork it and maintain for you and for others for eternal glory :J
Lukasz
More information about the fpc-pascal
mailing list