当前位置: 首页 > news >正文

BUUCTF Reverse/[羊城杯 2020]login(python程序)

查看信息,python文件

在这里插入图片描述

动调了一下,该程序创建了一个线程来读入数据,而这个线程的代码应该是放在内存中直接执行的,本地看不到代码,很蛋疼

查了下可以用PyInstaller Extractor工具来解包,可以参考这个Python解包及反编译: PyInstaller Extractor+uncompyle6

在这里插入图片描述

解码完成后用16进制编辑器打开,如010,将login.pyc中的第一行替换为struct.pyc的第一行,然后找个在线pyc反编译

#! /usr/bin/env python 3.6 (3379)
#coding=utf-8
# Compiled at: 1995-09-27 11:18:56
#Powered by BugScaner
#http://tools.bugscaner.com/
#如果觉得不错,请分享给你朋友使用吧!
import sys
input1 = input('input something:')
if len(input1) != 14:print('Wrong length!')sys.exit()
code = []
for i in range(13):code.append(ord(input1[i]) ^ ord(input1[i + 1]))code.append(ord(input1[13]))
a1 = code[2]
a2 = code[1]
a3 = code[0]
a4 = code[3]
a5 = code[4]
a6 = code[5]
a7 = code[6]
a8 = code[7]
a9 = code[9]
a10 = code[8]
a11 = code[10]
a12 = code[11]
a13 = code[12]
a14 = code[13]
if (a1 * 88 + a2 * 67 + a3 * 65 - a4 * 5 + a5 * 43 + a6 * 89 + a7 * 25 + a8 * 13 - a9 * 36 + a10 * 15 + a11 * 11 + a12 * 47 - a13 * 60 + a14 * 29 == 22748) & (a1 * 89 + a2 * 7 + a3 * 12 - a4 * 25 + a5 * 41 + a6 * 23 + a7 * 20 - a8 * 66 + a9 * 31 + a10 * 8 + a11 * 2 - a12 * 41 - a13 * 39 + a14 * 17 == 7258) & (a1 * 28 + a2 * 35 + a3 * 16 - a4 * 65 + a5 * 53 + a6 * 39 + a7 * 27 + a8 * 15 - a9 * 33 + a10 * 13 + a11 * 101 + a12 * 90 - a13 * 34 + a14 * 23 == 26190) & (a1 * 23 + a2 * 34 + a3 * 35 - a4 * 59 + a5 * 49 + a6 * 81 + a7 * 25 + (a8 << 7) - a9 * 32 + a10 * 75 + a11 * 81 + a12 * 47 - a13 * 60 + a14 * 29 == 37136) & (a1 * 38 + a2 * 97 + a3 * 35 - a4 * 52 + a5 * 42 + a6 * 79 + a7 * 90 + a8 * 23 - a9 * 36 + a10 * 57 + a11 * 81 + a12 * 42 - a13 * 62 - a14 * 11 == 27915) & (a1 * 22 + a2 * 27 + a3 * 35 - a4 * 45 + a5 * 47 + a6 * 49 + a7 * 29 + a8 * 18 - a9 * 26 + a10 * 35 + a11 * 41 + a12 * 40 - a13 * 61 + a14 * 28 == 17298) & (a1 * 12 + a2 * 45 + a3 * 35 - a4 * 9 - a5 * 42 + a6 * 86 + a7 * 23 + a8 * 85 - a9 * 47 + a10 * 34 + a11 * 76 + a12 * 43 - a13 * 44 + a14 * 65 == 19875) & (a1 * 79 + a2 * 62 + a3 * 35 - a4 * 85 + a5 * 33 + a6 * 79 + a7 * 86 + a8 * 14 - a9 * 30 + a10 * 25 + a11 * 11 + a12 * 57 - a13 * 50 - a14 * 9 == 22784) & (a1 * 8 + a2 * 6 + a3 * 64 - a4 * 85 + a5 * 73 + a6 * 29 + a7 * 2 + a8 * 23 - a9 * 36 + a10 * 5 + a11 * 2 + a12 * 47 - a13 * 64 + a14 * 27 == 9710) & (a1 * 67 - a2 * 68 + a3 * 68 - a4 * 51 - a5 * 43 + a6 * 81 + a7 * 22 - a8 * 12 - a9 * 38 + a10 * 75 + a11 * 41 + a12 * 27 - a13 * 52 + a14 * 31 == 13376) & (a1 * 85 + a2 * 63 + a3 * 5 - a4 * 51 + a5 * 44 + a6 * 36 + a7 * 28 + a8 * 15 - a9 * 6 + a10 * 45 + a11 * 31 + a12 * 7 - a13 * 67 + a14 * 78 == 24065) & (a1 * 47 + a2 * 64 + a3 * 66 - a4 * 5 + a5 * 43 + a6 * 112 + a7 * 25 + a8 * 13 - a9 * 35 + a10 * 95 + a11 * 21 + a12 * 43 - a13 * 61 + a14 * 20 == 27687) & (a1 * 89 + a2 * 67 + a3 * 85 - a4 * 25 + a5 * 49 + a6 * 89 + a7 * 23 + a8 * 56 - a9 * 92 + a10 * 14 + a11 * 89 + a12 * 47 - a13 * 61 - a14 * 29 == 29250) & (a1 * 95 + a2 * 34 + a3 * 62 - a4 * 9 - a5 * 43 + a6 * 83 + a7 * 25 + a8 * 12 - a9 * 36 + a10 * 16 + a11 * 51 + a12 * 47 - a13 * 60 - a14 * 24 == 15317):print('flag is GWHT{md5(your_input)}')print('Congratulations and have fun!')
else:print('Sorry,plz try again...')

