简单破解Java浏览器组件jxbrowser

  • A+
所属分类:逆向工程

JxBrowser是Java浏览器一款组件,JxBrowser能在Windows、Linux、Mac OS X (Intel and PPC-based)平台上将Mozilla Firefox浏览器完美地整合到Java AWT/Swing应用程序里。

故事背景:本人公司是做淘宝SEO的,我来之前有一版web软件用jsp的。但要扩大用户群,就不能使用B/S架构,访问量大了服务器IP可能被淘宝封杀,于是要用swing移植jsp。之前用的是httpclient模拟登陆,相当麻烦。首先我先试了用swt内置浏览器,但swt虽然是基于IE内核,但不加载activeX,阿里安全控件也不支持,最无奈的是登陆后获取的COOKIE不全,例如_tb_token_(令牌cookie)就是获取不到。国内没有内置firefox或chrome的jar,只能用google去国外看看。

jxbrowser是一款内置chrome的jar,貌似是自己写的dll,支持各种操作系统平台。虽说jxbrowser提供1个月的试用,但客户装了软件总不能1个月发一个新的license给他,哪天不提供试用了,公司的软件就废了。

不说废话,先上图,按正常的流程,我先用jd看看核心的代码

简单破解Java浏览器组件jxbrowser

JVM不是很精通,只有在create browser对象时,会去检测是否有license

申请了试用的license.jar,里面的关键信息是加密的。jxbrowser jar里的验证license关键代码加密了,SHA1-digest检验又是个麻烦事。偷懒的想法总是先出现在脑子里。

jxbrowser官网提供一个demo,提供源码,jxbrowserdemo.jar发现里面也有一个teamdev.licenses。果断把这个文件覆盖到试用license.jar的META-INF目录下,再移到自己的工程lib里。但还是显示 license invaild。

于是,这时候我又有一个很傻比的想法,把java主类名改成了跟demo下一样的JxBrowserDemo.java,执行一遍,还是license invaild。这时候,我打开jxbrowserdemo.jar,发现class里的目录结构,突然有了一个想法,如果我保持我编译后的class目录也跟demo一样呢。

简单破解Java浏览器组件jxbrowser

我推测刚才create browser被加密的代码,很可能有一步是检测在使用demo的license.jar时com/teamdev/jxbrowser/chrominum/demo下有没有JxBrowserDemo.class。

简单破解Java浏览器组件jxbrowser

果然成功了,最后上一幅图

简单破解Java浏览器组件jxbrowser

支持activeX,Flash什么的,COOKIE信息也都是全的

本人小菜,还没毕业,来公司实习的,jxbrowser在官网上unlimited的是14999$。有时候达到目的并不需要多高深的技术去研究很牛逼的路子,有时候像我这样只有简单的思想,轻易的绕过验证。PS:老板很扣,就请我吃了一顿自助餐,没办法,不是互联网公司,不懂这东西的价值。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: