[fpc-devel] How to get function start and end position in executable?
Hello all, I want to implement kind of executable protection using "software guards" (*) - when function (caller) decrypts another function (callee) before calling it and encrypts it again after callee returns. As a result I need to get addresses of my functions (where the asm code starts and ends in the executable). Is there some way to export such info to external file while fpc compiles executable (or maybe afterwards to get this info from executable)? Any suggenstions would be appreciated! (*) J. Cappaert, N. Kisserli, D. Schellekens, B. Preneel. "Self-encrypting Code to Protect Against Analysis and Tampering", 2006 (https://www.cosic.esat.kuleuven.be/publications/article-811.pdf) Regards Žilvinas Ledas ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] How to get function start and end position in executable?
On 16 Jul 2010, at 12:56, Žilvinas Ledas wrote: > I want to implement kind of executable protection using "software guards" (*) > - when function (caller) decrypts another function (callee) before calling it > and encrypts it again after callee returns. > As a result I need to get addresses of my functions (where the asm code > starts and ends in the executable). Is there some way to export such info to > external file while fpc compiles executable (or maybe afterwards to get this > info from executable)? After compiling you can run "nm -S progname" to get the symbol addresses in the first column and (where available) the symbol size in the second column. Jonas ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] How to get function start and end position in executable?
Thanks, I'll try it! Regards Žilvinas On 2010-07-18 13:49, Jonas Maebe wrote: On 16 Jul 2010, at 12:56, Žilvinas Ledas wrote: I want to implement kind of executable protection using "software guards" (*) - when function (caller) decrypts another function (callee) before calling it and encrypts it again after callee returns. As a result I need to get addresses of my functions (where the asm code starts and ends in the executable). Is there some way to export such info to external file while fpc compiles executable (or maybe afterwards to get this info from executable)? After compiling you can run "nm -S progname" to get the symbol addresses in the first column and (where available) the symbol size in the second column. Jonas ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel