检测Electron程序是否打包了控制台

北京中科白癜风医院爱心传递 https://auto.qingdaonews.com/content/2018-06/19/content_20138493.htm

在逆向Electron程序时,当遇到控制台打不开,往往是因为以下几个原因:

1)程序监听了控制台的打开事件,当发现控制台打开,则立刻将其关闭;

2)程序在用BrowserWindow创建窗口时,配置了webPreferences中的devTools为false;

3)程序在打包时,去除了Electron的控制台功能模块。

如果是第一种(通常是使用的是devtools-opened事件),可以通过解绑事件或移除相关代码的方式绕过;

如果是第二种,可以尝试顺着程序入口文件寻找窗口的devTools配置项,并修改它;

如果是第三种,通过添加修改JS脚本是无能为力的。那怎么检测一个程序是不是属于该情况呢?

检测的思路是:先抛开原程序,先将入口文件指向到一个新建文件上,新建文件里创建一个带控制台的窗口,然后通过观察程序运行后是否可以看到控制台来做判断。

1)解压app.asar后,在app文件夹中新建一个js文件并写入以下代码:

const{app,BrowserWindow}=require("electron");

//创建窗口

functioncreateWindow(){

letmainWindow=newBrowserWindow({

title:"测试",

width:,

height:,

offscreen:true,

show:true,

titleBarStyle:"customButtonsOnHover",

backgroundColor:"#fff",

acceptFirstMouse:true,//是否允许单击页面来激活窗口

allowRunningInsecureContent:true,//允许一个


转载请注明:http://www.aierlanlan.com/grrz/7374.html