Loading... # 引言 某个经常用到的electron的app对于app.asar没有进行加密,但是启动的过程中会加载win32-x64.node,经过pe分析它是一个dll库文件,实际上的校验是由它进行hash处理的。 # 方案 先对这个app.asar进行编辑,比如说isVip:0覆盖成1,此时app.asar的hash肯定会变化,此时校验过不了会导致程序退出。 这时候如果不进行node文件分析算法,还有另一条路,就是先保留原版的asar文件。 1. app.asar 作为修改之后的文件 2. bpp.asar 作为修改前的原始文件 因为electron启动流程是exe文件读取app.asar并且加载,当app.asar加载完成之后,加载这个node文件,此时这个node文件会调用createFileW,这时候会对文件进行hash计算。 那么如果我在createFileW之前,修改了app.asar的路径,让他读取bpp.asar,那么接下来的流程依然能够走通。也就是程序加载的是app.asar,校验走的是bpp.asar。   接下来自动hook就可以了。 # 结语 这种方案只针对于主要逻辑并非由二进制文件进行处理,并且授权部分也不是在二进制文件中进行处理的情况。 时间比较紧迫,记录一下这种思路。 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