Krishan Kumar et al, International Journal of Computer Science and Mobile Computing, Vol.4 Issue.5, May- 2015, pg. 534-544 © 2015, IJCSMC All Rights Reserved 534 Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology ISSN 2320088X IJCSMC, Vol. 4, Issue. 5, May 2015, pg.534 544 RESEARCH ARTICLE A Generalized Process of Reverse Engineering in Software Protection & Security Krishan Kumar 1 Prabhpreet Kaur 2 Department of Comp. Sci&Engg. Department of Comp. Sci&Engg. GNDU, Amritsar, Punjab, INDIA GNDU, Amritsar, Punjab, INDIA Er.krishankumar4014@gmail.com Prabhsince1985@yahoo.co.in Abstract- Reverse engineering plays major role in current software development and in Research & Development activities whether to develop new product and upgrading it to new version. Two of the major area of the Reverse engineering in current scenario are Software Security and malware analysis where it can be used by people for evil purposes to break the software security, protection schemas, and spread the vulnerabilities. On the Other Side it is used by Security Researches to Understand the Vulnerabilities in protection schemas, key holes in security, so that they can design protection schemas which are difficult to break as well as understand by crackers/Attackers. Keywords: Reverse Engineering, Software Security, Software Protection, Protection Schemas. I. Introduction In Present scenario there are many software protection application are available in the market which don't allow to use all features if the user are not registered to these application. There are two important concepts in security are Confidentiality and data authenticity. Confidentiality is used to provide data secrecy of the message and data authenticity protects the integrity of the message which is being transferred. Software Protection mainly falls between the domains of security, cryptography and engineering among other disciplines[1]. The Software Protection techniques mainly concern in protecting the software from various attacks such as reverse engineering by using the