随便用个word做个替换,将a1-a14替换成code[]这样z3变量命名方便点

替换完成后是这样的

code[2] * 88 + code[1] * 67 + code[0] * 65 - code[3] * 5 + code[4] * 43 + code[5] * 89 + code[6] * 25 + code[7] * 13 - code[9] * 36 + code[8] * 15 + code[10] * 11 + code[11] * 47 - code[12] * 60 + code[13] * 29 == 22748
code[2] * 89 + code[1] * 7 + code[0] * 12 - code[3] * 25 + code[4] * 41 + code[5] * 23 + code[6] * 20 - code[7] * 66 + code[9] * 31 + code[8] * 8 + code[10] * 2 - code[11] * 41 - code[12] * 39 + code[13] * 17 == 7258
code[2] * 28 + code[1] * 35 + code[0] * 16 - code[3] * 65 + code[4] * 53 + code[5] * 39 + code[6] * 27 + code[7] * 15 - code[9] * 33 + code[8] * 13 + code[10] * 101 + code[11] * 90 - code[12] * 34 + code[13] * 23 == 26190
code[2] * 23 + code[1] * 34 + code[0] * 35 - code[3] * 59 + code[4] * 49 + code[5] * 81 + code[6] * 25 + (code[7] << 7) - code[9] * 32 + code[8] * 75 + code[10] * 81 + code[11] * 47 - code[12] * 60 + code[13] * 29 == 37136
code[2] * 38 + code[1] * 97 + code[0] * 35 - code[3] * 52 + code[4] * 42 + code[5] * 79 + code[6] * 90 + code[7] * 23 - code[9] * 36 + code[8] * 57 + code[10] * 81 + code[11] * 42 - code[12] * 62 - code[13] * 11 == 27915
code[2] * 22 + code[1] * 27 + code[0] * 35 - code[3] * 45 + code[4] * 47 + code[5] * 49 + code[6] * 29 + code[7] * 18 - code[9] * 26 + code[8] * 35 + code[10] * 41 + code[11] * 40 - code[12] * 61 + code[13] * 28 == 17298
code[2] * 12 + code[1] * 45 + code[0] * 35 - code[3] * 9 - code[4] * 42 + code[5] * 86 + code[6] * 23 + code[7] * 85 - code[9] * 47 + code[8] * 34 + code[10] * 76 + code[11] * 43 - code[12] * 44 + code[13] * 65 == 19875
code[2] * 79 + code[1] * 62 + code[0] * 35 - code[3] * 85 + code[4] * 33 + code[5] * 79 + code[6] * 86 + code[7] * 14 - code[9] * 30 + code[8] * 25 + code[10] * 11 + code[11] * 57 - code[12] * 50 - code[13] * 9 == 22784
code[2] * 8 + code[1] * 6 + code[0] * 64 - code[3] * 85 + code[4] * 73 + code[5] * 29 + code[6] * 2 + code[7] * 23 - code[9] * 36 + code[8] * 5 + code[10] * 2 + code[11] * 47 - code[12] * 64 + code[13] * 27 == 9710
code[2] * 67 - code[1] * 68 + code[0] * 68 - code[3] * 51 - code[4] * 43 + code[5] * 81 + code[6] * 22 - code[7] * 12 - code[9] * 38 + code[8] * 75 + code[10] * 41 + code[11] * 27 - code[12] * 52 + code[13] * 31 == 13376
code[2] * 85 + code[1] * 63 + code[0] * 5 - code[3] * 51 + code[4] * 44 + code[5] * 36 + code[6] * 28 + code[7] * 15 - code[9] * 6 + code[8] * 45 + code[10] * 31 + code[11] * 7 - code[12] * 67 + code[13] * 78 == 24065
code[2] * 47 + code[1] * 64 + code[0] * 66 - code[3] * 5 + code[4] * 43 + code[5] * 112 + code[6] * 25 + code[7] * 13 - code[9] * 35 + code[8] * 95 + code[10] * 21 + code[11] * 43 - code[12] * 61 + code[13] * 20 == 27687
code[2] * 89 + code[1] * 67 + code[0] * 85 - code[3] * 25 + code[4] * 49 + code[5] * 89 + code[6] * 23 + code[7] * 56 - code[9] * 92 + code[8] * 14 + code[10] * 89 + code[11] * 47 - code[12] * 61 - code[13] * 29 == 29250
code[2] * 95 + code[1] * 34 + code[0] * 62 - code[3] * 9 - code[4] * 43 + code[5] * 83 + code[6] * 25 + code[7] * 12 - code[9] * 36 + code[8] * 16 + code[10] * 51 + code[11] * 47 - code[12] * 60 - code[13] * 24 == 15317

解题脚本

from z3 import *
import hashlibs = Solver()code = [Int((b'code%d'% i)) for i in range(14) ]s.add(code[2] * 88 + code[1] * 67 + code[0] * 65 - code[3] * 5 + code[4] * 43 + code[5] * 89 + code[6] * 25 + code[7] * 13 - code[9] * 36 + code[8] * 15 + code[10] * 11 + code[11] * 47 - code[12] * 60 + code[13] * 29 == 22748)
s.add(code[2] * 89 + code[1] * 7 + code[0] * 12 - code[3] * 25 + code[4] * 41 + code[5] * 23 + code[6] * 20 - code[7] * 66 + code[9] * 31 + code[8] * 8 + code[10] * 2 - code[11] * 41 - code[12] * 39 + code[13] * 17 == 7258)
s.add(code[2] * 28 + code[1] * 35 + code[0] * 16 - code[3] * 65 + code[4] * 53 + code[5] * 39 + code[6] * 27 + code[7] * 15 - code[9] * 33 + code[8] * 13 + code[10] * 101 + code[11] * 90 - code[12] * 34 + code[13] * 23 == 26190)
s.add(code[2] * 23 + code[1] * 34 + code[0] * 35 - code[3] * 59 + code[4] * 49 + code[5] * 81 + code[6] * 25 + (code[7] * 128) - code[9] * 32 + code[8] * 75 + code[10] * 81 + code[11] * 47 - code[12] * 60 + code[13] * 29 == 37136)
s.add(code[2] * 38 + code[1] * 97 + code[0] * 35 - code[3] * 52 + code[4] * 42 + code[5] * 79 + code[6] * 90 + code[7] * 23 - code[9] * 36 + code[8] * 57 + code[10] * 81 + code[11] * 42 - code[12] * 62 - code[13] * 11 == 27915)
s.add(code[2] * 22 + code[1] * 27 + code[0] * 35 - code[3] * 45 + code[4] * 47 + code[5] * 49 + code[6] * 29 + code[7] * 18 - code[9] * 26 + code[8] * 35 + code[10] * 41 + code[11] * 40 - code[12] * 61 + code[13] * 28 == 17298)
s.add(code[2] * 12 + code[1] * 45 + code[0] * 35 - code[3] * 9 - code[4] * 42 + code[5] * 86 + code[6] * 23 + code[7] * 85 - code[9] * 47 + code[8] * 34 + code[10] * 76 + code[11] * 43 - code[12] * 44 + code[13] * 65 == 19875)
s.add(code[2] * 79 + code[1] * 62 + code[0] * 35 - code[3] * 85 + code[4] * 33 + code[5] * 79 + code[6] * 86 + code[7] * 14 - code[9] * 30 + code[8] * 25 + code[10] * 11 + code[11] * 57 - code[12] * 50 - code[13] * 9 == 22784)
s.add(code[2] * 8 + code[1] * 6 + code[0] * 64 - code[3] * 85 + code[4] * 73 + code[5] * 29 + code[6] * 2 + code[7] * 23 - code[9] * 36 + code[8] * 5 + code[10] * 2 + code[11] * 47 - code[12] * 64 + code[13] * 27 == 9710)
s.add(code[2] * 67 - code[1] * 68 + code[0] * 68 - code[3] * 51 - code[4] * 43 + code[5] * 81 + code[6] * 22 - code[7] * 12 - code[9] * 38 + code[8] * 75 + code[10] * 41 + code[11] * 27 - code[12] * 52 + code[13] * 31 == 13376)
s.add(code[2] * 85 + code[1] * 63 + code[0] * 5 - code[3] * 51 + code[4] * 44 + code[5] * 36 + code[6] * 28 + code[7] * 15 - code[9] * 6 + code[8] * 45 + code[10] * 31 + code[11] * 7 - code[12] * 67 + code[13] * 78 == 24065)
s.add(code[2] * 47 + code[1] * 64 + code[0] * 66 - code[3] * 5 + code[4] * 43 + code[5] * 112 + code[6] * 25 + code[7] * 13 - code[9] * 35 + code[8] * 95 + code[10] * 21 + code[11] * 43 - code[12] * 61 + code[13] * 20 == 27687)
s.add(code[2] * 89 + code[1] * 67 + code[0] * 85 - code[3] * 25 + code[4] * 49 + code[5] * 89 + code[6] * 23 + code[7] * 56 - code[9] * 92 + code[8] * 14 + code[10] * 89 + code[11] * 47 - code[12] * 61 - code[13] * 29 == 29250)
s.add(code[2] * 95 + code[1] * 34 + code[0] * 62 - code[3] * 9 - code[4] * 43 + code[5] * 83 + code[6] * 25 + code[7] * 12 - code[9] * 36 + code[8] * 16 + code[10] * 51 + code[11] * 47 - code[12] * 60 - code[13] * 24 == 15317)s.check()
m = s.model()
flag = [int(str(m[code[i]])) for i in range(14)]print(flag)for i in range(12,-1,-1):flag[i] = flag[i] ^ flag[i+1]for i in range(14):print(chr(flag[i]),end='')print(hashlib.md5(bytes(flag)).hexdigest())

结果,最终flag: flag{58964088b637e50d3a22b9510c1d1ef8}

[10, 24, 119, 7, 104, 43, 28, 91, 108, 52, 88, 74, 88, 33]
U_G07_th3_k3y!58964088b637e50d3a22b9510c1d1ef8

相关文章:

BUUCTF Reverse/[羊城杯 2020]login(python程序)

查看信息,python文件 动调了一下&#xff0c;该程序创建了一个线程来读入数据&#xff0c;而这个线程的代码应该是放在内存中直接执行的&#xff0c;本地看不到代码&#xff0c;很蛋疼 查了下可以用PyInstaller Extractor工具来解包&#xff0c;可以参考这个Python解包及反编译…...

indexDB localForage

一、前言 前端本地化存储算是一个老生常谈的话题了&#xff0c;我们对于 cookies、Web Storage&#xff08;sessionStorage、localStorage&#xff09;的使用已经非常熟悉&#xff0c;在面试与实际操作之中也会经常遇到相关的问题&#xff0c;但这些本地化存储的方式还存在一些…...

Spring Boot开发时Java对象和Json对象互转

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开兴好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…...

C++ 多态

引例&#xff1a; #include<iostream> using namespace std; class Animal { public:void speak(){cout<<"动物在说话"<<endl;} }; class Cat:public Animal { public:void speak(){cout<<"小猫在说话"<<endl;} }; void Do…...

