43322 Technical Notes and Blog

website·Indexed 31 days ago

https://www.43322.cn

A collection of technical notes and blog posts covering JS reverse engineering, Android Java development, and encryption algorithms. The site includes guides on Nuxt3 API servers, Vue-based Chrome extensions, and algorithm solutions for LeetCode problems, alongside discussions on tools like Prisma, Deno, and Magisk.

Tokens
265.1K
Snippets
1.3K
Records
1.9K
Agent score
49%

What's inside 43322

  1. Overview of the Protocol API reproduction template

    Protocol is a full-stack web development template designed for quickly reproducing request protocols and simulating APIs. It leverages Nuxt3 and Nitro to provide a unified development experience where frontend and backend are managed within a single project, eliminating the friction of separate frontend/backend repositories.
  2. Overview of Abstract Syntax Trees (AST) in JavaScript

    An Abstract Syntax Tree (AST) is a tree representation of the abstract syntactic structure of source code. In JavaScript development, ASTs are used for static analysis—analyzing code without executing it. Common applications include code obfuscation/deobfuscation, syntax highlighting, auto-completion, linting (e.g., ESLint), formatting (e.g., Prettier), and transpilation (e.g., Babel).
  3. Overview of the Fresh web framework

    Fresh is a next-generation web framework based on Deno. It emphasizes simplicity, flexibility, and performance, supporting TypeScript without requiring a build step or complex configuration. Its frontend rendering layer and Islands architecture are implemented using Preact.
  4. Overview of Babel AST toolchain

    The process of manipulating JavaScript code via AST involves three primary components:

    1. Parser: Converts JavaScript source code into an AST.
    2. Traverse: Navigates the AST using visitors to find and modify specific nodes.
    3. Generator: Converts the modified AST back into JavaScript source code.
  5. Overview of Reverse Engineering technical requirements and challenges

    Reverse engineering requires a broad technical knowledge base across multiple languages and tools. The primary value gained from this practice is the development of strong code reading and analysis skills, which remain durable even as specific tools change. However, the field is becoming increasingly difficult due to enhanced security measures such as code obfuscation, packing (shelling), anti-debugging techniques, and risk control mechanisms (e.g., TLS fingerprints, browser fingerprints).

    Commonly used reverse engineering tools include:

    • Frida
    • IDA
    • JEB
    • jadx
  6. Overview of Easy Language (EPL)

    Easy Language (EPL) is a programming language that uses Chinese as its primary coding language. It was independently developed by Wu Tao in 2000. It is designed for rapid development, particularly for users who are proficient in Chinese but may struggle with English-based programming languages. Key characteristics include a fully Chinese interface, a visual UI designer, and a 'form-filling' style of declaration for functions and commands.
  7. Overview of Java Reflection

    Java Reflection allows a program to inspect and manipulate classes, interfaces, fields, and methods at runtime. It enables developers to discover a class's properties and methods, invoke methods on objects, and modify attributes without modifying the original class source code. This is widely used in framework development to reduce coupling and in Android reverse engineering for 'hooking' (injecting code to monitor parameters and results).
  8. Overview of Reverse Engineering technical requirements and challenges

    Reverse engineering requires a broad technical knowledge base and involves significant challenges due to increasing security measures. Key technical areas include multiple programming languages (JavaScript, Python, Java, PHP), specialized tools (Frida, IDA, JEB, jadx), and concepts such as TCP/HTTP protocols, packet capturing, cryptography, image recognition (CAPTCHAs), assembly, decompilation, and AST (Abstract Syntax Tree) de-obfuscation.

    Modern security protections make reverse engineering increasingly difficult, including:

    • Android Protections: App packing (requiring unpacking), code obfuscation (requiring AST restoration), and anti-debugging/anti-packet capturing mechanisms.
    • Web/Crawler Protections: IP blocking, account banning, JS parameter encryption, browser fingerprinting, and TLS fingerprinting.

    While the process of overcoming these hurdles provides high satisfaction, it is time-consuming and mentally taxing, as a single change in the service's backend can force a reverse engineer to restart their entire analysis process.

  9. Overview of tRPC for End-to-End Type Safety

    tRPC is a TypeScript-based remote procedure call (RPC) framework that allows developers to call remote functions as if they were local functions. It eliminates the need for manual type definitions for API responses and request bodies by sharing types directly between the server and client. It is most effective in TypeScript monorepos or full-stack frameworks like Next.js, Nuxt, SvelteKit, and SolidStart.
  10. Overview of Qiniu Cloud free tier limits

    Qiniu Cloud provides a free tier for object storage and CDN services. The free quota includes 10GB of object storage space and 10GB of CDN acceleration per month. Usage exceeding these limits is subject to additional charges, and HTTPS services are paid.
  11. Overview of Docker Compose

    Docker Compose is a tool used to automate the deployment of applications that require multiple containers (e.g., a web service combined with Redis, MySQL, and Nginx). While a Dockerfile allows a single program to run anywhere, Docker Compose allows you to manage and launch multiple containers as a single unit with a single command.
  12. Overview of Docker Compose

    Docker Compose is a tool used to automate the deployment of applications that require multiple containers (e.g., a web service combined with Redis, MySQL, and Nginx). While a Dockerfile allows a single program to run anywhere, Docker Compose allows you to manage and start multiple containers as a single unit with a single command, effectively fusing multiple containers together into a project.