DragonKnight CTF复现(一)

这次的 re 题也是挺难的,按 wp 来学习一波

elec_go

下次遇到这种给了很多东西,又不知道怎么分析的,先百度一下。

Electron程序逆向(asar归档解包)_asar解包-CSDN博客

[原创] electron开发、打包与逆向分析-软件逆向-看雪-安全社区|安全招聘|kanxue.com

electron程序 主程序都被封装到了resources/app.asar里

解包,不能直接像zip解压缩,改后缀后,得到原附件了 0_0

好吧,是有专门的解压工具,很多包是要全局安装

如何解压electron的app.asar_解压app.asar-CSDN博客

src里是主要程序  , node_modules只是一些包

index.js 中是主程序,preload.js是浏览器预先加载的一些脚本,renderer.js是用于建立主程序与浏览器通信的设置

一,直接纯逆

查看preload.js , 修改preload.js 

// See the Electron documentation for details on how to use preload scripts:
// https://www.electronjs.org/docs/latest/tutorial/process-model#preload-scripts
const acorn=require('acorn')
const esprima = require('esprima');
const escodegen = require('escodegen');
const { ipcRenderer } = require('electron');
const CryptoJS=require('crypto-js')
eval(escodegen.generate(JSON.parse(Buffer('eyJ0eXBlIjoiUHJvZ3JhbSIsInN0YXJ0IjowLCJlbmQiOjI0MCwiYm9keSI6W3sidHlwZSI6IkV4cHJlc3Npb25TdGF0ZW1lbnQiLCJzdGFydCI6MCwiZW5kIjoyNDAsImV4cHJlc3Npb24iOnsidHlwZSI6IkFycm93RnVuY3Rpb25FeHByZXNzaW9uIiwic3RhcnQiOjAsImVuZCI6MjQwLCJpZCI6bnVsbCwiZXhwcmVzc2lvbiI6ZmFsc2UsImdlbmVyYXRvciI6ZmFsc2UsImFzeW5jIjpmYWxzZSwicGFyYW1zIjpbXSwiYm9keSI6eyJ0eXBlIjoiQmxvY2tTdGF0ZW1lbnQiLCJzdGFydCI6NCwiZW5kIjoyNDAsImJvZHkiOlt7InR5cGUiOiJWYXJpYWJsZURlY2xhcmF0aW9uIiwic3RhcnQiOjksImVuZCI6MzcsImRlY2xhcmF0aW9ucyI6W3sidHlwZSI6IlZhcmlhYmxlRGVjbGFyYXRvciIsInN0YXJ0IjoxNSwiZW5kIjozNywiaWQiOnsidHlwZSI6IklkZW50aWZpZXIiLCJzdGFydCI6MTUsImVuZCI6MjAsIm5hbWUiOiJrb2ZmaSJ9LCJpbml0Ijp7InR5cGUiOiJDYWxsRXhwcmVzc2lvbiIsInN0YXJ0IjoyMSwiZW5kIjozNywiY2FsbGVlIjp7InR5cGUiOiJJZGVudGlmaWVyIiwic3RhcnQiOjIxLCJlbmQiOjI4LCJuYW1lIjoicmVxdWlyZSJ9LCJhcmd1bWVudHMiOlt7InR5cGUiOiJMaXRlcmFsIiwic3RhcnQiOjI5LCJlbmQiOjM2LCJ2YWx1ZSI6ImtvZmZpIiwicmF3IjoiXCJrb2ZmaVwiIn1dLCJvcHRpb25hbCI6ZmFsc2V9fV0sImtpbmQiOiJjb25zdCJ9LHsidHlwZSI6IlZhcmlhYmxlRGVjbGFyYXRpb24iLCJzdGFydCI6NDEsImVuZCI6NzQsImRlY2xhcmF0aW9ucyI6W3sidHlwZSI6IlZhcmlhYmxlRGVjbGFyYXRvciIsInN0YXJ0Ijo0NywiZW5kIjo3NCwiaWQiOnsidHlwZSI6IklkZW50aWZpZXIiLCJzdGFydCI6NDcsImVuZCI6NTAsIm5hbWUiOiJsaWIifSwiaW5pdCI6eyJ0eXBlIjoiQ2FsbEV4cHJlc3Npb24iLCJzdGFydCI6NTEsImVuZCI6NzQsImNhbGxlZSI6eyJ0eXBlIjoiTWVtYmVyRXhwcmVzc2lvbiIsInN0YXJ0Ijo1MSwiZW5kIjo2MSwib2JqZWN0Ijp7InR5cGUiOiJJZGVudGlmaWVyIiwic3RhcnQiOjUxLCJlbmQiOjU2LCJuYW1lIjoia29mZmkifSwicHJvcGVydHkiOnsidHlwZSI6IklkZW50aWZpZXIiLCJzdGFydCI6NTcsImVuZCI6NjEsIm5hbWUiOiJsb2FkIn0sImNvbXB1dGVkIjpmYWxzZSwib3B0aW9uYWwiOmZhbHNlfSwiYXJndW1lbnRzIjpbeyJ0eXBlIjoiTGl0ZXJhbCIsInN0YXJ0Ijo2MiwiZW5kIjo3MywidmFsdWUiOiJteWRsbC5kbGwiLCJyYXciOiJcIm15ZGxsLmRsbFwiIn1dLCJvcHRpb25hbCI6ZmFsc2V9fV0sImtpbmQiOiJjb25zdCJ9LHsidHlwZSI6IlZhcmlhYmxlRGVjbGFyYXRpb24iLCJzdGFydCI6NzgsImVuZCI6MTI2LCJkZWNsYXJhdGlvbnMiOlt7InR5cGUiOiJWYXJpYWJsZURlY2xhcmF0b3IiLCJzdGFydCI6ODQsImVuZCI6MTI2LCJpZCI6eyJ0eXBlIjoiSWRlbnRpZmllciIsInN0YXJ0Ijo4NCwiZW5kIjo4OCwibmFtZSI6ImZ1bmMifSwiaW5pdCI6eyJ0eXBlIjoiQ2FsbEV4cHJlc3Npb24iLCJzdGFydCI6ODksImVuZCI6MTI2LCJjYWxsZWUiOnsidHlwZSI6Ik1lbWJlckV4cHJlc3Npb24iLCJzdGFydCI6ODksImVuZCI6OTcsIm9iamVjdCI6eyJ0eXBlIjoiSWRlbnRpZmllciIsInN0YXJ0Ijo4OSwiZW5kIjo5MiwibmFtZSI6ImxpYiJ9LCJwcm9wZXJ0eSI6eyJ0eXBlIjoiSWRlbnRpZmllciIsInN0YXJ0Ijo5MywiZW5kIjo5NywibmFtZSI6ImZ1bmMifSwiY29tcHV0ZWQiOmZhbHNlLCJvcHRpb25hbCI6ZmFsc2V9LCJhcmd1bWVudHMiOlt7InR5cGUiOiJMaXRlcmFsIiwic3RhcnQiOjk4LCJlbmQiOjEyNSwidmFsdWUiOiJjaGFyKiBPdXRwdXQoY2hhciogaW5wdXQpIiwicmF3IjoiXCJjaGFyKiBPdXRwdXQoY2hhciogaW5wdXQpXCIifV0sIm9wdGlvbmFsIjpmYWxzZX19XSwia2luZCI6ImNvbnN0In0seyJ0eXBlIjoiRXhwcmVzc2lvblN0YXRlbWVudCIsInN0YXJ0IjoxMzAsImVuZCI6MTM2LCJleHByZXNzaW9uIjp7InR5cGUiOiJBc3NpZ25tZW50RXhwcmVzc2lvbiIsInN0YXJ0IjoxMzAsImVuZCI6MTM2LCJvcGVyYXRvciI6Ij0iLCJsZWZ0Ijp7InR5cGUiOiJJZGVudGlmaWVyIiwic3RhcnQiOjEzMCwiZW5kIjoxMzMsIm5hbWUiOiJ0bXAifSwicmlnaHQiOnsidHlwZSI6Ik9iamVjdEV4cHJlc3Npb24iLCJzdGFydCI6MTM0LCJlbmQiOjEzNiwicHJvcGVydGllcyI6W119fX0seyJ0eXBlIjoiRXhwcmVzc2lvblN0YXRlbWVudCIsInN0YXJ0IjoxNDAsImVuZCI6MjM4LCJleHByZXNzaW9uIjp7InR5cGUiOiJBc3NpZ25tZW50RXhwcmVzc2lvbiIsInN0YXJ0IjoxNDAsImVuZCI6MjM4LCJvcGVyYXRvciI6Ij0iLCJsZWZ0Ijp7InR5cGUiOiJNZW1iZXJFeHByZXNzaW9uIiwic3RhcnQiOjE0MCwiZW5kIjoxNjIsIm9iamVjdCI6eyJ0eXBlIjoiTWVtYmVyRXhwcmVzc2lvbiIsInN0YXJ0IjoxNDAsImVuZCI6MTUzLCJvYmplY3QiOnsidHlwZSI6IklkZW50aWZpZXIiLCJzdGFydCI6MTQwLCJlbmQiOjE0MywibmFtZSI6InRtcCJ9LCJwcm9wZXJ0eSI6eyJ0eXBlIjoiSWRlbnRpZmllciIsInN0YXJ0IjoxNDQsImVuZCI6MTUzLCJuYW1lIjoiX19wcm90b19fIn0sImNvbXB1dGVkIjpmYWxzZSwib3B0aW9uYWwiOmZhbHNlfSwicHJvcGVydHkiOnsidHlwZSI6IklkZW50aWZpZXIiLCJzdGFydCI6MTU0LCJlbmQiOjE2MiwibmFtZSI6InRvU3RyaW5nIn0sImNvbXB1dGVkIjpmYWxzZSwib3B0aW9uYWwiOmZhbHNlfSwicmlnaHQiOnsidHlwZSI6IkFycm93RnVuY3Rpb25FeHByZXNzaW9uIiwic3RhcnQiOjE2MywiZW5kIjoyMzgsImlkIjpudWxsLCJleHByZXNzaW9uIjpmYWxzZSwiZ2VuZXJhdG9yIjpmYWxzZSwiYXN5bmMiOmZhbHNlLCJwYXJhbXMiOltdLCJib2R5Ijp7InR5cGUiOiJCbG9ja1N0YXRlbWVudCIsInN0YXJ0IjoxNjcsImVuZCI6MjM4LCJib2R5IjpbeyJ0eXBlIjoiUmV0dXJuU3RhdGVtZW50Iiwic3RhcnQiOjE2OCwiZW5kIjoyMzcsImFyZ3VtZW50Ijp7InR5cGUiOiJDYWxsRXhwcmVzc2lvbiIsInN0YXJ0IjoxNzUsImVuZCI6MjM3LCJjYWxsZWUiOnsidHlwZSI6Ik1lbWJlckV4cHJlc3Npb24iLCJzdGFydCI6MTc1LCJlbmQiOjIzMSwib2JqZWN0Ijp7InR5cGUiOiJBcnJheUV4cHJlc3Npb24iLCJzdGFydCI6MTc1LCJlbmQiOjIyNSwiZWxlbWVudHMiOlt7InR5cGUiOiJTcHJlYWRFbGVtZW50Iiwic3RhcnQiOjE3NiwiZW5kIjoyMjQsImFyZ3VtZW50Ijp7InR5cGUiOiJDYWxsRXhwcmVzc2lvbiIsInN0YXJ0IjoxNzksImVuZCI6MjI0LCJjYWxsZWUiOnsidHlwZSI6Ik1lbWJlckV4cHJlc3Npb24iLCJzdGFydCI6MTc5LCJlbmQiOjE4OSwib2JqZWN0Ijp7InR5cGUiOiJJZGVudGlmaWVyIiwic3RhcnQiOjE3OSwiZW5kIjoxODMsIm5hbWUiOiJKU09OIn0sInByb3BlcnR5Ijp7InR5cGUiOiJJZGVudGlmaWVyIiwic3RhcnQiOjE4NCwiZW5kIjoxODksIm5hbWUiOiJwYXJzZSJ9LCJjb21wdXRlZCI6ZmFsc2UsIm9wdGlvbmFsIjpmYWxzZX0sImFyZ3VtZW50cyI6W3sidHlwZSI6IkNhbGxFeHByZXNzaW9uIiwic3RhcnQiOjE5MCwiZW5kIjoyMjMsImNhbGxlZSI6eyJ0eXBlIjoiTWVtYmVyRXhwcmVzc2lvbiIsInN0YXJ0IjoxOTAsImVuZCI6MjEyLCJvYmplY3QiOnsidHlwZSI6IkNhbGxFeHByZXNzaW9uIiwic3RhcnQiOjE5MCwiZW5kIjoyMDQsImNhbGxlZSI6eyJ0eXBlIjoiSWRlbnRpZmllciIsInN0YXJ0IjoxOTAsImVuZCI6MTk0LCJuYW1lIjoiZnVuYyJ9LCJhcmd1bWVudHMiOlt7InR5cGUiOiJMaXRlcmFsIiwic3RhcnQiOjE5NSwiZW5kIjoyMDMsInZhbHVlIjoiZmFrZX5+IiwicmF3IjoiXCJmYWtlfn5cIiJ9XSwib3B0aW9uYWwiOmZhbHNlfSwicHJvcGVydHkiOnsidHlwZSI6IklkZW50aWZpZXIiLCJzdGFydCI6MjA1LCJlbmQiOjIxMiwibmFtZSI6InJlcGxhY2UifSwiY29tcHV0ZWQiOmZhbHNlLCJvcHRpb25hbCI6ZmFsc2V9LCJhcmd1bWVudHMiOlt7InR5cGUiOiJMaXRlcmFsIiwic3RhcnQiOjIxMywiZW5kIjoyMTcsInZhbHVlIjp7fSwicmF3IjoiLyAvZyIsInJlZ2V4Ijp7InBhdHRlcm4iOiIgIiwiZmxhZ3MiOiJnIn19LHsidHlwZSI6IkxpdGVyYWwiLCJzdGFydCI6MjE5LCJlbmQiOjIyMiwidmFsdWUiOiIsIiwicmF3IjoiJywnIn1dLCJvcHRpb25hbCI6ZmFsc2V9XSwib3B0aW9uYWwiOmZhbHNlfX1dfSwicHJvcGVydHkiOnsidHlwZSI6IklkZW50aWZpZXIiLCJzdGFydCI6MjI2LCJlbmQiOjIzMSwibmFtZSI6InNsaWNlIn0sImNvbXB1dGVkIjpmYWxzZSwib3B0aW9uYWwiOmZhbHNlfSwiYXJndW1lbnRzIjpbeyJ0eXBlIjoiTGl0ZXJhbCIsInN0YXJ0IjoyMzIsImVuZCI6MjMzLCJ2YWx1ZSI6MCwicmF3IjoiMCJ9LHsidHlwZSI6IkxpdGVyYWwiLCJzdGFydCI6MjM0LCJlbmQiOjIzNiwidmFsdWUiOjE2LCJyYXciOiIxNiJ9XSwib3B0aW9uYWwiOmZhbHNlfX1dfX19fV19fX1dLCJzb3VyY2VUeXBlIjoic2NyaXB0In0=','base64').toString())))()
eval(escodegen.generate(JSON.parse(Buffer('eyJ0eXBlIjoiUHJvZ3JhbSIsInN0YXJ0IjowLCJlbmQiOjQ1LCJib2R5IjpbeyJ0eXBlIjoiRXhwcmVzc2lvblN0YXRlbWVudCIsInN0YXJ0IjowLCJlbmQiOjQ1LCJleHByZXNzaW9uIjp7InR5cGUiOiJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiIsInN0YXJ0IjowLCJlbmQiOjQ1LCJpZCI6bnVsbCwiZXhwcmVzc2lvbiI6ZmFsc2UsImdlbmVyYXRvciI6ZmFsc2UsImFzeW5jIjpmYWxzZSwicGFyYW1zIjpbXSwiYm9keSI6eyJ0eXBlIjoiQmxvY2tTdGF0ZW1lbnQiLCJzdGFydCI6NCwiZW5kIjo0NSwiYm9keSI6W3sidHlwZSI6IkV4cHJlc3Npb25TdGF0ZW1lbnQiLCJzdGFydCI6MTAsImVuZCI6NDIsImV4cHJlc3Npb24iOnsidHlwZSI6IkNhbGxFeHByZXNzaW9uIiwic3RhcnQiOjEwLCJlbmQiOjQyLCJjYWxsZWUiOnsidHlwZSI6IklkZW50aWZpZXIiLCJzdGFydCI6MTAsImVuZCI6MjEsIm5hbWUiOiJzZXRJbnRlcnZhbCJ9LCJhcmd1bWVudHMiOlt7InR5cGUiOiJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiIsInN0YXJ0IjoyMiwiZW5kIjozNywiaWQiOm51bGwsImV4cHJlc3Npb24iOmZhbHNlLCJnZW5lcmF0b3IiOmZhbHNlLCJhc3luYyI6ZmFsc2UsInBhcmFtcyI6W10sImJvZHkiOnsidHlwZSI6IkJsb2NrU3RhdGVtZW50Iiwic3RhcnQiOjI2LCJlbmQiOjM3LCJib2R5IjpbeyJ0eXBlIjoiRGVidWdnZXJTdGF0ZW1lbnQiLCJzdGFydCI6MjcsImVuZCI6MzZ9XX19LHsidHlwZSI6IkxpdGVyYWwiLCJzdGFydCI6MzgsImVuZCI6NDEsInZhbHVlIjoxMDAsInJhdyI6IjEwMCJ9XSwib3B0aW9uYWwiOmZhbHNlfX1dfX19XSwic291cmNlVHlwZSI6InNjcmlwdCJ9','base64').toString())))()
ipcRenderer.send('k3y',toString("never gonna give you up"))

const escodegen=require("escodegen")
const escodegen=require("escodegen")
console.log(escodegen.generate(JSON.parse(Buffer('eyJ0eXBlIjoiUHJvZ3JhbSIsInN0YXJ0IjowLCJlbmQiOjI0MCwiYm9keSI6W3sidHlwZSI6IkV4cHJlc3Npb25TdGF0ZW1lbnQiLCJzdGFydCI6MCwiZW5kIjoyNDAsImV4cHJlc3Npb24iOnsidHlwZSI6IkFycm93RnVuY3Rpb25FeHByZXNzaW9uIiwic3RhcnQiOjAsImVuZCI6MjQwLCJpZCI6bnVsbCwiZXhwcmVzc2lvbiI6ZmFsc2UsImdlbmVyYXRvciI6ZmFsc2UsImFzeW5jIjpmYWxzZSwicGFyYW1zIjpbXSwiYm9keSI6eyJ0eXBlIjoiQmxvY2tTdGF0ZW1lbnQiLCJzdGFydCI6NCwiZW5kIjoyNDAsImJvZHkiOlt7InR5cGUiOiJWYXJpYWJsZURlY2xhcmF0aW9uIiwic3RhcnQiOjksImVuZCI6MzcsImRlY2xhcmF0aW9ucyI6W3sidHlwZSI6IlZhcmlhYmxlRGVjbGFyYXRvciIsInN0YXJ0IjoxNSwiZW5kIjozNywiaWQiOnsidHlwZSI6IklkZW50aWZpZXIiLCJzdGFydCI6MTUsImVuZCI6MjAsIm5hbWUiOiJrb2ZmaSJ9LCJpbml0Ijp7InR5cGUiOiJDYWxsRXhwcmVzc2lvbiIsInN0YXJ0IjoyMSwiZW5kIjozNywiY2FsbGVlIjp7InR5cGUiOiJJZGVudGlmaWVyIiwic3RhcnQiOjIxLCJlbmQiOjI4LCJuYW1lIjoicmVxdWlyZSJ9LCJhcmd1bWVudHMiOlt7InR5cGUiOiJMaXRlcmFsIiwic3RhcnQiOjI5LCJlbmQiOjM2LCJ2YWx1ZSI6ImtvZmZpIiwicmF3IjoiXCJrb2ZmaVwiIn1dLCJvcHRpb25hbCI6ZmFsc2V9fV0sImtpbmQiOiJjb25zdCJ9LHsidHlwZSI6IlZhcmlhYmxlRGVjbGFyYXRpb24iLCJzdGFydCI6NDEsImVuZCI6NzQsImRlY2xhcmF0aW9ucyI6W3sidHlwZSI6IlZhcmlhYmxlRGVjbGFyYXRvciIsInN0YXJ0Ijo0NywiZW5kIjo3NCwiaWQiOnsidHlwZSI6IklkZW50aWZpZXIiLCJzdGFydCI6NDcsImVuZCI6NTAsIm5hbWUiOiJsaWIifSwiaW5pdCI6eyJ0eXBlIjoiQ2FsbEV4cHJlc3Npb24iLCJzdGFydCI6NTEsImVuZCI6NzQsImNhbGxlZSI6eyJ0eXBlIjoiTWVtYmVyRXhwcmVzc2lvbiIsInN0YXJ0Ijo1MSwiZW5kIjo2MSwib2JqZWN0Ijp7InR5cGUiOiJJZGVudGlmaWVyIiwic3RhcnQiOjUxLCJlbmQiOjU2LCJuYW1lIjoia29mZmkifSwicHJvcGVydHkiOnsidHlwZSI6IklkZW50aWZpZXIiLCJzdGFydCI6NTcsImVuZCI6NjEsIm5hbWUiOiJsb2FkIn0sImNvbXB1dGVkIjpmYWxzZSwib3B0aW9uYWwiOmZhbHNlfSwiYXJndW1lbnRzIjpbeyJ0eXBlIjoiTGl0ZXJhbCIsInN0YXJ0Ijo2MiwiZW5kIjo3MywidmFsdWUiOiJteWRsbC5kbGwiLCJyYXciOiJcIm15ZGxsLmRsbFwiIn1dLCJvcHRpb25hbCI6ZmFsc2V9fV0sImtpbmQiOiJjb25zdCJ9LHsidHlwZSI6IlZhcmlhYmxlRGVjbGFyYXRpb24iLCJzdGFydCI6NzgsImVuZCI6MTI2LCJkZWNsYXJhdGlvbnMiOlt7InR5cGUiOiJWYXJpYWJsZURlY2xhcmF0b3IiLCJzdGFydCI6ODQsImVuZCI6MTI2LCJpZCI6eyJ0eXBlIjoiSWRlbnRpZmllciIsInN0YXJ0Ijo4NCwiZW5kIjo4OCwibmFtZSI6ImZ1bmMifSwiaW5pdCI6eyJ0eXBlIjoiQ2FsbEV4cHJlc3Npb24iLCJzdGFydCI6ODksImVuZCI6MTI2LCJjYWxsZWUiOnsidHlwZSI6Ik1lbWJlckV4cHJlc3Npb24iLCJzdGFydCI6ODksImVuZCI6OTcsIm9iamVjdCI6eyJ0eXBlIjoiSWRlbnRpZmllciIsInN0YXJ0Ijo4OSwiZW5kIjo5MiwibmFtZSI6ImxpYiJ9LCJwcm9wZXJ0eSI6eyJ0eXBlIjoiSWRlbnRpZmllciIsInN0YXJ0Ijo5MywiZW5kIjo5NywibmFtZSI6ImZ1bmMifSwiY29tcHV0ZWQiOmZhbHNlLCJvcHRpb25hbCI6ZmFsc2V9LCJhcmd1bWVudHMiOlt7InR5cGUiOiJMaXRlcmFsIiwic3RhcnQiOjk4LCJlbmQiOjEyNSwidmFsdWUiOiJjaGFyKiBPdXRwdXQoY2hhciogaW5wdXQpIiwicmF3IjoiXCJjaGFyKiBPdXRwdXQoY2hhciogaW5wdXQpXCIifV0sIm9wdGlvbmFsIjpmYWxzZX19XSwia2luZCI6ImNvbnN0In0seyJ0eXBlIjoiRXhwcmVzc2lvblN0YXRlbWVudCIsInN0YXJ0IjoxMzAsImVuZCI6MTM2LCJleHByZXNzaW9uIjp7InR5cGUiOiJBc3NpZ25tZW50RXhwcmVzc2lvbiIsInN0YXJ0IjoxMzAsImVuZCI6MTM2LCJvcGVyYXRvciI6Ij0iLCJsZWZ0Ijp7InR5cGUiOiJJZGVudGlmaWVyIiwic3RhcnQiOjEzMCwiZW5kIjoxMzMsIm5hbWUiOiJ0bXAifSwicmlnaHQiOnsidHlwZSI6Ik9iamVjdEV4cHJlc3Npb24iLCJzdGFydCI6MTM0LCJlbmQiOjEzNiwicHJvcGVydGllcyI6W119fX0seyJ0eXBlIjoiRXhwcmVzc2lvblN0YXRlbWVudCIsInN0YXJ0IjoxNDAsImVuZCI6MjM4LCJleHByZXNzaW9uIjp7InR5cGUiOiJBc3NpZ25tZW50RXhwcmVzc2lvbiIsInN0YXJ0IjoxNDAsImVuZCI6MjM4LCJvcGVyYXRvciI6Ij0iLCJsZWZ0Ijp7InR5cGUiOiJNZW1iZXJFeHByZXNzaW9uIiwic3RhcnQiOjE0MCwiZW5kIjoxNjIsIm9iamVjdCI6eyJ0eXBlIjoiTWVtYmVyRXhwcmVzc2lvbiIsInN0YXJ0IjoxNDAsImVuZCI6MTUzLCJvYmplY3QiOnsidHlwZSI6IklkZW50aWZpZXIiLCJzdGFydCI6MTQwLCJlbmQiOjE0MywibmFtZSI6InRtcCJ9LCJwcm9wZXJ0eSI6eyJ0eXBlIjoiSWRlbnRpZmllciIsInN0YXJ0IjoxNDQsImVuZCI6MTUzLCJuYW1lIjoiX19wcm90b19fIn0sImNvbXB1dGVkIjpmYWxzZSwib3B0aW9uYWwiOmZhbHNlfSwicHJvcGVydHkiOnsidHlwZSI6IklkZW50aWZpZXIiLCJzdGFydCI6MTU0LCJlbmQiOjE2MiwibmFtZSI6InRvU3RyaW5nIn0sImNvbXB1dGVkIjpmYWxzZSwib3B0aW9uYWwiOmZhbHNlfSwicmlnaHQiOnsidHlwZSI6IkFycm93RnVuY3Rpb25FeHByZXNzaW9uIiwic3RhcnQiOjE2MywiZW5kIjoyMzgsImlkIjpudWxsLCJleHByZXNzaW9uIjpmYWxzZSwiZ2VuZXJhdG9yIjpmYWxzZSwiYXN5bmMiOmZhbHNlLCJwYXJhbXMiOltdLCJib2R5Ijp7InR5cGUiOiJCbG9ja1N0YXRlbWVudCIsInN0YXJ0IjoxNjcsImVuZCI6MjM4LCJib2R5IjpbeyJ0eXBlIjoiUmV0dXJuU3RhdGVtZW50Iiwic3RhcnQiOjE2OCwiZW5kIjoyMzcsImFyZ3VtZW50Ijp7InR5cGUiOiJDYWxsRXhwcmVzc2lvbiIsInN0YXJ0IjoxNzUsImVuZCI6MjM3LCJjYWxsZWUiOnsidHlwZSI6Ik1lbWJlckV4cHJlc3Npb24iLCJzdGFydCI6MTc1LCJlbmQiOjIzMSwib2JqZWN0Ijp7InR5cGUiOiJBcnJheUV4cHJlc3Npb24iLCJzdGFydCI6MTc1LCJlbmQiOjIyNSwiZWxlbWVudHMiOlt7InR5cGUiOiJTcHJlYWRFbGVtZW50Iiwic3RhcnQiOjE3NiwiZW5kIjoyMjQsImFyZ3VtZW50Ijp7InR5cGUiOiJDYWxsRXhwcmVzc2lvbiIsInN0YXJ0IjoxNzksImVuZCI6MjI0LCJjYWxsZWUiOnsidHlwZSI6Ik1lbWJlckV4cHJlc3Npb24iLCJzdGFydCI6MTc5LCJlbmQiOjE4OSwib2JqZWN0Ijp7InR5cGUiOiJJZGVudGlmaWVyIiwic3RhcnQiOjE3OSwiZW5kIjoxODMsIm5hbWUiOiJKU09OIn0sInByb3BlcnR5Ijp7InR5cGUiOiJJZGVudGlmaWVyIiwic3RhcnQiOjE4NCwiZW5kIjoxODksIm5hbWUiOiJwYXJzZSJ9LCJjb21wdXRlZCI6ZmFsc2UsIm9wdGlvbmFsIjpmYWxzZX0sImFyZ3VtZW50cyI6W3sidHlwZSI6IkNhbGxFeHByZXNzaW9uIiwic3RhcnQiOjE5MCwiZW5kIjoyMjMsImNhbGxlZSI6eyJ0eXBlIjoiTWVtYmVyRXhwcmVzc2lvbiIsInN0YXJ0IjoxOTAsImVuZCI6MjEyLCJvYmplY3QiOnsidHlwZSI6IkNhbGxFeHByZXNzaW9uIiwic3RhcnQiOjE5MCwiZW5kIjoyMDQsImNhbGxlZSI6eyJ0eXBlIjoiSWRlbnRpZmllciIsInN0YXJ0IjoxOTAsImVuZCI6MTk0LCJuYW1lIjoiZnVuYyJ9LCJhcmd1bWVudHMiOlt7InR5cGUiOiJMaXRlcmFsIiwic3RhcnQiOjE5NSwiZW5kIjoyMDMsInZhbHVlIjoiZmFrZX5+IiwicmF3IjoiXCJmYWtlfn5cIiJ9XSwib3B0aW9uYWwiOmZhbHNlfSwicHJvcGVydHkiOnsidHlwZSI6IklkZW50aWZpZXIiLCJzdGFydCI6MjA1LCJlbmQiOjIxMiwibmFtZSI6InJlcGxhY2UifSwiY29tcHV0ZWQiOmZhbHNlLCJvcHRpb25hbCI6ZmFsc2V9LCJhcmd1bWVudHMiOlt7InR5cGUiOiJMaXRlcmFsIiwic3RhcnQiOjIxMywiZW5kIjoyMTcsInZhbHVlIjp7fSwicmF3IjoiLyAvZyIsInJlZ2V4Ijp7InBhdHRlcm4iOiIgIiwiZmxhZ3MiOiJnIn19LHsidHlwZSI6IkxpdGVyYWwiLCJzdGFydCI6MjE5LCJlbmQiOjIyMiwidmFsdWUiOiIsIiwicmF3IjoiJywnIn1dLCJvcHRpb25hbCI6ZmFsc2V9XSwib3B0aW9uYWwiOmZhbHNlfX1dfSwicHJvcGVydHkiOnsidHlwZSI6IklkZW50aWZpZXIiLCJzdGFydCI6MjI2LCJlbmQiOjIzMSwibmFtZSI6InNsaWNlIn0sImNvbXB1dGVkIjpmYWxzZSwib3B0aW9uYWwiOmZhbHNlfSwiYXJndW1lbnRzIjpbeyJ0eXBlIjoiTGl0ZXJhbCIsInN0YXJ0IjoyMzIsImVuZCI6MjMzLCJ2YWx1ZSI6MCwicmF3IjoiMCJ9LHsidHlwZSI6IkxpdGVyYWwiLCJzdGFydCI6MjM0LCJlbmQiOjIzNiwidmFsdWUiOjE2LCJyYXciOiIxNiJ9XSwib3B0aW9uYWwiOmZhbHNlfX1dfX19fV19fX1dLCJzb3VyY2VUeXBlIjoic2NyaXB0In0=','base64').toString())))

用 Node 运行

不懂

反正找到了关键信息 mydll.dll 的 Output 函数

但这好像还是一个加密函数吧

怎么说,这个用 ida8,3 打开就没有报错,有的时候 ida7.7又好用一点

后面那个污染不太懂。

二,直接篡改

要把原 app.asar 文件删了。

再来搜索一下原理。

index.js 相当于 main 函数 至于为什么这么修改就需要会点 js 语法了

LoadLibrary

动态载入DLL所需要的三个函数详解(LoadLibrary,GetProcAddress,FreeLibrary) - westsoft - 博客园 (cnblogs.com)

原型链污染

继承与原型链 - JavaScript | MDN (mozilla.org)

JavaScript中,每个对象都有一个名为__proto__的内置属性,它指向该对象的原型。同时,每个函数也都有一个名为 prototype 的属性,它是一个对象,包含构造函数的原型对象应该具有的属性和方法。简单来说,__proto__ 属性是指向该对象的原型,而 prototype属性是用于创建该对象的构造函数的原型。

深入理解 JavaScript Prototype 污染攻击 | 离别歌 (leavesongs.com)

浅析CTF中的Node.js原型链污染 - FreeBuf网络安全行业门户

还是有点懵逼,但也就和 SQL注入,hook 之类的意思差不多。