LeetCode 之 二分查找

网址&#xff1a; LeetCode 704.二分查找 算法模拟&#xff1a; Algorithm Visualizer 在线工具&#xff1a; C 在线工具 如果习惯性使用Visual Studio Code进行编译运行&#xff0c;需要C11特性的支持&#xff0c;可参考博客&#xff1a; VisualStudio Code 支持C11插件配…...

【性能测试】中间件优化

1、Tomcat 优化连接数、线程池 打开tomcat安装目录\conf\server.xml文件&#xff0c;在server.xml中 有以下配置&#xff1a; tomcat HTTP/1.1 <Connector port"8080" protocol"HTTP/1.1" maxThreads"1000" acceptCount"1500" c…...

【算法】查找类——二分查找算法

二分查找算法算法总结 算法描述 该算法属于查找算法。当需要从有序数组中查找某一元素时&#xff0c;可以使用该算法进行查找。&#xff08;本文章假设数组是升序排列的数组&#xff09; 算法思想 每次进行对半查找&#xff0c;获取中间元素值&#xff0c;然后与目标值进行…...

Ansible FIle模块,使用Ansible File模块进行文件管理

当使用 Ansible 进行自动化配置和管理时&#xff0c;file 模块是一个强大的工具&#xff0c;用于在目标主机上创建、修改和删除文件和目录。它提供了一种简单而灵活的方式来处理文件系统操作。在本文中&#xff0c;我们将详细介绍如何使用 Ansible 的 file 模块。 1. 创建文件 …...

索尼mp4变成rsv修复案例(ILME-FX3)

索尼mp4的修复案例讲过很多&#xff0c;这次是索尼的ILME-FX3也算是一个畅销的机型&#xff0c;一般索尼没有封装的文件是RSV文件&#xff0c;但是极少遇到有多个RSV文件的&#xff0c;下边我们来讲下这个特殊案例。 故障文件:4个RSV文件&#xff0c;大小在1.78G~28G多 故障现…...

抓拍摄像机开关量控制4K高清手机远程看图建筑生长定时缩时相机

作为物联网数据采集解决方案专业提供商,数采物联网小编daq-iot 在这里做以下内容介绍,并诚挚的欢迎大家讨论和交流。 项目案例参考视频&#xff1a; https://www.bilibili.com/video/BV1Kp4y1T7wQ/?spm_id_from333.999.0.0 4K高清太阳能供电定时拍照相机&#xff0c;通过光…...

