{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,6]],"date-time":"2026-10-06T22:33:23Z","timestamp":1791326003052,"version":"4.3.1"},"reference-count":37,"publisher":"IEEE","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2013,10]]},"DOI":"10.1109\/wcre.2013.6671277","type":"proceedings-article","created":{"date-parts":[[2013,12,3]],"date-time":"2013-12-03T17:00:42Z","timestamp":1386090042000},"page":"22-31","source":"Crossref","is-referenced-by-count":17,"title":["Who allocated my memory? Detecting custom memory allocators in C binaries"],"prefix":"10.1109","author":[{"given":"Xi","family":"Chen","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Asia","family":"Slowinska","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Herbert","family":"Bos","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"263","reference":[{"key":"19","year":"0","journal-title":"The Apache Software Foundation"},{"key":"35","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134000"},{"key":"17","doi-asserted-by":"publisher","DOI":"10.1145\/363534.363546"},{"key":"36","doi-asserted-by":"publisher","DOI":"10.1145\/1543135.1542521"},{"key":"18","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380200104"},{"key":"33","doi-asserted-by":"publisher","DOI":"10.1145\/2349896.2349911"},{"key":"15","year":"0","journal-title":"The FreeBSD Project FreeBSD Kernel Developers Manual ZONE(9)"},{"key":"34","doi-asserted-by":"publisher","DOI":"10.1145\/2258996.2259001"},{"key":"16","author":"jones","year":"2007","journal-title":"Anatomy of the Linux Slab Allocator"},{"key":"13","author":"wilson","year":"1995","journal-title":"Dynamic Storage Allocation A Survey and Critical Review"},{"key":"14","doi-asserted-by":"publisher","DOI":"10.1145\/582420.582421"},{"key":"37","article-title":"Cling: A memory allocator to mitigate dangling pointers","author":"akritidis","year":"2010","journal-title":"Proc of the 19th USENIX Conference on Security ser"},{"key":"11","article-title":"Body Armor for Binaries: Preventing buffer overflows without recompilation","author":"slowinska","year":"2012","journal-title":"Proc USENIX Annual Technical Conference"},{"key":"12","year":"2011","journal-title":"Intel Pin-A Dynamic Binary Instrumentation"},{"key":"21","year":"0","journal-title":"Nginx Documentation"},{"key":"20","year":"0","journal-title":"The PostgreSQL GloBal Development Group"},{"key":"22","year":"0","journal-title":"The GNU C Library Obstack"},{"key":"23","author":"lea","year":"0","journal-title":"A memory allocator"},{"key":"24","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950396"},{"key":"25","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462165"},{"key":"26","doi-asserted-by":"publisher","DOI":"10.1145\/2151024.2151042"},{"key":"27","doi-asserted-by":"publisher","DOI":"10.1145\/1217935.1217938"},{"key":"28","year":"0","journal-title":"Lockless Lockless Performance"},{"key":"29","doi-asserted-by":"publisher","DOI":"10.1145\/1749608.1749612"},{"key":"3","article-title":"Automatic reverse engineering of data structures from binary execution","author":"lin","year":"2010","journal-title":"Proc of the 17th Annual Network and Distributed System Security Symposium"},{"key":"2","article-title":"Howard: A dynamic excavator for reverse engineering data structures","author":"slowinska","year":"2011","journal-title":"Proc of the 18th Annual Network & Distributed System Security Symposium"},{"key":"10","doi-asserted-by":"publisher","DOI":"10.1145\/2338965.2336769"},{"key":"1","doi-asserted-by":"crossref","DOI":"10.1145\/1669112.1669122","article-title":"DDT: Design and evaluation of a dynamic program analysis for optimizing data structure usage","author":"jung","year":"2009","journal-title":"Proc of the 42nd Annual IEEE\/ACM International Symposium on Microarchitecture"},{"key":"30","year":"0","journal-title":"Samba Talloc Documentation"},{"key":"7","author":"perence","year":"0","journal-title":"Electric Fence"},{"key":"6","year":"0","journal-title":"Valgrind"},{"key":"32","doi-asserted-by":"publisher","DOI":"10.1145\/1542431.1542447"},{"key":"5","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-78791-4_2"},{"key":"31","doi-asserted-by":"publisher","DOI":"10.1145\/1133956.1133968"},{"key":"4","article-title":"Analyzing memory accesses in x86 binary executables","author":"balakrishnan","year":"2004","journal-title":"Proc Conf on Compiler Construction"},{"key":"9","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2006.31"},{"key":"8","article-title":"Purify: Fast detection of memory leaks and access errors","author":"hastings","year":"1992","journal-title":"Proc USENIX Winter 1992 Conference"}],"event":{"name":"2013 20th Working Conference on Reverse Engineering (WCRE)","location":"Koblenz, Germany","start":{"date-parts":[[2013,10,14]]},"end":{"date-parts":[[2013,10,17]]}},"container-title":["2013 20th Working Conference on Reverse Engineering (WCRE)"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/6656028\/6671267\/06671277.pdf?arnumber=6671277","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2017,6,21]],"date-time":"2017-06-21T23:35:29Z","timestamp":1498088129000},"score":1,"resource":{"primary":{"URL":"http:\/\/ieeexplore.ieee.org\/document\/6671277\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,10]]},"references-count":37,"URL":"https:\/\/doi.org\/10.1109\/wcre.2013.6671277","relation":{},"subject":[],"published":{"date-parts":[[2013,10]]}}}