{"title":"Java程序的类间混淆方法","authors":"Xuesong Zhang, Fengling He, Wanli Zuo","doi":"10.1109/ISA.2008.49","DOIUrl":null,"url":null,"abstract":"Software is a valuable form of data, representing significant intellectual property, and reverse engineering of software code by competitors may reveal important technological secrets. This problem becomes more serious when facing with the platform independent language - Java byte code. We introduce an inter-classes software obfuscation technique which extracts the codes of some methods in user-defined classes and embeds them into some other object's methods in the object pool. Since all objects in the object pool are upcast to their common base type, which object's method will really execute can only be ascertained at runtime. Thus, drastically obscured the program flow. Combined with some enhanced mechanisms, this technique can even resist to dynamic analysis to a certain extent. Experimental result shows that there is little influence to the execution efficiency.","PeriodicalId":212375,"journal":{"name":"2008 International Conference on Information Security and Assurance (isa 2008)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2008-04-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":"{\"title\":\"An Inter-Classes Obfuscation Method for Java Program\",\"authors\":\"Xuesong Zhang, Fengling He, Wanli Zuo\",\"doi\":\"10.1109/ISA.2008.49\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Software is a valuable form of data, representing significant intellectual property, and reverse engineering of software code by competitors may reveal important technological secrets. This problem becomes more serious when facing with the platform independent language - Java byte code. We introduce an inter-classes software obfuscation technique which extracts the codes of some methods in user-defined classes and embeds them into some other object's methods in the object pool. Since all objects in the object pool are upcast to their common base type, which object's method will really execute can only be ascertained at runtime. Thus, drastically obscured the program flow. Combined with some enhanced mechanisms, this technique can even resist to dynamic analysis to a certain extent. Experimental result shows that there is little influence to the execution efficiency.\",\"PeriodicalId\":212375,\"journal\":{\"name\":\"2008 International Conference on Information Security and Assurance (isa 2008)\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2008-04-24\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"5\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2008 International Conference on Information Security and Assurance (isa 2008)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ISA.2008.49\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2008 International Conference on Information Security and Assurance (isa 2008)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISA.2008.49","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
An Inter-Classes Obfuscation Method for Java Program
Software is a valuable form of data, representing significant intellectual property, and reverse engineering of software code by competitors may reveal important technological secrets. This problem becomes more serious when facing with the platform independent language - Java byte code. We introduce an inter-classes software obfuscation technique which extracts the codes of some methods in user-defined classes and embeds them into some other object's methods in the object pool. Since all objects in the object pool are upcast to their common base type, which object's method will really execute can only be ascertained at runtime. Thus, drastically obscured the program flow. Combined with some enhanced mechanisms, this technique can even resist to dynamic analysis to a certain extent. Experimental result shows that there is little influence to the execution efficiency.