c++使用http请求-drogon框架

创建drogon框架 drogon_ctl create project test_ctrl添加一个控制器 进入controllers目录下 drogon_ctl create controller -h check_ctrl编写主函数 #include <drogon/drogon.h> int main() {//Set HTTP listener address and port//drogon::app().addListener("…...

幼儿棒球运动宣传介绍·野球6号位

幼儿棒球运动宣传介绍 1. 棒球对幼儿成长的重要性 棒球运动对幼儿协调能力和团队协作的培养 棒球运动对幼儿协调能力和团队协作的培养非常重要。通过棒球运动&#xff0c;孩子们可以学习如何与队友合作&#xff0c;如何在压力下保持冷静&#xff0c;以及如何快速做出决策。这…...

grpc多语言通信之GO和DART

都是一个吗生的,找下例子 上一篇文章说到go实现的grpc方法已经实现了一个grpc的server端, 注意: 这两个项目的.proto文件应当是完全一致的,只是方法用各自的语言实现罢了 报错了: Caught error: gRPC Error (code: 12, codeName: UNIMPLEMENTED, message: grpc: Decompresso…...

基于FPGA的RGB图像转Ycbcr实现,包括tb测试文件以及MATLAB辅助验证

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 将FPGA的数据导入到matlab进行显示 2.算法运行软件版本 Vivado2019.2 matlab2022a 3.部分核心程序 timescale 1ns / 1ps // // Company: // E…...

centos 编译安装的php多版本 切换

centos 编译安装的php多版本 切换 wheris php php: /usr/bin/php /usr/lib64/php /etc/php.ini /etc/php.d /usr/local/php /usr/local/php7.4 /usr/share/php /usr/share/man/man1/php.1.gz/usr/bin/php: php可执行脚本&#xff0c;任何版本的php 通过软连接到这可以实现全局…...

Unity 性能优化之Shader分析处理函数ShaderUtil.HasProceduralInstancing: 深入解析与实用案例

Unity 性能优化之Shader分析处理函数ShaderUtil.HasProceduralInstancing: 深入解析与实用案例 点击封面跳转到Unity国际版下载页面 简介 在Unity中&#xff0c;性能优化是游戏开发过程中非常重要的一环。其中&#xff0c;Shader的优化对于游戏的性能提升起着至关重要的作用。…...

2023数学建模国赛E题黄河水沙监测数据分析完整代码分析+处理结果+思路文档

已经写出国赛E题黄河水沙监测数据分析完整代码分析处理结果思路分析&#xff08;30页&#xff09;&#xff0c;包括数据预处理、数据可视化&#xff08;分组数据分布图可视化、相关系数热力图可视化、散点图可视化&#xff09;、回归模型&#xff08;决策树回归模型、随机森林回…...

玩转Mysql系列 - 第19篇:游标详解

这是Mysql系列第19篇。 环境&#xff1a;mysql5.7.25&#xff0c;cmd命令中进行演示。 代码中被[]包含的表示可选&#xff0c;|符号分开的表示可选其一。 需求背景 当我们需要对一个select的查询结果进行遍历处理的时候&#xff0c;如何实现呢&#xff1f; 此时我们需要使…...

【量化分析】Python 布林线( Bollinger)概念

一、说明 布林线(BOLL)&#xff0c;Bollinger Bands&#xff0c;利用统计原理&#xff0c;求出股价的标准差及其信赖区间&#xff0c;从而确定股价的波动范围及未来走势&#xff0c;利用波带显示股价的安全高低价位&#xff0c;因而也被称为布林带。 二、布林带基本概念 布林线…...

MySQL的权限管理与远程访问

MySQL的权限管理 1、授予权限 授权命令&#xff1a; grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名用户地址 identified by ‘连接口令’; 该权限如果发现没有该用户&#xff0c;则会直接新建一个用户。 比如 grant select,insert,delete,drop on atguigudb.…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...