好吧是 web 的一个漏洞

【星盟安全】Web系列教程 第3节 Nodejs 原型链污染(更新)_哔哩哔哩_bilibili

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/17474.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AutoDL搭建 ChatGLM3

租用新实例 这里选择的西北 B 区、RTX 409024GB 创建虚拟环境并激活 # 安装虚拟环境至数据盘 conda create --prefix /root/autodl-tmp/envs/chatglm3-demo python3.10# 激活虚拟环境 conda activate /root/autodl-tmp/envs/chatglm3-demo拉取ChatGLM3仓库代码 # 开启学术…

代码随想录算法训练营第七天| 454.四数相加II 、383. 赎金信、 15. 三数之和、18. 四数之和

454.四数相加II 题目链接: 454.四数相加II 文档讲解:代码随想录 状态:没做出来,没想到考虑重复的情况! 题解: public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {// 结果计数…

Python调用科大讯飞在线语音合成API --内附完整项目

一,注册讯飞账号,并实名制。 讯飞开放平台-以语音交互为核心的人工智能开放平台 (xfyun.cn) 二、找到音频合成,按页面提示申请免费试用。 在线语音合成_免费试用-讯飞开放平台 (xfyun.cn) 三、申请免费使用后,找到API信息如下…

vscode远程登录阿里云服务器【使用密钥方式--后期无需再进行密码登录】【外包需要密码】

1:windows主机上生成【私钥】【公钥】 1.1生成公钥时不设置额外密码 1.2生成公钥时设置额外密码【给外包人员使用的方法】 2:在linux服务器中添加【公钥】 3:本地vscode连接linux服务器的配置 操作流程如下 1.1本地终端中【生成免密登录…

从0到100,渠道码如何成为SaaS企业增长的加速器

在当今数字化时代,企业的增长策略已不再是单一和线性的。渠道码的出现,为SaaS(软件即服务)企业提供了一种全新的、多维度的增长途径,真正实现了从0到100的快速增长。 一、渠道码的高可定制性和灵活性,为Sa…

基于.NetCore和ABP.VNext的项目实战二:Swagger

Mag.Blog.Swagger层添加Volo.Abp.AspNetCore和Swashbuckle.AspNetCore包,引用实体层.Domain 添加模块类MagBlogSwaggerModule.cs,依赖MagBlogDomainModule模块,并且重写ConfigureServices和OnApplicationInitialization方法 namespace Mag.Blog.Swagger {[DependsOn(typeof…

错误提示:“由于找不到steam_api.dll,无法继续执行代码”修复方法,缺少steam_api.dll文件原因

在尝试运行某些游戏或程序时,用户可能会遇到一个常见的错误提示:“由于找不到steam_api.dll,无法继续执行代码”。这个错误信息表明,系统在启动程序或游戏时无法定位到必要的steam_api.dll文件,这是一个关键的动态链接…

香橙派 AIpro的NPU随手记体验日记

昇腾AI 技术路线 8TOPS INT8(FP16)AI算力 LPDDR4X 8GB/16GB 📅 20240525 开放了原理图和源码,功能接口就不描述了手册都有描述,新手好好学习可以从底层覆盖到应用一个载板拿下 完成香橙派AIpro上手体验 镜像安装&am…

C++学习---string模拟实现(2)

1.随机插入一个字符串 (1)insert函数插入一个字符的方法我们在之前的模拟实现里面已经搞过了,那个里面要注意的是这个全体向后挪动的循环过程,这个里面我们要实现的是插入字符串的模拟实现; (2&#xff0…

网上3d全景虚拟交互展馆沉浸式体验让客户和使用者都满意

在数字化浪潮席卷而来的今天,3D场景网站已成为众多行业展现创意与实力的新舞台。然而,传统的3D建模软件往往因其复杂性和高门槛,让许多渴望创建逼真3D场景的用户望而却步。 幸运的是,华锐视点推出了搭建3D场景网站的编辑器——一款…

怎么做图片海报二维码?扫码查看图片内容

现在很多的宣传推广海报会放入二维码中,然后将二维码分享给用户后,通过扫码的方式来查看图片内容,从而获取自己需要的信息,经常在活动宣传、商品推广、旅游攻略等场景下使用。二维码可以提供更加便捷的内容获取方式,让…

[图解]企业应用架构模式2024新译本讲解02-表数据入口

1 00:00:00,420 --> 00:00:04,330 这个案例,我们就是用书上的案例了 2 00:00:06,080 --> 00:00:08,860 收入确认的一个案例 3 00:00:09,510 --> 00:00:11,100 书上讲了,收入确认 4 00:00:13,330 --> 00:00:15,270 就是说,你给…

一文搞透常见的Python编码陷阱(下)(分析+案例)

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 一、当心多目标赋值中的可变变量 示例 扩展讲解 示例 增广赋值中的可变变量 示例 扩展讲解 示例 总…

Python魔法之旅-魔法方法(01)

目录 一、概述 1、定义 2、作用 二、主要应用场景 1、构造和析构 2、操作符重载 3、字符串和表示 4、容器管理 5、可调用对象 6、上下文管理 7、属性访问和描述符 8、迭代器和生成器 9、数值类型 10、复制和序列化 11、自定义元类行为 12、自定义类行为 13、类…

window安装ffmpeg播放本地摄像头视频

1、安装ffmpeg ffmpeg官方网站:FFmpeg 下载后解压文件夹名为ffmpeg 2、设置环境变量 目录 1、安装ffmpeg 设置环境变量 以F:\software\after\ffmpeg\bin为例 在命令行中输入ffmpeg出现下方代表安装成功 3、通过ffmpeg播放本地电脑摄像头 鼠标右击开始按钮&…

计算机设计大赛

目录 1.1需求分析 2.1概要设计 3.1软件界面设计: 4.1代码开源 1.1需求分析 1.1 产品开发本说明: 在如今每人都会扔出许多垃圾,在一些地方大部分垃圾能得到卫生填埋、焚烧等无害化处理,而更多的垃圾则是简单的掩埋&#xff…

范罗士、希喂、安德迈爆款宠物空气净化器哪款好?深度对比测评

作为一名深受养猫过敏困扰的铲屎官,我经常提醒新手铲屎官重视家里的空气环境。宠物的浮毛和皮屑不仅会引发过敏,还可能传播细菌和病毒。很多人以为普通空气净化器能解决问题,但这些产品并未针对宠物家庭的特殊需求。经过多次研究和测试&#…

一些Spring的理解

说说你对Spring的理解 首先Spring是一个生态:可以构建企业级应用程序所需的一切基础设施 但是,通常Spring指的就是Spring Framework,它有两大核心: IOC和DI 它的核心就是一个对象管理工厂容器,Spring工厂用于生产Bea…

定积分的应用

目录 前提知识 考题类型:平面图形面积、旋转体体积、旋转体侧面积、平面曲线弧长 两种坐标:极坐标和直角坐标系 求解思路: 注意: 1:平面图形的面积: 常见模型: 面积元素的两种表达:积分区…

Postman入门 - 环境变量和全局变量

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、发送请求 二、设置并引用环境变量 比如:我建的这个生产环境 使用环境有两个方式&…