某里227逆向分析

声明:
该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关。

本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!

前言

这次会简单的讲解阿里227版本滑块参数n的逆向分析流程以及简单的补环境,如果有疑问可以在评论区交流讨论,我看到会及时回复的,另外,有需要可联系我。

一.目标网站

aHR0cHM6Ly93ZS41MWpvYi5jb20=

在这里插入图片描述
如上图 我们要过这样的滑块验证码

在这里插入图片描述

滑过之后。nocaptcha/analyze.jsonp这个链接中的 n参数 以227!开头的。
我们需要把这个参数逆向出来。这个参数与环境和滑块运动轨迹有关。

二.参数分析

1.我们得找到是哪里生成的
那我们如何找到是哪里生成的呢?这里提供两种解决方案。

a.跟栈(说实话任何一个项目都可以通过这个方法 但是这种方法效率非常低)。
b.通过监控鼠标事件。

下面我是通过监控鼠标事件。寻找参数生成的位置。
在这里插入图片描述
如上图所示。勾选这两个参数。然后鼠标点击验证码开始滑动。
然后就开始进入堆栈了。
跳过第一个栈。到达下图位置
在这里插入图片描述
可以看到这个位置其实就是一些坐标轴的信息。比如x和y等等。
继续往下看。
在这里插入图片描述
可以看到这个地方是添加事件。根据不同的鼠标事件执行不同的方法。
我们可以挨个去看。这里因为时间原因。就不浪费时间了
进入 f, “mousemove”, s中的s方法。
在这里插入图片描述
在这里插入图片描述

到达m函数生成处
在这里插入图片描述
虽然这个值的确能生成227.但是我们不确定这个值是否为正确的。先不管。打上断点再说。

在这里插入图片描述
这个位置显而易见就是当时的那个params参数中的n。
在这里插入图片描述
这里已经找到生成的位置了。但具体还需要点进函数内部去看。
由于这是添加鼠标事件。是函数 并不是执行没办法进断点。

2.通过鼠标进栈
这个时候要进栈。需要把mousedown取消。
在这里插入图片描述
然后划过滑块 不放开。这个就能进入栈。

在这里插入图片描述
接着进入这个函数。这是个过程。要有耐心的一点点看。
后面就简单了 通过单步调试
在这里插入图片描述
到这个地方。可以了 这个地方就是最终生成的位置。

分析这个参数e:
在这里插入图片描述
可以看到 e就是这个值是定值 写死就行。
3.得到参数值n的方法
这里简单介绍两种把

a.扣代码。
b.补环境
这里采用补环境的方法。大概补个1000行左右就行了。
吐出来的环境比我的命都长。
补环境代理代码:



proxy = function(proxy_array) {
   
  for (var i = 0; i < proxy_array.length; i++) {
   
      handler = '{\n' +
          '    get: function(target, property, receiver) {\n' +
          '        console.log("方法:", "get  ", "对象:", ' +
          '"' + proxy_array[i] + '" ,' +
          '"  属性:", property, ' +
          '"  属性类型:", ' + 'typeof property, ' +
          // '"  属性值:", ' + 'target[property], ' +
          '"  属性值类型:", typeof target[property]);\n' +
          '        return target[property];\n' +
          '    },\n' +
          '    set: function(target, property, value, receiver) {\n' +
          '        console.log("方法:", "set  ", "对象:", ' +
          '"' + proxy_array[i] + '" ,' +
          '"  属性:", property, ' +
          '"  属性类型:", ' + 'typeof property, ' +
          // '"  属性值:", ' + 'target[property], ' +
          '"  属性值类型:", typeof target[property]);\n' +
          '        return Reflect.set(...arguments);\n' +
          '    }\n' +
          '}'
      eval('try{\n' + proxy_array[i] + ';\n'
          + proxy_array[i] + '=new Proxy(' + proxy_array[i] + ', ' + handler + ')}catch (e) {\n' + proxy_array[i] + '={};\n'
          + proxy_array[i] + '=new Proxy(' + proxy_array[i] + ', ' + handler + ')}')
  }
}


proxy_array = ['window','document','location', 'navigator', 'history', 'screen','span', 'div',&#
某flutter-app逆向分析是指对于一个使用flutter框架开发的应用进行逆向工程分析。逆向工程是通过分析应用的代码、二进制文件等来了解其内部实现细节。 首先,我们需要获取该应用的安装包文件(APK或IPA文件),然后进行解包操作,将其转换为可读取的文件目录结构。 接下来,我们可以使用一些工具来提取应用的资源文件、代码文件等。对于flutter-app来说,可以提取出dart文件,这是flutter的主要代码文件,其中包含了应用的逻辑实现。 通过阅读dart文件,我们可以了解应用的代码结构、数据模型、界面设计等。可以分析应用的逻辑实现方法,包括各种函数、类、方法的调用关系。 同时,还可以通过分析相关配置文件、资源文件等来了解应用的各种设置、资源加载方式等。 在逆向过程中,还可以使用一些调试工具来进一步了解应用的运行机制。例如,hook工具可以拦截应用的函数调用,并捕获输入输出数据,用于进一步分析。 逆向分析的目的可以有很多,比如了解应用的工作原理、发现潜在的漏洞或安全问题、提供参考用于自己的开发等。 需要注意的是,逆向分析需要遵守法律规定。未经授权的逆向分析可能侵犯他人的知识产权,涉及到隐私等方面的问题。因此,在进行逆向分析之前,应该了解并遵守当地相关法律法规,避免产生法律纠纷。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值