从Typora发布1.0版本开始正式宣布进入收费时代,大概是89软妹币共三个设备使用。


前言

因为之前破解过startuml,发现typora的文件结构也有点相似,同样也存在一个app.asar,也就是js用的electron框架弄的桌面版软件。


正文


1. 自己尝试

准备工作

  1. 下载安装一个typora
  2. 下载一个nodejs,因为要用到npm
  3. git bash,是安装git之后的一个

安装完没啥事建议重启下

打开git bash,查看node -v,就提示就好办了
然后输入npm install -g asar,下载完就ok

下面部分操作均在git bash进行,powershell和cmd理论也可以。
cd到typora安装目录,例如我这是D:\Typora\resources
把app.asar反编译出来asar extract app.asar app
app目录下就三个文件,这个atom.js不知道,搜索一下应该是个拓展,好像是补齐用的。
至于这个main.node在package.json里面有个main就是引用了这个文件,但是这个文件打开是一个乱码或者加密的情况。不过大致可以确认关键点在这个文件上面。
而那个json记录的配置信息反而没啥看点。

由于是加密过的,我的技术肯定干不了,搜索了一番之后可以得到两个结论

  1. 替换app.asar的基本都是干掉typora这个版本的加密算法了。
    • 每个小版本的动态算法可能会有改变,百度有一篇看雪的底下评论有提到,所以能搞这个的基本都是对加密算法感兴趣的了
  2. 添加dll的基本都是hook跳过加密解密了。
    • hook在计算机下被称为挂钩或者钩子,思想就是把一些信息钩住用自己的代码执行一下然后在放行,在这期间肯定是修改或者进行一些别的操作了。

显然我不具备这样的能力

关于看雪的这篇文章也推荐大家去看看,能get到几个思想就行,其他的各凭本事。


2. 简书上有个办法

文章链接

可惜的是!他被ban了
哎,作者工具被ban了那就没办法了,文章的思路应该就是解密之类的,有个许可证我到不是很了解。
只能老老实实用网上的办法了,不过感觉还是替换asar靠谱点,dll我不太放心。。真没办法那也只能用dll了。


3. 最后的最后

还是用现成的了哈哈。


结语

  1. 首先可以瞅瞅目录,有类似resources这样的目录,且下面还有个app.asar基本都是利用electron框架弄的了
  2. 虽然知道可以反编译这个.asar,但是核心还是在绕过或者解密上
  3. startuml是真的放心啊。。。他那个直接反编译之后能看到源代码,你只需有一定代码基础,把那些地方改了注释掉就行了。

再接再厉吧。。。正向开发都没搞明白,逆向纯属是瞎闹哈。