Group 55: Java Obfuscation

This is an archive site. Current senoir design projects are at https://projects.eng.uci.edu.

Topic:

Idea source:

Team Name

PepeObfuscation

 

Team Members

Zeyang Liu

Roles: Project Manager (Team Captain), Senior Hardware Engineer, Safety Manager,  Software Developer, Fundraiser

Likely Technical Contributions: He will be one of the software engineer for the project. Using Java/JC to obfuscate algorithms/codes will be his main goal.

Skills/Experience: Can write programs in C, MIPs, and knows basics of Java and python. Have good understanding of circuits and electronic components, familiar with circuit design tools like PSpice and Cadence. Have the ability to correctly transfer designed circuits into a real product and debug the connected circuit.

Major: CpE & EE

Alex Almanza

Major: CpE

Skills/Experience: Proficient in Bash, C, Java, and Python. Has used multithreading within C/C++, Java, and Python to parallelize and improve serial programs. Has also used NVIDIA’s CUDA API within C/C++ to utilize a GPU to parallelize and improve serial programs. Has worked within and feels comfortable with several different Linux/GNU distributions.

Likely Technical Contributions: He will handle the backend aspects of the project, dealing with the setup and deployment of our application’s server.

Roles: System Administrator, Software Developer

Shuai Zheng

Major: CpE

Skills/Experience: Proficient in python, Java, swift, and C. Has the ability to make IOS applications, Unity games, and develop new software from start to finish. Shuai Zheng also has one-year research experience with Professor Hamid Jafarkhani and Professor Homayoun Yousefi'zadeh.

Likely Technical Contributions: He will be lead software engineer of the project. He will use JS/HTML/CSS to create front-end GUI and works on combining open source obfuscation code together in the jsp file.

Roles:  Senior Software Engineer, Lead Software Developer, Fundraiser, System Administrator

 

Team Mentor

Mentor: Homayoun Yousefi’zadeh

Major: EECS

Why we chose our mentor: Professor Homayoun Yousefi’zadeh taught Shuai in the course EECS 199. With his recommendation, we know he is an excellent professor whose research is focused on software Optimal Node Placement Algorithm. Our team is interested in software algorithm. Thus, we think Professor Homayoun Yousefi’zadeh is a perfect match for us, because he will give me suggestions in software reverse engineering protection.

Other mentor attempts: We went to Professor Mohammad Al Faruque office and talked to Professor Mohammad Al Faruque whose research is based on embedded system which was what we originally interested in. However, the required amount of funds we need to purchase the basics materials for the project has become a huge problem for us, thus we decided to choose Professor Homayoun Yousefi’zadeh as our mentor instead since Professor Yousefi’zadeh provided a pure-software oriented project..

 

Project Idea

Main Project idea: The main project of our project is to prevent the reverse engineering of Java code, via an obfuscation of the Java code while it is hosted on a server.

Idea Origin:

This idea comes from Professor Homayoun Yousefi’zadeh

Why this project?:

Hacking is now one of the major problems - we all live in the Information era, and as we can see that more and more high tech companies that make a lot of profits are IT companies. Thus it’s crucial to protect what means the most for those companies and groups which are the algorithm written by software developers. Thus we think we can start from obfuscating Java code and at the same time practice front-end and back-end design.

Our Expertise: We have sufficient expertise in this project because there are CpE and EE major members in our team, who has sufficient expertise in software and hardware. In this project, we are going to learn how to work together, how to write efficient algorithm not only for Java obfuscation but also for front end webpage sign, backend database and so on. So far, we haven’t yet learned some of the knowledges that are needed for this project, but we are fast learners and since we already have a clear idea about this project, learning won’t become a frustration.

Multidisciplinary: Even this project is pure software, it requires us to do front end which will be a user friendly webpage, algorithm which is going to be obfuscation written in java, and also backend which is the database. Every single one requires different programming language and require us as a team to understand the entire project from totally different aspects.

Poster: https://drive.google.com/a/uci.edu/file/d/0BzzooNpHpm4-OVdCOUxMYU52UHM/v...