逆向分析
文章平均质量分 68
从实际案例出发,分享本人逆向分析的思路流程与心得体会。
高新园养鸡场
一个迷茫的逆向工程师。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JavaScript逆向:GlidedSky 字体加密题
题目题目地址:点击进入 解题单个页面的数据如下,从网页元素中可以看出,网页源码中的数字和我们看到的数字并不同,如果简单爬取网页内容肯定无法达到题目要求。注意右下角篮圈中的字体样式,这就是 372 能显示成 127 的关键所在。...原创 2021-05-27 13:58:04 · 516 阅读 · 1 评论 -
JavaScript逆向:GlidedSky JSFuck题
题目题目地址:点击进入 解题单个页面的数据如下。首先通过网络请求查看单个页面数据的获取方式。发现是从这个请求中拿到的数据,其中 sign 和 t 为需要逆向分析的字段。追踪该请求调用栈即可看到关键位置。如图,VM虚拟机已经将 sign 和 t 的生成方式“吐”出来了。上面的代码是如何生成的呢?进入 crawler-javascript-obfuscation-1.js:1 查看,里面的内容让人蒙圈。完整代码如下:[][(![]+[])[+[]]+([![]]+[][原创 2021-05-21 12:04:19 · 443 阅读 · 5 评论 -
JavaScript逆向:金某xx网站登陆指纹算法分析
声明:案例分析仅供学习交流使用,勿用于任何非法用途。如学习者进一步逆向并对版权方造成损失,请自行承担法律后果,本人概不负责。首先查看登录时的POST请求,发现加密字段k。通过请求调用可以定位到高度可疑的 secendVerify() 函数。格式化后查看,找到了指纹参数来源。fingerprint 由下面相关函数赋值。setFingerprint: function() { var _this = this; recognition.get({ prepro.原创 2021-04-28 18:14:53 · 29753 阅读 · 6 评论 -
JavaScript逆向:某达网站的验证码刷新加密字段分析
点击验证码刷新,查看请求,会返回Base64形式的图片,其中 data 便是我们要分析的加密字段了。data通用性太高了不好找,先在对刷新请求下断点,此时的data当然是已经加密好的。代码混淆的厉害,从发起请求的地方没找到有用信息,根据调用栈向上摸排,沿着data的传入跟踪到此处,结果没有任何有用信息,也就是“跟丢了”。重新细致跟踪调用栈,发现这里的p()函数对data的处理有点可疑,于是在入口下断。从p()函数调用栈往上居然发现了构建data字段的端倪。md5() 函数点进去看了下就是常原创 2021-04-28 11:53:22 · 290 阅读 · 1 评论 -
JavaScript逆向:过某气体质量监测网站的(无效内容+无限debugger)反调试
该页面用于调试的F12,鼠标右键,CTRL + S都被禁用了。从别的页面打开控制台过来,会遇到两道防御机制:1.页面被改为无效内容。2.控制台无限打开VMXX页面卡调试。摸排源码发现两个可疑函数 endebug() 与 txsdefwsw() :endebug()函数会在调试模式下篡改页面内容。function endebug(off, code) { if (!off) { !function(e) { function n(e) {原创 2021-04-27 09:24:53 · 756 阅读 · 4 评论 -
JavaScript逆向:1某9网站登录请求CryptoJS(AES)加密字段分析
首先分析登陆过程,在登陆之前,随着焦点变化,页面会校验验证码和密码格式。上面两样东西不深究,这次还是关心登陆请求提交的数据。点击登录后页面会刷新,造成大量请求,不便判断。过滤POST请求,发现相关度较高的Login请求,提交的数据也只有Password字段有加密,这里尝试追踪请求代码,一堆jq.js中的loginNew.js可能性很大。跟进去下断发现附近有操作密码明文进行操作。步入valAesEncryptSet()函数可以发现其仅是将输入的密码做了个简单的AES加密,密钥和初始向量也是固定的。原创 2021-04-25 23:58:22 · 713 阅读 · 0 评论 -
JavaScript逆向:Webpack改写获得某网站登陆加密模块
声明:案例分析仅供学习交流使用,勿用于任何非法用途。如学习者进一步逆向并对版权方造成损失,请自行承担法律后果,本人概不负责。首先查看其登陆POST请求,这里随机输入密码【123456789】,显然用户名、密码等信息被加密成了jsonKey字段作为参数:从调用栈往上跟,最终找到 tiananapp/customer_login/taPcLogin POST中明文->密文的地方:此处的 newEncrypt() 函数如下://传入的l为://"{"body":{"loginMethod".原创 2021-04-22 09:16:54 · 799 阅读 · 0 评论 -
JavaScript逆向:console.log插桩分析某网站登陆加密模块
声明:案例分析仅供学习交流使用,勿用于任何非法用途。如学习者进一步逆向并对版权方造成损失,请自行承担法律后果,本人概不负责。要挖掘登陆模块,首先查看其登陆POST请求,其中password字段需要逆向,这里是随机输入的密码【321654】:要找到password字段的生成方式,可以从接口入手,全局搜“/user/login”:找到对应的js文件后,由于代码被压缩成一行了,点进去是无法直接达到目标位置,但可以格式化后搜索“/user/login”找到目标位置:此处下断点调试,发现在发出请求时.原创 2021-04-15 09:28:33 · 3228 阅读 · 2 评论 -
Android逆向:脱某软件dex函数抽取型壳
案例与目标案例下载jadx打开以后可以看到很明显的壳特征。目标:使用工具和自行实现脱壳。 工具脱壳FRIDA-DEXDumpFRIDA-DEXDump确实很轻松就拿到了dex文件,可惜文件数据有异常,无法正常打开分析。frida-fart通过frida-fart同样很轻松的拿到了dex文件,以首屏SplashActivity为例进行分析。jadx可以正常打开,但里面的函数都是nop。Fart脱壳机镜像pixel刷入Fart脱壳机镜像,运行后在/sdcard/fart原创 2021-04-05 20:24:32 · 2942 阅读 · 0 评论 -
Android逆向:通过Xposed解密柠某直播本地数据
声明:案例分析仅供学习交流使用,勿用于任何非法用途。如学习者进一步逆向并对版权方造成损失,请自行承担法律后果,本人概不负责。简介很多软件在保护文件安全、用户隐私时,都会对本地文件数据进行加密处理。本次逆向的apk就对关键数据进行了加密,并对加解密代码提供了一定程度的保护。 目标写一个小工具解密数据。 逆向流程首先从data目录找到文件:data2.8.0。内容是经过加密的。...原创 2020-11-08 11:27:17 · 985 阅读 · 2 评论 -
Android逆向:9某某ds本地加密JavaScript文件逆向分析
简介本次逆向的apk拥有较为简单的加固和JavaScript源码加密,分析起来并不困难,旨在分享心得——当逆向分析遇到“死胡同”的时候,换个思路也许能拨云见日。 目标获取apk中有关“91kds播放逻辑”的信息。 逆向流程首先用jadx分析apk文件,发现其拥有360加固。尝试使用drizzleDumper获取内存中真正的dex,成功。再次用jadx分析真正的dex,没有找到与字符串“91kds”相关的有用信息,陷入僵局。 突破口——JavaScri原创 2020-09-22 01:50:04 · 1602 阅读 · 0 评论 -
Android逆向:某鹰直播Lua脚本解密
简介Lua是一种小巧的脚本语言,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数。几乎在所有操作系统和平台上都可以编译、运行。市面上很多流行的手游就是采用Lua编写关键代码。Lua、Luac、LuaJITLua、Luac、LuaJIT是平时较为常见的Lua文件类型,其中lua是明文代码,直接用记事本就能打开,luac是lua编译后的字节码,文件头为0x1B 0x4C 0x75 0x61原创 2020-09-20 12:49:50 · 3986 阅读 · 0 评论 -
Android逆向:虎某直播so中接口校验参数分析
声明:案例分析仅供学习交流使用,勿用于任何非法用途。如学习者进一步逆向并对版权方造成损失,请自行承担法律后果,本人概不负责。简介我们日常见到的接口多半是【http:www.xxx.com/aa=1&bb=2&cc=aaa】形式,该形式的接口很容易被别有用心的人篡改、尝试参数。为了防止此类情况发生,很多开发者会用地址中的参数、常量等生成一个字段来验证地址的合法性。本次逆向的apk接口就拥有校验字段,并且生成规则放置在了so文件中。 目标逆向apk接口校验字段的生成规则,.原创 2020-08-31 22:30:55 · 556 阅读 · 0 评论 -
Android逆向:某薇直播通过ClassLoader加载的jar包解密
声明:案例分析仅供学习交流使用,勿用于任何非法用途。如学习者进一步逆向并对版权方造成损失,请自行承担法律后果,本人概不负责。简介热修复和插件化是目前比较热门的技术,它们都是通过ClassLoader来查找和加载Class文件到虚拟机来实现的。本次逆向的apk就是基于这种技术来加载关键代码的。 目标破解ClassLoader动态加载的流程,拿到关键代码。 逆向流程首先对apk的本体包反编译,并没有查到与播放有关的逻辑,尝试查看本地文件,里面有个android.jar是被.原创 2020-08-29 00:05:32 · 1815 阅读 · 0 评论
分享