{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,26]],"date-time":"2025-03-26T16:01:28Z","timestamp":1743004888197,"version":"3.40.3"},"publisher-location":"Cham","reference-count":27,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319186801"},{"type":"electronic","value":"9783319186818"}],"license":[{"start":{"date-parts":[[2015,1,1]],"date-time":"2015-01-01T00:00:00Z","timestamp":1420070400000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2015]]},"DOI":"10.1007\/978-3-319-18681-8_24","type":"book-chapter","created":{"date-parts":[[2015,5,6]],"date-time":"2015-05-06T13:17:19Z","timestamp":1430918239000},"page":"297-313","source":"Crossref","is-referenced-by-count":5,"title":["Uncovering Self Code Modification in Android"],"prefix":"10.1007","author":[{"given":"Faisal","family":"Nasim","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Baber","family":"Aslam","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Waseem","family":"Ahmed","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Talha","family":"Naeem","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"24_CR1","unstructured":"Uses of Self Modifying Code, \n                        http:\/\/stackoverflow.com\/questions\/516688\/what-are-the-uses-of-self-modifying-code"},{"key":"24_CR2","unstructured":"Android Security Analysis Challenge, \n                        https:\/\/bluebox.com\/technical\/android-security-analysis-challenge-tampering-dalvik-bytecode-during-runtime"},{"key":"24_CR3","unstructured":"My Life with Android, \n                        http:\/\/mylifewithandroid.blogspot.com\/2009\/02\/optimized-dex-files.html"},{"key":"24_CR4","unstructured":"Self Modifying code, \n                        http:\/\/tibasicdev.wikidot.com\/selfmodify"},{"key":"24_CR5","unstructured":"Smartphone OS Market Share, Q2 2014, \n                        http:\/\/www.idc.com\/prodserv\/smartphone-os-market-share.jsp"},{"key":"24_CR6","unstructured":"How obfuscation helps protect Java from reverse engineering, \n                        http:\/\/www.techrepublic.com\/blog\/software-engineer\/how-obfuscation-helps-protect-java-from-reverse-engineering\/"},{"key":"24_CR7","unstructured":"Android Bytecode Obfuscation, \n                        http:\/\/www.dexlabs.org\/blog\/bytecode-obfuscation"},{"key":"24_CR8","unstructured":"How obfuscation helps protect Java from reverse engineering, \n                        http:\/\/www.techrepublic.com\/blog\/software-engineer\/how-obfuscation-helps-protect-java-from-reverse-engineering\/"},{"key":"24_CR9","unstructured":"Bytecode for the Dalvik VM, \n                        http:\/\/s.android.com\/tech\/dalvik\/dalvik-bytecode.html"},{"key":"24_CR10","unstructured":"Linear Sweep vs Recursive Disassembling Algorithm, \n                        http:\/\/resources.infosecinstitute.com\/linear-sweep-vs-recursive-disassembling-algorithm\/"},{"key":"24_CR11","unstructured":"What is the algorithm used in Recursive Traversal disassembly? \n                        http:\/\/reverseengineering.stackexchange.com\/questions\/2347\/what-is-the-algorithm-used-in-recursive-traversal-disassembly"},{"key":"24_CR12","unstructured":"What are Suspicious Packers? \n                        http:\/\/www.kaspersky.com\/internet-security-center\/threats\/suspicious-packers"},{"key":"24_CR13","unstructured":"Android packer: facing the challenges, building solutions, \n                        https:\/\/www.virusbtn.com\/conference\/vb2014\/abstracts\/Yu.xml"},{"key":"24_CR14","unstructured":"Memory-Mapped files, \n                        https:\/\/msdn.microsoft.com\/en-us\/library\/dd997372v=vs.110.aspx"},{"key":"24_CR15","unstructured":"Custom Class Loading in Dalvik, \n                        http:\/\/android-developers.blogspot.com\/2011\/07\/custom-class-loading-in-dalvik.html"},{"key":"24_CR16","unstructured":"Patrick, S.: Code Protection in Android. Communication and Communicating Devices (2012)"},{"key":"24_CR17","unstructured":"Joe, S.: LiME - Linux Memory Extractor, Instructions v1.1"},{"key":"24_CR18","unstructured":"Alexandrina, K.: Efficient Code Obfuscation for Android. University of Luxembourg (2013)"},{"key":"24_CR19","unstructured":"Holger, M.: Live Memory Forensics on Android with Volatility. Friedrich Alexander University (2013)"},{"key":"24_CR20","unstructured":"The Volatility Framework, \n                        https:\/\/code.google.com\/p\/volatility\/"},{"key":"24_CR21","unstructured":"Ptrace, \n                        http:\/\/linux.die.net\/man\/2\/ptrace"},{"key":"24_CR22","unstructured":"How to acquire memory from a running Linux system, \n                        https:\/\/gist.github.com\/adulau\/5094750"},{"key":"24_CR23","unstructured":"Sebastian, P., Yanick, F., Antonio, B., Christopher, K., Giovanni, V.: Execute This! Analyzing Unsafe and Malicious Dynamic Code Loading in Android Applications. In: Network and Distributed System Security Symposium (2014)"},{"key":"24_CR24","unstructured":"Thanasis, P., Giannis, V., Elias, A., Michalis, P., Sotiris, I.: Rage Against the Virtual Machine:Hindering Dynamic Analysis of Android Malware. In: European Workshop on Systems Security (2014)"},{"issue":"3-4","key":"24_CR25","first-page":"175","volume":"8","author":"S. Joe","year":"2012","unstructured":"Joe, S., Andrew, C., Lodovico, M., Golden, G.R.: Acquisition and analysis of volatile memory from android devices. Elsevier\u00a08(3-4), 175\u2013184 (2012)","journal-title":"Elsevier"},{"key":"24_CR26","unstructured":"Axelle, A., Ruchna, N.: Obfuscation in Android Malware and how to fight back. Virus Bulletin (2014)"},{"key":"24_CR27","unstructured":"Yury, Z., Maqsood, A., Olga, G., Bruno, C., Fabio, M.: StaDynA: Addressing the Problem of Dynamic Code. In: ACM Conference on Data and Application Security and Privacy (2015)"}],"container-title":["Lecture Notes in Computer Science","Codes, Cryptology, and Information Security"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-18681-8_24","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,2,21]],"date-time":"2023-02-21T01:06:23Z","timestamp":1676941583000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-319-18681-8_24"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015]]},"ISBN":["9783319186801","9783319186818"],"references-count":27,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-18681-8_24","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2015]]}}}