Chrome/Firefox 的Addons 扩展插件调试,

Firefox 的Addons 扩展插件调试

https://zhuanlan.zhihu.com/p/67836345
https://www.dzsfo.com/2019/10/11/Chrome-Hackbar/

https://www.ddosi.org/b320/

Hackbar 2.3.1破解之license验证绕过

  1. 找到 Firefox扩展目录中的插件
    %AppData%\Roaming\Mozilla\Firefox\Profiles{profile_name}\extensions{addon_name}.xpi

  2. 加载本地插件
    地址栏输入 about:debugging#/runtime/this-firefox
    //或 加载目标组件, 解压后在Firefox中: 工具- 扩展和主题 - 点击齿轮 - 调试附加组件 - 临时载入附加组件
    注: 需要点击重载刷新修改

  3. 调试插件
    about:debugging#/runtime/this-firefox , 对应插件 - 点击检查 即可在窗口下断点

  4. 发布
    参考顶部链接3
    Firefox 开发者 https://addons.mozilla.org/zh-CN/firefox/

Hackbar 扩展调试

修改的部分:

之前点 execute 总是不好使。 解决方法如下:

    if(method === "GET"){
      // let code = "const url = \""+ encodeURIComponent(url) +"\";";

      // code += "window.location.href = decodeURIComponent(url);";
      // chrome.devtools.inspectedWindow.eval(code, function(result, isException){
      //     setTimeout( () => { currentFocusField.focus() }, 100 );
      // });

      // let href = `let url = "${encodeURIComponent(url)}";`;
      const url1 = decodeURIComponent(encodeURIComponent(url))
      let code = `window.location.href='${url1}'`

      chrome.devtools.inspectedWindow.eval(code, function (result, isException) {
        setTimeout(() => {
          currentFocusField.focus()
        }, 100)
      })
    }

Chrome 扩展程序调试

打开 扩展程序, 启用开发者模式。加载已解压的扩展程序。
点击: 查看视图 背景页。 可以看到该扩展的 Console.log 输出。

下面示例打开所有 3980下的书签

manifest.json

{
  "manifest_version": 2,
  "name": "My Bookmarks Extension",
  "version": "1.0",
  "permissions": [
    "bookmarks",
    "tabs"
  ],
  "background": {
    "scripts": ["background.js"]
  }
}

// background.js
// 定义书签文件夹的 ID
var folderId = '3980';

// 监听扩展程序安装事件
chrome.runtime.onInstalled.addListener(function() {
  // 使用 Chrome 浏览器提供的开发者工具 API 创建一个新的标签页
  chrome.tabs.create({url: "chrome://bookmarks/"}, function(tab) {
    // 监听标签页的加载完成事件
    chrome.tabs.onUpdated.addListener(function listener(tabId, changedProps) {
      if (tabId === tab.id && changedProps.status === 'complete') {
        // 从 Chrome 书签管理器获取书签列表
        chrome.bookmarks.getChildren(folderId, function(bookmarks) {
          // 打开所有书签链接,忽略文件夹
          bookmarks.forEach(function(bookmark) {
            if (bookmark.url) {
              chrome.tabs.create({url: bookmark.url, active: false});
            }
          });
        });
        
        // 移除监听器,避免重复执行
        chrome.tabs.onUpdated.removeListener(listener);
      }
    });
  });
});
posted @ 2022-12-16 10:54  wgf4242  阅读(449)  评论(0编辑  收藏  举报