On 10 October 2015 at 09:12, Lex Trotman <ele...@gmail.com> wrote: > On 10 October 2015 at 08:42, Pengfei Sun <shaotian...@gmail.com> wrote: >> Hi Lex, >> >> Thanks for your suggestions. >> >> I work on memory forensics. My part of project is to locate memory of the >> sensitive data. For example, when I use the geany open one sensitive file, >> and the content will be in the memory (heap). I hope I can locate all memory >> related this sensitive file. And later I can do some analysis or protection. >> > > The buffer itself is allocated by Scintilla which means its allocated > by C++ new.
PS and its re-allocated as the size changes with editing actions. > >> Now, I override malloc and can log all malloc functions to get return >> address and size (I think g_malloc is a wrapper of malloc). But I still >> cannot building the mapping between the special file and related heap >> memory. I know each open or created file have different ID >> (GeanyDocument->id). However, I still cannot figure out how to trace the >> related memory of different ID. Assume I have open three files, so there are >> three windows and three different GeanyDocument->id. I write or change some >> things among these three windows. Meanwhile, I log all malloc/realloc/calloc >> functions. I try to figure out which malloc belong to window 1, which belong >> to window2 or window 3? Do you have any further suggestions for my case? >> > > Use only one window :) > >> Thank you very much. >> >> Best Regards, >> Pengfei >> >> On Fri, Oct 9, 2015 at 5:45 PM, Lex Trotman <ele...@gmail.com> wrote: >>> >>> On 10 October 2015 at 05:05, Pengfei Sun <shaotian...@gmail.com> wrote: >>> > Dear All, >>> > >>> > I am always using geany, but now this is the first time I prepare to >>> > look at >>> > geany source code. I have one question about memory allocation. When we >>> > open >>> > one new file, there will be one new window in geany. How could I track >>> > all >>> > memory allocation(g_malloc) related with this window? Or would it be >>> > possible to track all related functions with this window? >>> >>> The only way to track all allocations is to track Glib/GTK operations >>> (some of these functions use Gslice, which does its own allocations >>> from large blocks and may not show on malloc, or will show allocating >>> the large block not all of which is for the one window). >>> >>> Also track g_malloc that Geany uses, though you can force that to >>> always malloc I think. >>> >>> Also track malloc in case some libraries use it. >>> >>> And to track C++ new as used by the editing component (which again >>> need not use malloc). >>> >>> One question is why do you want to do this,what are you trying to >>> achieve? There might be a better way. >>> >>> Geany is mostly event driven (though a few things are timer driven) so >>> if you only perform actions on one window most code run will relate to >>> that window. >>> >>> Cheers >>> Lex >>> >>> > >>> > Thank you very much! >>> > >>> > Best Regards, >>> > Pengfei >>> > >>> > >>> > _______________________________________________ >>> > Devel mailing list >>> > Devel@lists.geany.org >>> > https://lists.geany.org/cgi-bin/mailman/listinfo/devel >>> > >>> _______________________________________________ >>> Devel mailing list >>> Devel@lists.geany.org >>> https://lists.geany.org/cgi-bin/mailman/listinfo/devel >> >> >> >> _______________________________________________ >> Devel mailing list >> Devel@lists.geany.org >> https://lists.geany.org/cgi-bin/mailman/listinfo/devel >> _______________________________________________ Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel