当前位置: 首页 > news >正文

邯郸网站建设咨询安联网络公司网站制作第三方

邯郸网站建设咨询安联网络,公司网站制作第三方,广西住房和城乡建设厅网站主页,哈尔滨seo搜索排名优化Ja-netfilter#xff08;idea破解#xff09;分析 简介 ja-netfilter是一款可以破解jetbrainsIDE系列的javaagent jar 包。 原理简介 通过javaagent创造修改字节码的时机。通过asm修改相关类#xff0c;达到hook特定方法的作用。主要依赖power#xff08;rsa方法hookidea破解分析 简介 ja-netfilter是一款可以破解jetbrainsIDE系列的javaagent jar 包。 原理简介 通过javaagent创造修改字节码的时机。通过asm修改相关类达到hook特定方法的作用。主要依赖powerrsa方法hookurl拦截网络验证码校验dns拦截特定域名请求插件。 原理分析 首先先简单了解下整理流程后面详细讲解每个步骤。 正常启动idea流程 点击idea快捷方式或者idea.bat / idea.sh启动。 根据环境变量加载对应vm参数。也就是vmoptions文件vm中的内容会作为jvm启动参数添加到启动命令中。 本地校验激活码 rpc接口校验激活码 使用ja-netfilter流程 运行install脚本通过环境变量指定启动vm参数文件地址也就是jar包目录下的vmoptions目录。启动idea。加载ja-netfilter vm参数在ja-netfilter的vm参数中添加了asm支持以及javaagent参数并指定当前jar包。运行javaagent,及ja-netfilter.jar 的permain方法。 加载ja-netfilter定义的插件也即plugins目录下的jar包。初始化插件载入配置也即config目录下的jar包。通过javaagent提供的类转换能力转换插件hook的类。 本地校验激活码网络rpc校验激活码 ja-netfilter代码分析 我这里直接调试idea通过idea.bat启动。启动后在通过agent技术嵌入到idea目录虚拟机中已达到调试idea的目录。com.janetfilter.core.Launcher是主启动类定义了permain已经agentmain方法。同时在manifest指定了Premain-Class。 使用idea.bat启动idea 使用javaagent嵌入到目标虚拟机。 进入javaagnerja-netfiler定义的permain方法开始执行ja-netfiler逻辑。 确定插件目录以及配置目录 加载插件加载配置并初始化 ja-netfiler插件介绍 ja-netfiler的插件结构大致可以分为三类 插件入口类例如DNSFilterPlugin用来注册对应的类转换器。Transformer类例如InetAddressTransformer用来定义需要hook的类名以及hook方法的逻辑。过滤器业务逻辑类例如DNSFilter类转换之后被hook会真正调用到的类一般用于拦截或者替换。 dns插件 DNSFilterPlugin 初始化转换类并注册 InetAddressTransformer hook了java/net/InetAddress类的getAllByName方法以及isReachable方法。 修改之后的InetAddress代码大致如下 public class InetAddress {public static InetAddress[] getAllByName(String hostName) throws UnknownHostException {return DNSFilter.testQuery(hostName) null ? new InetAddress[0] : super.getAllByName(hostName);}public boolean isReachable(NetworkInterface netif, int timeout, int ttl) throws SocketException {InetAddress reachableAddress DNSFilter.testReachable(this);if (reachableAddress ! null) {return true;} else {return false;}// ... } }DNSFilter 总结 dns插件hook了InetAddress类的getAllByName方法如何匹配配置的域名则抛出UnknownHostException异常。以及isReachable方法如何匹配规则则返回false。 dns对应配置 [DNS] EQUAL,jetbrains.com EQUAL,plugin.obroom.com也就是访问jetbrains.com以及plugin.obroom.com都是失败的。 power插件 总结 power插件hook了BigInteger的oddModPow方法这个方法是用来对一个数模取幂运算的及x.oddModPow(y,z) x^y % z。RSA非对称加密底层会使用到当前方法。 可以简单理解为在oddModPow函数前加了一段逻辑就是如果入参x,y,z匹配配置的规则那么就返回规则配置的结果。 public class BigInteger {public static BigInteger oddModPow(BigInteger x, BigInteger y, BigInteger mod) {BigInteger result ResultFilter.testFilter(x, y, mod);if (result ! null) {return result;}// ...} }url插件 总结 url插件hook了HttpClient的openServer方法。在执行逻辑之前调用testUrl方法。 public class HttpClient {public void openServer() {URLFilter.testURL(url);// ...} }testUrl方法中的逻辑为如果匹配了规则中设置的url那么就抛出SocketTimeoutException异常也即不能访问指定url。 public static URL testURL(URL url) throws IOException {if (null url || null ruleList) {return null;}for (FilterRule rule : ruleList) {if (!rule.test(url.toString())) {continue;}DebugInfo.output(Reject url: url , rule: rule);throw new SocketTimeoutException(connect timed out);}return url; }对应规则为 [URL] PREFIX,https://account.jetbrains.com/lservice/rpc/validateKey.action那么这里就是只要前缀匹配了当前地址也即是rpc校验激活码的地址那么就会抛出异常自然也就无法网络校验了。 Idea调试 可以看到在输入验证码之后会调用RAS相关方法来校验激活码这里就会调用到ja-netfiler插件power的方法。如果匹配了对应的配置就会给出一个结果来替换oddModPow的结果。 校验验证码成功激活成功 点击继续关闭弹窗idea会调用rpc接口校验验证码url插件匹配规则抛出异常。 参考 https://zhuanlan.zhihu.com/p/494706735
http://www.zqtcl.cn/news/579333/

相关文章:

  • 设计网站猪八戒自己制作logo免费生成器
  • 深圳万齐创享网站建设网站建设基本教程
  • 聊城做网站信息建设工程合同可以分为
  • 网站设计 注意做筹款的网站需要什么资质
  • 家居网站建设费用国土局网站建设经验
  • 企业网站开发教程网站建设更改
  • 违法网站怎么做安全wordpress自定义应用
  • 四平英文网站建设wordpress添加特效
  • 如何在手机上制作网站企业网站 微博模块
  • 网站内容规范网站建设建设公司哪家好
  • 深圳网站制作公司地址如何制作手机版网站
  • 深圳定制网站制作报价网络交易平台
  • 鞍山网站制作报价wordpress手机客户端端
  • 开发触屏版网站标签苏州沧浪区做网站的
  • 网站接入商钓鱼网站链接怎么做
  • 建设部机关服务中心网站网站建设维护费 会计科目
  • 网站解析后怎么解决方法淘宝网站建设方案模板
  • 淘宝客可以自己做网站推广吗营销网络建设怎么写
  • 上海高端网站制作广告设计培训课程
  • 互联网站平台有哪些建筑工程教育网官网
  • 广告传媒公司哪家好职场seo是什么意思
  • 番禺龙美村做网站博山区住房和城乡建设局网站
  • 山东网站建设xywlcnwordpress如何创建导航
  • 直接用ip访问网站网站开发常用字体
  • 江西省城乡建设培训网 官方网站杭州十大软件公司
  • 建设网站需要什么设备南昌购物网站制作
  • 做家具的网站工作单位怎么填
  • 福州建设银行官网招聘网站山西建设公司网站
  • 集团网站建设方案中卫网站推广制作
  • 射阳网站建设电商运营团队结构图