自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 吾爱破解2023安卓中级题

关键是要让代码跳转到这里,我这里主要是修改smali,然后重新签名打包,当然,你也可以用。仔细想想,图片就是二进制数据,也就是 byte,能不能用python来拆呢?拿第二个PNG,因为第一个其实就是上面那张表情包,第二个才是隐藏的图片,相当于被覆盖了。过了这个,但还是啥都没有,只跳出一句话,再看源码,注意到两处可疑的地方。也就是上面那张表情包,其实是两张图片拼凑而成,大佬们推荐的是用。这里可以确定加密算法是AES,模式是ECB,填充是PKCS7,然后,修改上面的两个if判断,重新打包,跳转成功。

2023-02-12 15:47:45 719 1

原创 吾爱破解2023春节解题领红包--两道Android逆向初级题

像第一题一样,使用开发者助手定位Activity,这里就不赘述了,直接上jadx-gui静态分析。这里由于涉及到的算法比较多,抠的话很费事(我比较懒 👻)就直接上frida了,只要hook一下。在jadx-gui中,根据包名和类名定位代码,抠出来修改一下,放到。主要的判断逻辑在这里,其实就是将uid和flag传给。参数2就是flag了,顺利过关 ✨。使用开发者助手分析界面资源。函数的返回结果是比较两个值。上运行,得到flag。

2023-01-25 21:28:23 1666 13

原创 爬虫逆向之字体反爬(二)、镀金的天空-字体反爬-2

趁热打铁来写字体反爬的第二篇,首先是题目网页上显示的不是常规的数字,源码里面也是一些汉字所以这里的解题思路,也是先找到这些汉字的映射表还是像第一题那样,把网页里面的保存成本地的,然后打开查看:这里不再是像第一题的英文单词,而是uni601D这样形似 unicode 编码的,解码一下试试是一种编码集,类似utf-8,这种编码集直接将unicode内存编码存储进。参考:https://blog.csdn.net/qq_40728667/article/details/122282693。

2023-01-12 14:39:16 896

原创 爬虫逆向之字体反爬(一)、镀金的天空-字体反爬-1

写一下之前处理过的几个字体反爬实战,也是很常见的一种反爬类型,这是第一篇先来看一下题目源码拿到的数字,和实际显示在网页的数字,明显不一样的注意到两个现象ttf字体文件122277226773所以这里的解题思路就是,解析ttf文件,得到数字之间的映射关系,然后结合网页源码提取到的数字,就能获取真实的数字了作者已经提示,ttf文件内嵌在源码的base64中复制那一大串字符,进行解码,然后保存成使用专门的字体查看工具打开文件,这里我使用的是接下来就是要怎么拿到这些映射关系了?

2023-01-10 17:47:49 754

原创 WASM进阶-猿人学第二十题

加密步骤其实只有这一步,len0 就是 content 的长度,下面几步是从内存中获取值,进入到 wasm 内部查看 sign函数。文件地址:https://match.yuanrenxue.com/api/match20/wasm。此时发现 content 长度发生变化,看一下长度,大概是经过了md5加密,那就先来看一下明文是啥?就是在 content 加了一段盐值,经过多次调试发现,盐值不变。一直往下滑,直到看到 md5 字样,然后再次进入函数内部。没办法,只能硬着头皮去肝wasm源码了,先上一段。

2022-12-19 17:12:21 742

原创 B站弹幕文件protobuf协议的逆向和还原

目标是的数据还原,随便打开一个视频,直接三连能看到真实文本,但也有一些乱码,看一下参考可知,这是一个文件,但浏览器也不知道如何处理算了,直接google 就可知,这是一个,坏处也显而易见,就是使用麻烦!!!配置和原理的话,跟着这两篇博客走就行,注意把 protoc.exe 配置到环境变量。

2022-10-21 23:15:37 3180

原创 python爬虫开发 urlparse、parse_qs、urlencode、quote、unquote、urljoin 用法总结

这个模块在爬虫开发过程中使用地频率非常高,这里总结了一些常用用法。

2022-10-11 15:52:59 638

原创 Python执行Java代码的两种方式

这里我们使用 jpype 进行调用,pypi的介绍如下:JPype是一个Python模块,在Python中提供对Java的完全访问。它允许Python只利用Java库,探索和可视化Java结构,开发和测试Java库,科学计算,以及更多。通过获得使用Python进行快速原型开发和使用Java进行强类型生产代码的两个世界的最佳效果,JPype为工程和代码开发提供了一个强大的环境。这不是通过重新实现Python来实现的,就像Jython所做的那样,而是通过在两个虚拟机的原生水平上进行接口。

2022-10-10 01:58:15 3281 1

原创 猿人学-APP大赛-第一题-Frida初试、调用Java代码

参考:https://www.cnblogs.com/JKding233/p/16649489.html 原理就不多介绍了,主要是把sign函数暴露出来。进入 sign 函数内部,只引入了一个依赖,可以考虑扣 java代码,觉得麻烦的话就直接用rpc,这里两个方案的实现都写一下。参考:https://mp.weixin.qq.com/s/NCAVgqICxDjNIIGeaqs7bA。整个逆向过程花费的时间挺多的,不过总算搞懂了 frida的使用,以后要逆向其他的app就方便多了 😁✨👌。

2022-10-03 04:38:16 642

原创 python 匿名函数 lambda的使用

配合其他函数:filter,用于过滤列表元素sorted,用于排序列表元素map,把操作映射到列表的每个元素reduce,用于指定列表中两两相邻元素的结合条件

2022-06-01 20:04:28 126

原创 Python asyncio 基本使用、搭配多线程

【代码】Python asyncio 基本使用、搭配多线程。

2022-06-01 20:01:00 1185

原创 python html源码压缩,使用 lxml etree

用爬虫抓下来的html源码,一般都有很多 换行符和空格,如果相对这些空字符都去掉,也就是对源码做一个压缩,要怎么做呢?有人说可以直接用正则去替换import renew_txt = re.sub(r">\s+<", "><", text)但这样加入标签中有文本存在模式类似">\s+<" 的文本,原本的结构就被破坏了,因此最好不要用正则直接去修改 html 源码,很容易造成误差逛了一圈 stockflow,我找到一个方案,使用 lxml.etre.

2021-07-09 09:56:05 504

原创 Python url去除参数、分段,提取出纯链接

代码如下:from urllib.parse import urljoin, urlparseurl = 'http://example.com/cxs?name=cxs#age'urljoin(url, urlparse(url).path) >>> 'http://example.com/cxs'直接复制拿去用就行

2021-07-01 14:37:37 1723

原创 CSS选择器 first-child 和 first-of-type 区别

先来看一下需求:目标是提取出 68 这个总页数,我一开始用的是 first-childresponse.css("#toPage li:first-child::text").re_first(r"\d+")但是提取出来的是 None, 想了一下发现不对,form#toPage 的第一个子节点应该是 input,所以这里应该用的是 first-of-type 才对response.css("#toPage li:first-of-type::text").re_first(r"\d+

2021-06-23 10:54:35 100

原创 Pyppeteer使用代理IP(需要权限验证)

来源:https://github.com/pyppeteer/pyppeteer/issues/222

2021-06-21 11:33:21 2166 3

原创 模拟器使用Fiddler代理后,浏览器报错【该网站的安全证书有问题】解决方法

报错如下:一般是访问 https 的网站会报错,猜测是 https 证书未安装解决办法:在浏览器 【设置】- 【隐私与安全】- 【显示安全警告】 ,取消勾选就完事

2021-06-18 14:44:56 4184 3

原创 Python执行JS代码的三种方式

1. 使用 js2py基本操作:import js2py# 执行单行js语句js2py.eval_js("console.log(abcd)")>>> abcd# 执行js函数add = js2py.eval_js("function add(a, b) {return a + b};")print(add(1,2))>>> 3# 另一种方式js = js2py.EvalJs({})js.execute("js语句")骚操作一:.

2020-12-06 20:48:36 12412 3

原创 Python Image库 - 基本操作

from PIL import Imageimg = Image.open("") # 打开图像img = Image.new(mode: "RGB", (width, height)) # 新建图片对象img.getpixel((0, 0)) # 获取坐标值rgb值img.putpixel((0, 0), (r, g, b)) # 设置坐标像素值img.convert('1') # 二值化img.convert('L') # 灰度图像img.convert('P') #...

2020-12-01 00:01:37 3083 1

原创 使用os.urandom生成随机密钥

刚才在翻flask文档的时候,读到session那一段:如何生成一个好的密钥生成随机数的关键在于一个好的随机种子,因此一个好的密钥应当有足够的随机性。 操作系统可以有多种方式基于密码随机生成器来生成随机数据。使用下面的命令 可以快捷的为Flask.secret_key( 或者SECRET_KEY)生成值:import os;print(os.urandom(16))>>> b'_5#y2L"F4Q8z\n\xec]/'再结合 binascii 库,可以...

2020-11-22 19:36:38 918

原创 爬虫工程师xpath、css选择器 实用技巧总结

HTML文本转DOM树的两种方式1、使用lxml.etreefrom lxml import etreehtml = etree.HTML(html_text)html.xpath("//div[@class='tabslider']/ul")2、使用scrapy团队开源的parsel库(推荐)Parsel官方文档from parsel import Selector# 构建DOM树html = Selector(text=html_text or xml_text)

2020-11-22 12:16:21 1105

原创 Unicode基本汉字、部首扩展、康熙部首对照

Unicode基本汉字、部首扩展、康熙部首对照字典基本汉字,unicode编码范围:4E00-9FA5康熙部首,unicode编码范围:2F00-2FD5扩展部首,unicode编码范围:2E80-2EF3unicode中文字符集中存在两个极为相似的汉字但编码不同的情况,主要是因为康熙部首和扩展部首中存在和基本汉字相似的汉字,如 :“⼀” 和 “一”,“⼄” 和 “乙”,“⼆” ...

2020-03-25 21:03:37 4767 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除