Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Focus of the Project

This project introduces the concept of encryption and decryption techniques used to protect code and preserve intellectual property. Specifically, it explores a method known as obfuscation.


Obfuscation

Obfuscation is a specialized process that transforms a readable program into a functionally equivalent but harder-to-understand version. The goal is to make the program less accessible and more challenging to analyze.


Problem Addressed

The challenge lies in reversing the obfuscation process to restore the code to its original, readable form. This reversal process is known as deobfuscation.


Solution: Deobfuscation

Deobfuscation refers to simplifying or removing obfuscation code to produce a program that is functionally equivalent to the obfuscated one but is easier to understand, based on a chosen complexity metric.


Project Files

  • obfusticated_js_file.js: An obfuscated JavaScript file obtained from a GitHub repository.
  • deobfusticated_js_file.js: The final deobfuscated version of the code.

Methods Used to Deobfuscate the Code

  1. Language-Specific Understanding: While having knowledge of JavaScript helps, it wasn't a strict requirement for tackling this task.
  2. Hexadecimal Conversion: Variables and function names encoded in hexadecimal notation were translated into readable ASCII strings.
  3. Text Editor Functionality: Used the 'search and replace' feature in GEdit to streamline the renaming process.
  4. Debugging with Console: Leveraged JavaScript's console.log function to gain insights into variable values, aiding in renaming functions and variables.

Operating System & Software

  • Operating System: Debian GNU/Linux 12
  • Tools Used:
    • GEdit 44.2
    • Node.js
    • Terminus Console
  • Web Browsers: Firefox / Google Chrome
  • Browser Extensions: Violentmonkey, Tampermonkey

Testing the Code

Obfuscated Code:

  • Works by adding it as a snippet in the Sources tab under Chrome DevTools.
  • Requires refreshing the page after entering the specified URL.

Deobfuscated Code:

  • Works when added as a script in Violentmonkey or Tampermonkey.
  • Requires an appropriate script header for execution.

Screenshots

Obfuscated Code Example

Obfuscated Code Example

Deobfuscated Code Example

Deobfuscated Code Example

By: Youness Eddamej

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages