Skip to content

ARL(灯塔)批量添加指纹,支持新版(&&)和旧版(仅支持|| 或逻辑)

License

Notifications You must be signed in to change notification settings

Ernket/ARL-Finger-ADD-Go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

前言

在github上看到某个师傅,这种脚本都要单独拿来卖钱属实是没想到,这就好像你开心的从商店的免费游戏专栏中下载了一个有意思的游戏,玩了一关后告诉你后续章节要内购解锁,简直就是拉了坨大的
有能力的师傅们也可以自己修修改改,毕竟25也能吃顿好的了,不至于浪费钱
(PS:各位师傅在用的时候如果有任何bug或者建议都欢迎反馈)

环境

  • go版本: 1.21.6
  • ARL版本: 2.6.2

用法

加了个删除所有指纹的操作,方便重置
finger.json文件和执行程序在同目录即可,同时新增了config.yaml配置文件,方便执行 添加指纹用到的线程数也放在了配置文件里

Usage: main [-d|-a|-s]
选项:
  -a	添加finger.json文件中的指纹
  -d	删除所有指纹
  -o    使用旧版本的指纹添加逻辑
  -s string
    	查询的任务名称

指纹文件优化

在指纹识别的时候发现一个问题,那就是有的指纹误报率极高,发现的逻辑我自己猜想,是因为原先工具会去对keyword里的去组合对比
看到新版的arl中其实是支持&&的,但是为了旧版本的用户使用,决定还是留着old_finger.json,新版则使用finger.json

结果

我在自己搭建的arl中运行,结果是9264

更新记录

  • 2024.3.5
    将获取地址和账号密码的方式修改成了读取配置文件的方式
  • 2024.5.31
    1.修改了判断成功的逻辑,之前是判断请求的状态码,发现目前版本并不可行,改为判断json里的code
    2.更改了添加指纹的逻辑,keyword存在多个值的时候并不能用,分割的方式来添加,但是可以重名,所以同个名称会出现不同的规则
    3.修复了一个bug
    4.更新了-s参数,用来导出任务
    5.为了避免每次使用脚本会退出登录(不允许重复登录),增加了api_key的方式来请求,当apikey存在的时候,默认先用key,如果为空则使用账号密码登录
  • 2024.10.12
    删除了部分无特征的规则,不然误报率极高
  • 2024.11.1
    版本大更新,原本想大改arl的指纹识别模块,结果惊喜的发现新版本(我用2.6.2)已经支持了&&等一系列符号
# 定义操作符
equals = CaselessLiteral("=")
contains = CaselessLiteral("==")
not_contains = CaselessLiteral("!=")
and_op = CaselessLiteral("&&")
or_op = CaselessLiteral("||")
not_op = CaselessLiteral("!")


所以直接改指纹添加的逻辑即可,现在会去自动用&&去拼接(考虑到会有匹配到body,但是icon不存在的情况,所以同名规则拼合的写完后还是给我删了),写一块去匹配,效果如下
但是方便旧版本的用户也使用,我提供了-o参数,在使用 -a -o的时候,程序会使用旧版本的添加逻辑
就是得麻烦手动改名,把old_finger.json改成finger.json,不然误报率很高

TODO

增加参数,指定finger.json文件

参考项目

https://github.com/Funsiooo/chunsou (finger.json文件)
https://github.com/loecho-sec/ARL-Finger-ADD (旧版arl逻辑)

About

ARL(灯塔)批量添加指纹,支持新版(&&)和旧版(仅支持|| 或逻辑)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages