%0 Journal Article %T Twinner: A framework for automated software deobfuscation %J Scientia Iranica %I Sharif University of Technology %Z 1026-3098 %A Momeni, B. %A Kharrazi, M. %D 2019 %\ 12/01/2019 %V 26 %N Special Issue on machine learning, data analytics, and advanced optimization techniques... %P 3485-3509 %! Twinner: A framework for automated software deobfuscation %K Virtualization Obfuscation %K Malware Analysis %K Automated Deobfuscation %K Twincode Generation %R 10.24200/sci.2019.21601 %X Malware analysis is essential to understanding the internal logic and intent of malware programs in order to mitigate their threats. As the analysis methods have evolved, malware authors have adopted more techniques such as the virtualization obfuscation to protect the malware inner workings. This manuscript presents a framework for deobfuscating software which abstracts the input program as much as a mathematical model of its behavior, through monitoring every single operation performed during the malware execution. Alsothe program is guided to run through its di erent execution paths automatically in order to gather as much knowledge as possible in the shortest time span. This makes it possible to nd hidden logics and deobfuscate di erent obfuscation techniques without being dependent on their speci c details. The resulting model is then recoded as a C program without the arti cially added complexities. This code is called a twincode and behaves in the same manner as the obfuscated binary. As a proof of concept, the proposed framework is implemented and its e ectiveness is evaluated on obfuscated binaries. Program controlĀ  flow graphs areinspected as a measure of successful code recovery. The performance of the proposed framework is evaluated using the set of SPEC test programs. %U https://scientiairanica.sharif.edu/article_21601_134cc81e656baa348a8043337c3ae92d.pdf