题目信息

题目类型:REV、WEB

Description:

I have written a super safe flag encryptor. I’m sure nobody can figure out what my original flag was:

0xd19ee193b461fd8d1452e7659acb1f47dc3ed445c8eb4ff191b1abfa7969

Dockerfile for your convenience / to ensure correct environment.

解题思路

整体思路

Untitled

首先f=[...require('fs').readFileSync('./flag')] // Read the flag

读取我们的flag

然后后面都是调用一些类似require('./number')(i, j, t)

对大量 js 文件进行包含引入模块,从而将flag数组 f 进行加密

flag长度有30位,所以i、j、t一直在做取余30的计算。

其实只要将这些加密的js的操作语句,在run的过程中输出,然后逆向运算即可。

添加console.log