{"repo":"notemrovsky/tiktok-reverse-engineering","free":true,"listed":false,"github":"https://github.com/notemrovsky/tiktok-reverse-engineering","clone":"git clone https://github.com/notemrovsky/tiktok-reverse-engineering.git","description":"Reverse engineering TikTok's JavaScript VM - 77 opcodes mapped, string deobfuscation, bytecode disassembly, and crypto function identification. Educational VM analysis toolkit.","language":"JavaScript","stars":157,"topics":["anti-bot","bytecode","deobfuscation","devirtualization","disassembly","educational","javascript","opcodes","protection-bypass","research-tool"],"license":null,"category":"security-tools","readme_excerpt":"TikTok Stack-Based Virtual Machine Reverse Engineering Reverse engineering analysis of TikTok's client-side stack-based virtual machine implementation, including string deobfuscation, bytecode parsing, and instruction disassembly. Overview This repo contains tools and analysis for reverse engineering TikTok's JavaScript virtual machine used for client-side protection and code obfuscation. The VM implements a stack-based architecture with 77 different opcodes and uses custom bytecode interpretation. Note: This entire analysis was completed in 5-6 hours, so there may be some mistakes or areas for improvement. Feel free to contribute and fix any issues. I'm not planning to continue working on this project because after making the devirtualizer my interest is totally gone (most of the time when I work on VMs). I wanted to help people who are struggling with VM reverse engineering, so I'm sharing all my work here. Important : If TikTok is not happy about this repository, please contact me first instead of sending a DMCA takedown: (All work done in this repository was for my own learning purposes and I have not coded any complete signer.) - Discord: notemrovsky - Discord server: https://discord.gg/jsreversing - Email: eemrovsky@proton.me Table of Contents - String Deobfuscation - Bytecode Analysis - Control Flow Handling - Virtual Machine Architecture - Finding Encryption Functions - Usage - Contributing String Deobfuscation First thing I had to deal with was the heavily obfuscated","default_branch":null,"files":null,"tree":[],"storefront":"/r/notemrovsky","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/notemrovsky/tiktok-reverse-engineering/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}