[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81206":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":14,"forks30d":14,"starsTrendScore":17,"compositeScore":18,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":9,"pushedAt":9,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":14,"starSnapshotCount":14,"syncStatus":16,"lastSyncTime":26,"discoverSource":27},81206,"Akamai-VM","alana72212\u002FAkamai-VM","alana72212","A decompiler for Akamai's stack-based virtual machine",null,"JavaScript",28,8,25,0,1,2,3,2.86,false,"main",true,[],"2026-06-12 02:04:12","# Akamai-VM\nA decompiler for Akamai's stack-based virtual machine\n\nAkamai is an antibot used on a number of websites, the sample I got this from was `hilton.com`.\n\n# How Does This VM Work?\n\nAkamai's VM works by operating with stack-based memory- pushing\u002Fpopping values \n\nThis VM was quite a simple architecture, nothing too fancy, so writing a decompiler only took about ~2 days of work\n- Day 1:\n  - Mostly some debugging, having a look around how the VM functions\n  - Found & implimented logic for opcodes\n  - Got a decent understanding of the VM via tracing\n- Day 2:\n  - Began to write a lifter for the VM\n  - Wrote base-decompilation logic (CFG\u002Fstructuring)\n  - Implimented passes for emitting clean code (Inlining\u002Fcollapsing)\n\n# Challenges\n\nAs I did say before, the VM wasn't crazy, and has a fairly basic design, however, it did have a couple things that made it a bit more unique than other VMs\n\n- Property resolving - memory system \n  - The VM stored a value in a property\n  - The value set at that property can be accessed at any point\n  - The opcode runs down the stack and once it finds the value that has the property name, it stops\n  - It then retrieves the value of the property and pushes it\n- Non-existent calls\n  - The VM would call a non-existent opcode to exit\n  - In this sample, that was opcode `6`\n  - The main loop was wrapping opcode calls in a `try\u002Fcatch` block, but did nothing upon catching\n  - Doesn't handle errors because it has its own opcode for error handling, this one is only meant to excuse\n \n# Notice\n\n- The information, files, & content in this repo is for **educational & research purposes**\n- If you believe any information in this repo is false, please make an issue\n- This is current at the time of posting (`12 May, 2026`)\n- This is a static decompiler- no parsing has been included as the intention of this repo serves to provide information on decompilation techniques I have used\n\n# Contact\n\nContact is available via *Telegram* or *email*\n- Telegram - `@Fyxavwfunctionstringstring`\n- Email - `alana72212@proton.me`\n\n# Legal \u002F DMCA\n\n⚠️I am fully compliant with any takedown request by the order of Akamai Technologies, or associated parties⚠️\n","该项目是一个针对Akamai基于栈的虚拟机的反编译器。其核心功能在于解析和还原Akamai VM中的指令集，通过识别操作码逻辑、生成控制流图以及进行代码结构化等步骤，实现从字节码到可读性较高的源代码转换。技术上采用JavaScript编写，具有处理属性解析与非存在调用等独特机制的能力。适用于安全研究者或开发者在学习反编译技术和分析网站防护措施时使用。请注意，本项目仅供教育与研究目的。","2026-06-11 04:03:54","CREATED_QUERY"]