李恒道 发表于 2021-1-30 01:07:12

CFW的asar文件逆向工程(二)

# 设置Electron环境变量

在windows的环境变量内添加ELECTRON_ENABLE_LOGGING=1

然后把cfw的exe改名为test.exe

然后再cmd进入目录,并且运行start test.exe

![图片.png](data/attachment/forum/202101/30/005241lc99bq3e1ii1xtei.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "图片.png")

此时我们已经可以看到解码的文件

但是依然存在乱码的文件,目前未知

![图片.png](data/attachment/forum/202101/30/005323u7sd9b9nvmz21l89.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "图片.png")

测试是解密函数后,我们可以安装electron应用日志输出文件

```
npm install electron-log

```

正常情况文件和控制台都会输出

我们可以将rettext改为

```

let rettext= (
    _0x216b60 === undefined
      ? (a0_0x1b2f["JbUzuS"] === undefined && (a0_0x1b2f["JbUzuS"] = !![]),
      (_0x5a567b = a0_0x1b2f["wovbXq"](_0x5a567b, _0x332a52)),
      (a0_0x1b2f["MchjJm"] = _0x5a567b))
      : (_0x5a567b = _0x216b60),
    _0x5a567b
);
log.debug('rettext',rettext,_0x231e56,_0x332a52);
return rettext
```

然后再次编译进行测试

启动的时候是白屏的(并且卡了有五分钟),但是electron-log确实正常运行了

估计因为一直在写入文件,可以看到文件大小一直在增大

但是仅仅输出到682kb就卡死了,不过不要紧,有了一定的语料就可以了,接下来我们详细研究解密函数

C:\Users\用户\AppData\Roaming\clash_win\logs的C:\Users\30832\AppData\Roaming\clash_win\logs查阅到了输出文件

```

rettext call 2643 Ar^K
rettext exports 4043 LprD
rettext exports 5806 gSBe
rettext prototype 308 iHg4
rettext hasOwnProperty 848 Pxv4
rettext call 7207 Pxv4
rettext prototype 308 iHg4
rettext hasOwnProperty 848 Pxv4
rettext call 7207 Pxv4
rettext prototype 308 iHg4
rettext hasOwnProperty 848 Pxv4
rettext call 7207 Pxv4
rettext prototype 308 iHg4
rettext hasOwnProperty 848 Pxv4

```
页: [1]
查看完整版本: CFW的asar文件逆向工程(二)