美文网首页
[逆向学习法]无源码通过两个源码比较研究路由器2天搞定ngrok

[逆向学习法]无源码通过两个源码比较研究路由器2天搞定ngrok

作者: 吉凶以情迁 | 来源:发表于2022-09-04 16:58 被阅读0次

    首先,我没有多少linux,基础,对路由器 linux底层还是缺少系统的理解的,那么我这种程序员初次玩这个路由器系统是怎么个学习法呢?
    对linux shell这些的脚本也不是很了解,
    作为插件开发,如果你是设计者,设计一个插件 提供一个网页,网页点击后是不是应该交互调用具体的真实shell命令,
    我虽然没有开发过路由器脚本,但是我对安卓的xposed插件,以及架构 机器人js插件大概有一定的了解,当js脚本里面执行原生代码我这边会hook执行具体的逻辑,那么 我想这大概也是一样的.

    官方所有源码下载地址
    https://codeload.github.com/koolshare/armsoft/zip/refs/heads/master
    离线安装需要taz包,window可以用7z打包成tar,然而再次打包gzip.就可以了.

    定位里面两个插件的源码,发现里面的规范写法 区别,就是从模板代码里面修改install_now()

    image.png

    前者是开发一个内网穿透的工具 后者只是一个小公举,所以前者通常会启动一个进程,以此卸载的时候也需要killall 进程

    image.png
    l另外里面的文件目录存放结构大概得出一下结论
    基本上也是按模块名来起名的.
    网页 配置文件会放在固定的文件夹下, image.png

    从这文件看,大概就是知道请求路由器自身的域名/_api 发送postData从而执行对应脚本,.

    也就是说在_api这个服务器会执行一些固定的执行脚本操作.
    初次尝试


    image.png image.png

    模拟真实请求
    设置Cookie和user-agent


    image.png

    结果

    image.png

    最后我做了一个修改版的ngrok 内网映射插件但是上传后提示插件里面找不到web文件夹,于是只能根据源码进行分析了
    根据抓包分析得出文件名,然后linux查找文件 ,

    image.png image.png

    通过比对两个插件的源码,知道大概应该改什么?

    之后拷贝一份frp ,因为frp 和,ngrok,内网穿透程序相似,

    大概把里面的结构改一下
    比对发现其实大部分内容是高度一致的,只有部分不一样.

    image.png

    大概熟悉了下后
    拷贝一份frp
    至于里面怎么打包的结构,
    需要抓包分析,
    根据错误提示查找定位到文件


    image.png

    路由器 使用 sftp,或者ssh 拷贝下来,
    怎么找到文件呢?

    linux命令
    ls find -name "*.asp"
    额,这个上面图片已经展示过了
    根据提示分析为啥错了,之前我是没看懂linux命令

    image.png

    这句话反人类-a,虽然我熟悉很多种语言开发,但是从没看到这么写的, 这么简单的一个字-a 没有学过就不懂了

    后面查阅才知道
    -a 等于&&
    -o等于||
    笔记

    image.png

    那么这个文件没找到是啥问题呢,打包我是选择ngrok文件夹打包的那么解压后是ngrok/webs/Module_ngrok.asp 理论上没错,后面发现改名后没有把frp.asp改名为ngrok.asp,改完之后重新打包 ,终于成功了.
    最后附开发完成的截图

    image.png
    image.png image.png

    研究2天时间,从星期天整天到星期一晚上以及早上12点...
    还增加了日志实时显示功能,frpc的插件源码可能压根没那么强大,所以我借鉴另外一个插件实现了实时执行日志的监听. 但是ngrok命令执行实际上不是直接管道显示的,怎么说呢 就是echo "aa">file这种方法只能dump到刚开始闪现的东西,反正怎么解决这个思路我不会.

    所以大概实现思路可能只能sleep几秒 然后访问一个web inteface 也就是127.0.0.1:4040 取出访问内容来大致判断是否成功,

    image.png

    最后我发现jffs分区这种东西空间不足,于是折腾用u盘代替 ,


    image.png

    相关文章

      网友评论

          本文标题:[逆向学习法]无源码通过两个源码比较研究路由器2天搞定ngrok

          本文链接:https://www.haomeiwen.com/subject/jakmnrtx.html