LeetCode 146. LRU 缓存
记录cpu降压限制功率和显卡限频超频cpu降压作用:解决13代14代的英特尔cpu待机电压高,容易缩缸,导致cpu寿命只有两三年的问题
1.windows的电源模式使用平衡模式,高性能模式cpu核心会经常请求它能请求到的最高电压,待机都能达到1.5V以上。
2.我的天选bios功能少,用不了XTU,暂时不知道怎么解决,只能在bios把核心电压偏移量调为-80mV
cpu限制功率限制为40W,性能比100W最高性能下降约30%。
这里用的GHelper开源软件。
显卡限频超频降低频率上限,提高核心频率偏移量,功耗降低40W左右,最高性能下降12%左右
LeetCode 146. LRU 缓存
LeetCode 146. LRU 缓存题目123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990class LRUCache{ //HashMap的value 双向链表维护LRU class Node { int key, value; Node l, r; public Node(int key, int value) { this.key = key; this.value = value; } public Node(){} } //size当前大小,capacity总容量 priv ...
js逆向-某省公共资源交易平台(头部加密)
js逆向-某省公共资源交易平台(头部加密)声明:本文仅供学习交流,请勿暴力爬取数据,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
网站抓包 -> 测试能否请求请求头中有加密参数
1234x-dgi-req-app:ggzy-portalx-dgi-req-nonce:r2jEe2MRLPliMvi9x-dgi-req-signature:f7427ad322e3dba49bb28154d20876ef7e37b082fceb06ba944e1018dee207ebx-dgi-req-timestamp:1726214333104
路径XHR断点 -> 跟栈找到加密参数进入函数h[d++]
1c = c.then(h[d++], h[d++]);
目标函数
123456789101112131415161718192021222324252627282930313233343536373839404142434445function u(o) { _o.inc(); const r = dr() , {params ...
js逆向-产业政策大数据平台(调试保护,进制流参数加密, webpack)
js逆向-产业政策大数据平台(调试保护,进制流参数加密, webpack)声明:本文仅供学习交流,请勿暴力爬取数据,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
网站
调试保护进入开发者工具,直接绕过内存溢出进行控制台hook注入
1234567Function.prototype.constructor_ = Function.prototype.constructor;Function.prototype.constructor = function(a) { if (a == "debugger") { return function (){}; } return Function.prototype.constructor_(a);}
抓包切换标签页抓包负载2"*28@HP使用了进制流加密
定位加密位置和未加密的参数查看请求调用堆栈,断点调试,调用堆栈中data已被加密说明data在异步请求中被加密在异步请求中找到加密前的参 ...
绕过网站调试保护限制
绕过网站调试保护限制禁用右键,F12浏览器窗口 -> 更多 -> 更多工具 -> 开发人员工具
自动进入Debug模式,且debug内容为空12(function() {} ["constructor"]("debugger")())
像素检测网站检测终端窗口和网页窗口的像素差异
12345678910111213141516171819202122232425262728293031323334353637383940var debugflag = false;document.onkeydown = function() { if ((e.ctrlKey) && (e.keyCode == 83)) { alert("检测到非法调试,CTRL + S被管理员禁用"); return false; }}document.onkeydown = function() { var e = wi ...
标准化爬虫,接口验证
标准化爬虫,接口验证目标网站
不确定请求头,不确定请求体格式,进行接口验证,标准化爬虫
找到数据接口(XHR抓包搜索)
用接口的路径断点调试,找到请求对象的发送位置
补充请求头,更改data…
123456789101112import requestsheaders = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36", "Accept": "application/json, text/plain, */*", "Content-Type": "application/json;charset=utf-8", "X-Requested-With": "X ...
爬虫js逆向定位技巧
爬虫js逆向定位技巧响应的数据为密文,在本地进行解密
使用了标准的加密方法,如AES、RSA等,例子:AES.decrypt(, aaa.decrypt(搜decrypt(
使用了自定义的加密方法搜索关键字,关键参数
关键字很泛,也不使用标准算法加密因前后端通信一般使用json格式搜索Json.parse(格式1: Json.parse(解密函数(密文))格式2: a = 解密函数(密文);Json.parse(a)解密函数不能是内置函数
用请求URL的路径定位例子:https://webapi.cninfo.com.cn/api/sysapi/p_sysapi1007,用api/sysapi/p_sysapi1007定位到js文件
可能用了时间加密,搜new Date, Date.now等
Pyppeteer使用
Pyppeteer使用简单实例12345678910111213141516171819202122232425262728293031323334353637import asynciofrom lxml import etreefrom pyppeteer.launcher import launchasync def main(): # 启动浏览器 # headless是否无头 # devtools是否开调试 # userDataDir指定用户数据目录,保存cookie等信息 browser = await launch(headless=False, devtools=False, userDataDir='./userdata', args=['--disable-infobars']) # 打开网页 page = await browser.newPage() # 防止被检测 await page.evaluateOnNewDocument('Object.defineP ...
python使用MongoDB
python使用MongoDB12345678910111213from pymongo import MongoClient# ip,端口client = MongoClient('localhost', 27017)# 数据库testdb = client['test']# 对数据库test的users集合进行操作db['users'].insert_one({'name': 'John', 'age': 30})print(db['users'].find_one())client.close()
异步爬虫
异步爬虫异步基础123456789101112131415161718192021222324import asyncioimport time#设置事件循环策略,默认策略可能报错RuntimeError: Event loop is closedasyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())#异步协程函数async def fn(x): #所有耗时操作都要await挂起,暂停当前协程函数,控制权给事件循环 await asyncio.sleep(x)async def main(): #任务列表 tasks = [] for i in range(1, 4): #create_task将协程对象包装成任务 tasks.append(asyncio.create_task(fn(i))) await asyncio.wait(tasks)if __name__ == "__main__": start_ ...