20232831 袁思承2023-2024-2 《网络攻防实践》第8次作业

news2024/11/28 0:57:47

目录

  • 20232831 袁思承2023-2024-2 《网络攻防实践》第8次作业
    • 1.实验内容
    • 2.实验过程
      • 一、动手实践任务一
      • 二、动手实践任务二:分析Crackme程序
        • ①crackme1.exe
        • ②crackme2.exe
      • 三、分析实践任务一
      • 四、分析实践任务二
    • 3.学习中遇到的问题及解决
    • 4.学习感悟、思考等
    • 参考资料


20232831 袁思承2023-2024-2 《网络攻防实践》第8次作业

1.实验内容

一、动手实践任务一

对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:

(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?

二、动手实践任务二:分析Crackme程序

任务:在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息。

三、分析实践任务一

分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:

1、提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;

2、找出并解释这个二进制文件的目的;

3、识别并说明这个二进制文件所具有的不同特性;

4、识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;

5、对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;

6、给出过去已有的具有相似功能的其他工具;

7、可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?

四、分析实践任务二
Windows 2000系统被攻破并加入僵尸网络

任务:分析的数据源是用Snort工具收集的蜜罐主机5天的网络数据源,并通过编辑去除了一些不相关的流量并将其组合到了单独的一个二进制网络日志文件中,同时IP地址和其他特定敏感信息都已经被混淆以隐藏蜜罐主机的实际身份和位置。回答下列问题:

1、IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?

2、僵尸网络是什么?僵尸网络通常用于什么?

3、蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?

4、在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?

5、那些IP地址被用于攻击蜜罐主机?

6、攻击者尝试攻击了那些安全漏洞?

7、那些攻击成功了?是如何成功的?

2.实验过程

一、动手实践任务一

首先,将rada恶意代码的两个文件放入到WinXPattackr虚拟机下
在这里插入图片描述
Win+R,打开cmd,并使用以下命令,找到RaDa.exe文件,并先对RaDa.exe恶意代码文件进行分析,可以看到RaDa.exe文件
是PE32位类型的EXE可执行文件,且带有GUI界面,所处的系统架构为英特尔的80386系列,所处的系统为32位Windows。

cd 桌面
file RaDa.exe

在这里插入图片描述输入以下命令,进行RaDa.exe文件恶意代码字符串的查看,可以看到输出的字符串为一堆乱码,猜测是因为加壳的原因。此外,最后面出现了几个dll文件的名称,查询发现均为Windows操作系统中重要的DLL动态链接库文件,还出现了一些调用的函数 等信息。

strings RaDa.exe

在这里插入图片描述
使用命令查看作者信息,能够发现是以下两个人的作品,脱壳后可以验证是否是这两人,且以下两种查看作者的命令弹出的信息一致:

rada --authors
RaDa.exe --authors

在这里插入图片描述
在这里插入图片描述
在WinXPattacker中寻找PEid工具,查看RaDa.exe的加壳信息,可以看到UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo内容,说明加的壳为即为此形式。
在这里插入图片描述
于是,使用WinXPattacker上自带的超级巡警脱壳工具进行脱壳,生成了一个脱壳后的unpacked的exe文件在桌面
在这里插入图片描述
再次使用strings查看字符串的命令,对脱壳后的文件RaDa_unpacked.exe进行字符串分析,可以发现大量的函数调用信息,但是仍然不够详细,需要反汇编来分析,字符串分析是不够的。
在这里插入图片描述
于是,使用IDA Pro Free,选择PE Exe对脱壳后文件RaDa_unpacked.exe进行反汇编分析,结果如下:
在这里插入图片描述
发现String界面仍然是与上述查看字符串的输出相同
在这里插入图片描述
因此,需要修改编码模式,在Sting窗口,右键,选择Setup,然后选Unicode改变编码格式,会发现一片新天地。
在这里插入图片描述
新天地如下:
在这里插入图片描述
找到作者信息
在这里插入图片描述
与上述命令RaDa.exe --authors查看的作者信息相同,均为Raul Siles & David Perez
试验结束!
在这里插入图片描述
回答问题如下:

(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
RaDa.exe文件是PE32位类型的EXE可执行文件,且带有GUI界面,所处的系统架构为英特尔的80386系列,所处的系统为32位Windows(即运行平台,Intel80386架构的32位Windows)。加壳工具为UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo
(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
见上述实验过程
(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?
作者为Raul Siles & David Perez

二、动手实践任务二:分析Crackme程序

任务:在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息。

①crackme1.exe

打开cmd,进入桌面后,直接输入crackme1.exe+某些指令,进行输入格式的试探

crackme1.exe
crackme1.exe 1
crackme1.exe 1 2
crackme1.exe open
crackme1.exe ysc

在这里插入图片描述
根据它的回复,缺少了输入内容或者是格式有问题,因此直接试探较为困难。于是,直接上工具IDA,与第一个实验一样,选择PE Exe新建一个分析界面,分析后打开如下:
在这里插入图片描述
打开String窗口,发现了它的回复总共有4条,但是上面测试只能发现两条,于是猜测没有出现的两条中,一条就是要寻找的特定输入,一条是对特定输入的回复,这里猜测I know the secret为密码,而另一条为密码正确的回复。
在这里插入图片描述
猜测是不够的,需要进一步探索:
点击打开IDA View窗口,在右上角菜单栏选择view—graphs—function calls,进行流程图的查看,找到它的输出,即printf,能够发现它属于sub_401280,其中sub_401280中的strcmp块就是使用字符串匹配密码的模块,我们来进行查看:
在这里插入图片描述
在这里插入图片描述
于是进行sub_401280块的代码查看:
在这里插入图片描述
再查看它的代码流程图,在Flow chart中查看:
在这里插入图片描述
可以看到,这里是一个条件分支。红色线条代表False,绿色代表True。
在这里插入图片描述
让我们着重读取这部分的汇编代码:

在这里插入图片描述
push offset alKnowTheSecret:"I know the secret"字符串的地址(偏移量)被推入到栈上。offset指令用于获取一个标签或数据的偏移量。
dword ptr [eax];char *:将eax寄存器中的值解释为一个指向char的指针,然后将栈上的地址存储到这个指针指向的内存位置。
call strcmp:调用字符串比较函数strcmp,用于比较两个字符串是否相等。

简单的说就说判断你是否输入“I know the secret”(要带双引号,因为反汇编代码中带了),如果是,就能走绿色分支,得到回复You know how to speak to programs

结束了判断,接下来进行实验,即在cmd中输入指定输入

crackme1.exe “I know the secret”

在这里插入图片描述
实验结束!

②crackme2.exe

实验与①中类似,便不作过多讲解,直接上代码和IDA的反汇编结果如下
crackme2.exe有5条回复
在这里插入图片描述

首先得找到printf所属于的那个代码块,仍然是sub_401280
在这里插入图片描述
查看反汇编代码(比较大)
在这里插入图片描述

着重分析分支语句部分的汇编代码
在这里插入图片描述
可以看到,它比crackme1.exe多了一个分支来判断是否输入正确,它先判断是否输入了“crackmeplease.exe”,再判断是否输入了”I know the secret“,因此是两个参数

由此,输入代码如下:

crackme2.exe “crackmeplease.exe” “I know the secret”

结果发现是错误的
在这里插入图片描述
再次阅读汇编代码,发现原来不是输入两个参数,是需要将第一个参数“crackmeplease.exe”作为文件的命名,即将crackme2.exe重命名为crackmeplease.exe,再输入第二个参数==“I know the secret==”

crackmeplease.exe “I know the secret”

在这里插入图片描述
成功获取指定输入,实验结束!

回答问题如下:

任务:在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息。
①crackme1.exe
特定的输入:crackme1.exe “I know the secret”
②crackme2.exe
特定的输入:crackmeplease.exe “I know the secret”

三、分析实践任务一

分析一个自制恶意代码样本rada,并撰写报告,回答问题:

分析具体内容如下:
使用以下命令进行MD5摘要的获取,可得到MD5为:caaa6985a43225a0b3add54f44a0d4c7

md5sum RaDa.exe

在这里插入图片描述
打开自带的Process Explorer软件,用于监听脱壳后的RaDa.exe文件,即RaDa_unpacked.exe(需要启动此脱壳后的恶意代码文件,以实现监听)
在这里插入图片描述
点击它,进行监听查看,打开String,看红框内的监听信息可知,该恶意软件先访问了http://10.10.10.10/RaDa这个网站,将RaDa_commands.html下载到了C:\RaDa\tmp,应该是下载了一个恶意软件或其他东西进行执行,留下了后门。它还判断当前环境是否是在虚拟环境下,如果不是,就进行DDos泛洪攻击,占据目标主机的资源,然后还修改了注册表,用Wscript.Shell对象读写 Wscript.Shell有三个方法,分别是RegWrite、RegRead、RegDelete,这里它均用到了。
在这里插入图片描述
修改注册表后,它应该是将RaDa设置为了开机启动项,最后它还攻击了三大内网,即192.168、172.16、10三个网段。此外,还能在这里看到作者的信息,即Raul Siles & David Perez,于2004年编写了此恶意软件。
在这里插入图片描述

回答问题如下

1、提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
摘要为caaa6985a43225a0b3add54f44a0d4c7
2、找出并解释这个二进制文件的目的;
①DDos攻击②连接http://10.10.10.10/RaDa网站,下载并留下后门③修改注册表,设置RaDa开机自启动④攻击了三大内网,即192.168、172.16、10三个网段
3、识别并说明这个二进制文件所具有的不同特性;
①会在初次运行时,下载文件到C盘下,留下后门②启动DDos攻击③初次运行时,修改注册表实现自己的开机自启
4、识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
在一、动手实践任务一中得知,使用了这种加壳技术:UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo
5、对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
该文件通过修改注册表实现开机自启,通过连接网站下载文件,留下后门,并实现DDos攻击可以知道,它的目的是让主机瘫痪,无法提供服务。此外,它不复制感染,不属于病毒和蠕虫,且没有伪装成可用程序欺骗用户运行,因此不属于木马,所以是一个后门程序
6、给出过去已有的具有相似功能的其他工具;
①Bobax-2004年发现的木马,也是使用HTTP协议从指定的服务器下载命令文件,然后解析并执行其中的指令。
②Setiri及其前辈Gatslag
7、可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
可以,直接命令行输入RaDa -authors就可以知晓作者(一、动手实践任务一),或者直接反编译该脱壳文件也可以发现(一、动手实践任务一),最后就说运行Process Explorer软件进行监听,也能知晓作者(三、分析实践任务一),有三种做法,作者为Raul Siles & David Perez

四、分析实践任务二

Windows 2000系统被攻破并加入僵尸网络

任务:分析的数据源是用Snort工具收集的蜜罐主机5天的网络数据源,并通过编辑去除了一些不相关的流量并将其组合到了单独的一个二进制网络日志文件中,同时IP地址和其他特定敏感信息都已经被混淆以隐藏蜜罐主机的实际身份和位置。

首先,打开Kali虚拟机,使用Wireshark对学习通上的检测日志文件进行分析:
简单浏览,发现真是群魔乱舞,各种IP地址,各种包,TCP、UDP、HTTP、NBNS、NBSS、DCERPC、SMB等等。
在这里插入图片描述
由于数据过多,只能边回答问题,边进行数据流的查看,因此回答如下:

1、IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?

IRC(Internet Relay Chat,互联网中继聊天)是一种实时通信协议,于1980年代晚期开发,至今仍广泛应用于各种在线社区、支持频道和社交聚会等场景。

当IRC客户端(连接到IRC网络的程序)想要加入IRC网络时,会向IRC服务器发送一系列命令。初始命令通常包括以下内容,发送这些命令后,客户端等待IRC服务器回应欢迎信息和可用频道列表:

1、NICK 命令:设置客户端在网络上的昵称(用户名)。 例子:NICK 我的昵称
2、USER 命令:设置客户端的用户名和真实姓名。例子:USER 我的用户名 0* : 我的真实姓名
3、MODE 命令:设置客户端的用户模式(例如,+i 隐身模式)。 例子:MODE 我的昵称+i

IRC通常使用以下TCP端口:
6665 - 6669:常规IRC通信端口
6697:IRC连接的备用端口(有时用于SSL/TLS加密连接)
7000:另一个IRC连接的备用端口

2、僵尸网络是什么?僵尸网络通常用于什么?

“僵尸网络”(botnet)是一种恶意网络, 由感染恶意软件的计算机组成。这些计算机可以被攻击者远程控制,而不需要计算机所有者的知情或同意。恶意软件,通常是一种木马程序,允许攻击者访问和控制感染的计算机,将它们变成 “僵尸” 或 “机器人”。

僵尸网络通常用于恶意活动,例如:

1、分布式拒绝服务(DDoS)攻击:从多个感染的计算机对网站或网络进行流量攻击,使其不可用。
2、垃圾邮件和钓鱼:从感染的计算机发送大量垃圾邮件或钓鱼邮件。
3、恶意软件传播:从感染的计算机传播恶意软件、病毒或勒索软件。
4、加密货币挖矿:使用感染的计算机挖矿加密货币,而不需要计算机所有者的知情或同意。
5、数据盗窃和间谍:从感染的计算机窃取敏感信息,如登录凭证、信用卡号或机密数据。

僵尸网络经常在暗网上出租或出售,允许犯罪分子发起攻击或从事其他恶意活动。执法机构和网络安全专家努力破坏和关闭这些网络,但它们仍然对在线安全构成严重威胁。

为了防止计算机成为僵尸网络的一部分,个人和组织必须采取措施,例如:保持软件和操作系统最新、安装反病毒软件并定期扫描恶意软件、避免可疑链接和附件、使用强密码并启用双因素身份验证、实施防火墙和入侵检测系统等等。

3、蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?

由于IRC端口众多,常用的就有6665 - 6669,所以得用以下命令,将IRC服务器的端口和蜜罐主机的ip作为过滤条件,对wireshark日志进行包的筛选

ip.src==172.16.134.191 && tcp.port == 6665
ip.src==172.16.134.191 && tcp.port == 6666
ip.src==172.16.134.191 && tcp.port == 6667
ip.src==172.16.134.191 && tcp.port == 6668
ip.src==172.16.134.191 && tcp.port == 6669
ip.src==172.16.134.191 && tcp.port == 6697
ip.src==172.16.134.191 && tcp.port == 7000

发现,只有6667号端口才有数据,其他均没有
在这里插入图片描述
在这里插入图片描述

其他没有的省略,只给出6667号端口的截图,截图如下
在这里插入图片描述
可知,蜜罐主机与以下IRC服务器进行了通信
209.126.161.29、66.33.65.58、63.241.174.144、217.199.175.10和209.196.44.172
且通信最多的是此服务器:209.196.44.172

4、在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?

先使用命令安装TCPflow工具

sudo apt-get install tcpflow  

在这里插入图片描述
首先,使用以下命令进行wireshark日志进行分析,它将生成report.xml文件,这是一个报告文件

sudo tcpflow -r botnet_pcap_file.dat "host 209.196.44.172 and port 6667"

在这里插入图片描述
使用vim可以查看文件,但是文件较大,数据冗杂,需要用以下命令,使用grep过滤(整个都是命令)从而查看该文件,得到主机数量,即利用管道命令来筛选:

sudo cat 209.196.044.172.06667-172.016.134.191.01152 | grep -a "^:irc5.aol.com 353" | sed "s/^:irc5.aol.com 353 rgdiuggac @ #x[^x]*x ://g" | tr ' ' '\n' | tr -d "\15" | grep -v "^$" | sort -u | wc -l

在这里插入图片描述
可以看到总共有3461台主机访问了以209.196.44.172为服务器的僵尸网络。

5、那些IP地址被用于攻击蜜罐主机?

使用以下指令,重新利用tcpflow来进行分析,它将生成一个名为IP.txt的文件(文件名自定义),文件中是被用于攻击蜜罐主机的所有IP地址

tcpdump -n -nn -r botnet_pcap_file.dat 'dst host 172.16.134.191' | awk -F " " '{print $3}' | cut -d '.' -f 1-4 | sort | uniq | more > IP.txt;wc -l IP.txt

在这里插入图片描述
生成的IP.txt文件如下,且输出165表示共有165个IP被用于攻击蜜罐主机
在这里插入图片描述
双击打开:
在这里插入图片描述
在这里插入图片描述
即总共165个IP被用于攻击蜜罐主机。

6、攻击者尝试攻击了那些安全漏洞?

使用以下命令,利用tcpflow工具进行筛选,筛选的是TCP端口和UDP端口

tcpdump -r botnet_pcap_file.dat -nn 'src host 172.16.134.191' and tcp[tcpflags]== 0x12 | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq

tcpdump -r botnet_pcap_file.dat -nn 'src host 172.16.134.191' and udp | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq

在这里插入图片描述
可以看到,TCP端口有135(rpc)、139(netbios-ssn)、25(smtp)、445(smb)、 4899(radmin)、 80(http)被攻击
UDP端口有137(NetBIOS Name Service)号端口被攻击。
这些就是攻击者攻击的安全漏洞。

7、那些攻击成功了?是如何成功的?

只有445端口的PSEXESVC.EXE攻击成功,获取了权限,进行了远程控制。
它首先伪装了一个蠕虫病毒文件PSEXESVC.EXE,并通过开放的445端口将其植入到目标主机,然后逐步拿下了admin、administrator的管理员权限,实现了远程连接,掌控了目标主机。

攻击需要逐个来分析判断是否成功:
①135端口
使用以下命令在wireshark中查询

ip.addr == 172.16.134.191 && tcp.port ==135

在这里插入图片描述
只发现了一些TCP数据包,只是一些握手连接,没有交互

②139端口
使用以下命令在wireshark中查询

ip.addr == 172.16.134.191 && tcp.port ==139

在这里插入图片描述
发现了TCP、SMB和NBSS等等数据包,但没有任何下文

③25端口
使用以下命令在wireshark中查询

ip.addr == 172.16.134.191 && tcp.port ==25

在这里插入图片描述
只发现了一些TCP数据包,只是一些握手连接,没有交互

④445端口
使用以下命令在wireshark中查询

ip.addr == 172.16.134.191 && tcp.port ==445

在这里插入图片描述
在这里查看到了PSEXESVC.EXE这一可疑的exe可执行文件,百度查询,是一个恶意远控程序,也是蠕虫病毒

PSEXESVC.EXE 是一个服务,在使用 PsExec 连接到远程系统时安装在远程系统上。此服务允许 PsExec 在远程系统上执行过程并与本地系统通信。然而,需要注意的是,恶意作者有时会使用名称 “PSEXESVC.EXE” 作为恶意程序的伪装,以使其看起来像合法程序一样。

可以看到,攻击者逐步拿下权限

拿下admin
在这里插入图片描述
拿下administrator
在这里插入图片描述
该攻击成功,被攻击者拿下了权限,导致被远程控制。

⑤4899端口
使用以下命令在wireshark中查询

ip.addr == 172.16.134.191 && tcp.port ==4899

在这里插入图片描述
只发现了一些TCP数据包,只是一些握手连接,没有交互
但是发现了一条cmd命令,是http包,但尚未知道是干什么的。查询百度,猜测也是远程连接的操作,但没有下文。应该攻击没有成功。
在这里插入图片描述

⑥80端口
使用以下命令在wireshark中查询

ip.addr == 172.16.134.191 && tcp.port ==80

在这里插入图片描述
又发现了cmd,与上述4899端口出现的一致。
在这里插入图片描述
又发现了CCCCC等填充数据,于是明白,这是在做缓冲区溢出
在这里插入图片描述
跟踪数据流发现,一切正常。如果缓冲区溢出攻击成功,将被拿下shell,而这里没有出现,因此攻击失败。
在这里插入图片描述

⑦137端口(UDP)
使用以下命令在wireshark中查询

ip.addr == 172.16.134.191 && udp.port ==137

在这里插入图片描述
只发现一系列的NBNS包,这是一种网络基本输入/输出系统(NetBIOS)名称服务器的交互。

因此,只有445端口的PSEXESVC.EXE攻击成功,获取了权限,进行了远程控制。

3.学习中遇到的问题及解决

  • 问题1:对于逆向、反汇编、监听等等工具的使用不熟练
  • 问题1解决方案:观看课程视频、多学习学习通上的资料,查看诸葛建伟老师课件、参考他人博客等等。

4.学习感悟、思考等

通过本次实验,我对恶意软件、恶意代码的理解更深,了解了什么是木马,什么是蠕虫,什么是病毒、什么是后门等等,以及它们之间有什么区别和联系。此外,我学会使用很多不同的逆向工具和监听工具,让我对网络安全的学习更加深入。最后就是我的网安技术确实比较薄弱,不观看视频查阅资料,甚至询问ChatGPT,根本不知道下一步该如何进行。这是需要加强的。

参考资料

  • 北京大学网络攻防技术与实践课程作业-诸葛建伟
  • ChatGPT(请科学上网)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1631660.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你不需要总是在 React 中使用 useState

在我审查的一个拉取请求中,我注意到在许多拉取请求中看到的一种模式。React 组件具有多个 UI 状态,例如 loading、error 和 success。 作者使用了多个 useState 钩子来管理这些状态,这导致代码难以阅读且容易出错,例如&#xff1a…

ArcGIS Pro3.0软件破解版安装教程

软件名称:ArcGIS Pro 3.0 安装环境:Windows 软件大小:7.3GB 硬件要求:CPU2GHz,内存4G(或更高) 百度云下载链接 : https://pan.baidu.com/s/1CXy1MSwdQXdVnJoV2X422A 提 取 码 :r0w1 教学内…

uniapp 对接facebook第三方登录

1.登录facebook开发者中心,打开我的应用页面在这里插入图片描述 2.创建应用 3.选择类型 4.填写信息 5.添加登录 6.添加平台 安卓密钥生成【需要 Java 环境!!! 和 openssl库】 Google Code Archive 的 Windows 版 openssl-for-windows OpenSSL 库 将openssl下载到…

word 表格 文字 上下居中

问题 word 表格 文字 上下居中 详细问题 笔者进行word 文档编辑,对于表格中的文本内容,如何进行上下居中? 解决方案 步骤1、选中需要进行操作的单元格 步骤2、右键 → \rightarrow →点击表格属性 步骤3、依次点击单元格 → \rightar…

ASP.NET前后端分离,WebApi。Vue3+ElementPlus+Axios+Pinia全流程教程

文章目录 前言1、.net core 执行过程2、中间件的执行过程3、AOP切面编程 Swagger添加Swagger注释 JWT1、解析2、配置JWT 配置SqlSugar0、引入SqlSugarCore包1、编写Context类2、配置实体类3、创建Service服务类进行数据库的CRUD4、配置Controller进行路由 依赖注入与IOCIOC依赖…

将针孔模型相机 应用到3DGS

Motivation 3DGS 的 投影采用的是 CG系的投影矩阵 P P P, 默认相机的 principal point (相机光心) 位于图像的中点处。但是 实际应用的 绝大多数的 相机 并不满足这样一个设定, 因此我们 需要根据 f , c x , c y {f,c_x, c_y} f,cx​,cy​ 这几个参数重新构建3D …

Android权限问题

问题&#xff1a;mate60pro弹出了一个读取已安装应用列表的权限弹框&#xff0c;需确认相关场景 分析&#xff1a; 1.AndroidManifest.xml中声明了权限标签 <uses-permission android:name"android.permission.QUERY_ALL_PACKAGES" /> 它赋予应用查询设备上…

结构方程模型(SEM)时间重复测量数据分析

张老师&#xff08;研究员&#xff09;&#xff0c;长期从事R语言结构方程模型、群落生态学、保护生物学、景观生态学和生态模型方面的研究和教学工作&#xff0c;已发表了多篇论文&#xff0c;拥有丰富的科研及实践经验。 很多研究需要进行多个时间点&#xff08;如天/月/年&…

java实现模板填充word,word转pdf,pdf转图片

Java实现Word转PDF及PDF转图片 在日常开发中&#xff0c;我们经常需要将文件操作&#xff0c;比如&#xff1a; 根据模板填充wordword文档中插入图片Word文档转换为PDF格式将PDF文件转换为图片。 这些转换可以帮助我们在不同的场景下展示或处理文档内容。下面&#xff0c;我将…

OpenHarmony实战开发-动画效果、如何实现阴影效果

阴影接口shadow可以为当前组件添加阴影效果&#xff0c;该接口支持两种类型参数&#xff0c;开发者可配置ShadowOptions自定义阴影效果。ShadowOptions模式下&#xff0c;当radius 0 或者 color 的透明度为0时&#xff0c;无阴影效果。 Entry Component struct ShadowOptionD…

MybatisPlus 页数page过大数据溢出问题

最近在修改公司代码时前端报了个奇怪的bug&#xff0c;即某个分页接口明明数据量只有42条&#xff0c;但是使用page 500 size 10 的配置时仍然可以查出数据 如下图所示 可见 total 属性只有 42条数据&#xff0c;页数都到500了但是很夸张的还是查出来10条数据 查询后端…

从阿里云崩溃看IT系统非功能能力验证

昨天下午6点左右学员群里有人说阿里云又出问题了&#xff0c;并且还挺长时间没有恢复了。 我也登录了一下&#xff0c;结果登录直接不停地302。如下所示&#xff1a; 做为阿里云重要的基础设施&#xff0c;这一故障影响了。如官方通告的处理时间线&#xff1a; 17:44起&#…

【笔试训练】day12

1.牛牛冲砖五 思路&#xff1a; 看懂样例即可。 代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> using namespace std;int main() {int t;cin >> t;string str;while (t--) {int n, k;cin >> n >> k >> str;int an…

鸿蒙OpenHarmony【小型系统 烧录】(基于Hi3516开发板)

烧录 针对Hi3516DV300开发板&#xff0c;除了DevEco Device Tool&#xff08;操作方法请参考烧录)&#xff09;外&#xff0c;还可以使用HiTool进行烧录。 前提条件 开发板相关源码已编译完成&#xff0c;已形成烧录文件。客户端&#xff08;操作平台&#xff0c;例如Window…

微软开源了 MS-DOS 4.00

DOS的历史源远流长&#xff0c;很多现在的年轻人不知道DOS了。其实早期的windows可以看做是基于DOS的窗口界面的模拟器&#xff0c;系统的本质其实是DOS。后来DOS的漏洞还是太多了&#xff0c;微软重新写了windows的底层内核。DOS只是一个辅助终端的形式予以保留了。 微软是在…

FTP 文件传输协议

FTP 文件传输协议 作用 用来传输文件的 FTP协议采用的是TCP作为传输协议&#xff0c; 21号端口用来传输FTP控制命令的&#xff0c; 20号端口用来传输文件数据的 FTP传输模式&#xff1a; 主动模式&#xff1a; FTP服务端接收下载控制命令后&#xff0c;会主动从tcp/20号端口…

pyaibote--安卓自动化环境配置与基础的使用方法

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 pyaibote介绍 pyaibote是一个全新&#xff0c;强大的办公自动化库。 支持找图&#xff0c;识别像素等操作。 比appium快十倍。 文章介绍 有大佬给我提到这个库后&#xff0c;我来查看。然后发现这个库太新了&am…

自然语言处理 (NLP) 中的迁移学习

--懂王 在大数据高速发展的时代&#xff0c;AI的发展日新月异&#xff0c;充满挑战的迎接未来。 自然语言处理 (NLP) 中的迁移学习: 迁移学习在 NLP 中越来越受欢迎&#xff0c;特别是在数据稀缺的情况下。如何有效地利用预训练的语言模型&#xff0c;并将其迁移到新的任务和领…

windows驱动开发-中断(一)

中断是windows中最难的一部分&#xff0c;这是因为中断本身属于操作系统的一部分&#xff0c;理解了中断和内存&#xff0c;对整个系统也就了解了。 中断部分会先从中断优先级、中断处理、中断服务例程入手&#xff0c;大概讲述一下中断的概念&#xff1b;接着从中断的一般实现…

如何买到“30元以下”的免备案服务器?

对于预算有限的个人和小型企业来说&#xff0c;30 元以下免备案服务器的价格非常亲民。用户可以以极低的成本获得所需的服务器资源&#xff0c;这对创业者、个人开发者、学生和站长来说简直不要太划算&#xff0c;毕竟配置可以升级真不够后面再付费升级也行。 何为“免备案”&…