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

以中国为目标的DinodasRAT Linux后门攻击场景复现

概述

在上一篇《以中国为目标的DinodasRAT Linux后门剖析及通信解密尝试》文章中,笔者对DinodasRAT Linux后门的功能及通信数据包进行了简单剖析,实现了对DinodasRAT Linux后门心跳数据包的解密尝试。

虽然目前可对DinodasRAT Linux后门的通信数据包进行解密,但笔者认为目前对DinodasRAT Linux后门的了解还不是很充分。

因此,为了能够更进一步的对DinodasRAT Linux后门的攻击活动进行剖析,笔者准备从如下几个角度复现DinodasRAT Linux后门的攻击场景及攻击利用过程中的DinodasRAT Linux后门的通信模型:

  • 后门攻击场景复现:基于模拟构建的DinodasRAT Linux后门控制端程序,复现DinodasRAT Linux后门的远控攻击场景;
  • 关键代码分析:梳理分析DinodasRAT Linux后门通信模型相关的关键代码;
  • 后门通信模型剖析:梳理DinodasRAT Linux后门各远控指令的通信模型;
  • 模拟构建DinodasRAT Linux后门控制端:通过模拟构建DinodasRAT Linux后门控制端程序以实现与DinodasRAT Linux后门的交互效果;
  • 后门攻击场景复现

    为了能够更好的还原DinodasRAT Linux后门的攻击利用场景,笔者尝试模拟构建了一款DinodasRAT Linux后门控制端程序,目前可有效的与DinodasRAT Linux后门进行交互,相关运行效果如下:

相关通信数据包截图如下:

相关操作流程如下:

  • 被控端执行UninstallMm指令(卸载自身)前运行情况

 

  • 被控端执行UninstallMm指令(卸载自身)后运行情况
  • 控制端
F:\GolandProjects\awesomeProject5>awesomeProject5.exe
Server started. Listening on 0.0.0.0:80
请选择需执行的功能:help、DirClass、DelDir、EnumProcess、DealExShell、UninstallMm
>help
********支持功能如下********
DirClass:查看目录
DelDir:删除目录
EnumProcess:查看进程
DealExShell:执行shell命令
UninstallMm:卸载自身
**************************
请选择需执行的功能:help、DirClass、DelDir、EnumProcess、DealExShell、UninstallMm
>DealExShell
DealExShell指令-请输入需执行的shell命令:
>ifconfig
*******************DealExShell:ifconfig*******************
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.153.133  netmask 255.255.255.0  broadcast 192.168.153.255inet6 fe80::51d9:b9bf:4800:15b1  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:7a:63:b6  txqueuelen 1000  (Ethernet)RX packets 117418  bytes 10766685 (10.2 MiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 127228  bytes 56957898 (54.3 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>loop  txqueuelen 1000  (Local Loopback)RX packets 4  bytes 240 (240.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 4  bytes 240 (240.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0请选择需执行的功能:help、DirClass、DelDir、EnumProcess、DealExShell、UninstallMm
>DirClass
DirClass指令-请输入需查看的目录路径:
>/tmp/
*******************DirClass:/tmp/*******************
.X0-lock        1       11      2023-07-20 21:07:38     2
.XIM-unix       0       0       2023-07-20 21:07:37     2
systemd-private-07e721d8e32643438b178572cb153efe-colord.service-Oil9iv  0       0       2023-07-20 21:08:35     2
vmware-root_484-868851811       0       0       2023-07-20 21:07:38     2
.font-unix      0       0       2023-07-20 21:07:37     2
.xfsm-ICE-V8T571        1       398     2023-07-20 21:08:33     2
ssh-XXXXXXVA2uMv        0       0       2023-07-20 21:08:33     2
systemd-private-07e721d8e32643438b178572cb153efe-systemd-logind.service-3sTMOv  0       0       2023-07-20 21:07:38     2
systemd-private-07e721d8e32643438b178572cb153efe-haveged.service-hyFQUI 0       0       2023-07-20 21:07:37     2
systemd-private-07e721d8e32643438b178572cb153efe-upower.service-OpfV78  0       0       2023-07-20 21:08:34     2
.X11-unix       0       0       2024-05-06 02:04:10     2
systemd-private-07e721d8e32643438b178572cb153efe-ModemManager.service-r0SmEk    0       0       2023-07-20 21:07:38     2
VMwareDnD       0       0       2024-04-29 21:59:26     2
.ICE-unix       0       0       2023-07-20 21:08:33     2请选择需执行的功能:help、DirClass、DelDir、EnumProcess、DealExShell、UninstallMm
>EnumProcess
*******************EnumProcess:*******************
systemd         root    1
kthreadd                root    2
rcu_gp          root    3
rcu_par_gp              root    4
slub_flushwq            root    5
netns           root    6
kworker/0:0H-events_highpri             root    8
mm_percpu_wq            root    10
rcu_tasks_kthread               root    11
rcu_tasks_rude_kthread          root    12
rcu_tasks_trace_kthread         root    13
ksoftirqd/0             root    14
rcu_preempt             root    15
migration/0             root    16
cpuhp/0         root    18
cpuhp/1         root    19
migration/1             root    20
ksoftirqd/1             root    21
cpuhp/2         root    24
migration/2             root    25
ksoftirqd/2             root    26
kworker/2:0H-events_highpri             root    28
cpuhp/3         root    29
migration/3             root    30
ksoftirqd/3             root    31
kworker/3:0H-events_highpri             root    33
kdevtmpfs               root    38
inet_frag_wq            root    39
kauditd         root    40
khungtaskd              root    42
oom_reaper              root    43
writeback               root    44
kcompactd0              root    45
ksmd            root    46
khugepaged              root    47
kintegrityd             root    48
kblockd         root    49
blkcg_punt_bio          root    50
tpm_dev_wq              root    51
edac-poller             root    52
devfreq_wq              root    53
kworker/0:1H-kblockd            root    54
kswapd0         root    55
kthrotld                root    64
irq/24-pciehp           root    66
irq/25-pciehp           root    67
irq/26-pciehp           root    68
irq/27-pciehp           root    69
irq/28-pciehp           root    70
irq/29-pciehp           root    71
irq/30-pciehp           root    72
irq/31-pciehp           root    73
irq/32-pciehp           root    74
irq/33-pciehp           root    75
irq/34-pciehp           root    76
irq/35-pciehp           root    77
irq/36-pciehp           root    78
irq/37-pciehp           root    79
irq/38-pciehp           root    80
irq/39-pciehp           root    81
irq/40-pciehp           root    82
irq/41-pciehp           root    83
irq/42-pciehp           root    84
irq/43-pciehp           root    85
irq/44-pciehp           root    86
irq/45-pciehp           root    87
irq/46-pciehp           root    88
irq/47-pciehp           root    89
irq/48-pciehp           root    90
irq/49-pciehp           root    91
irq/50-pciehp           root    92
irq/51-pciehp           root    93
irq/52-pciehp           root    94
irq/53-pciehp           root    95
irq/54-pciehp           root    96
irq/55-pciehp           root    97
acpi_thermal_pm         root    98
xenbus_probe            root    99
mld             root    100
ipv6_addrconf           root    101
kstrp           root    106
zswap-shrink            root    111
kworker/u65:0-hci0              root    112
kworker/1:1H-kblockd            root    160
kworker/2:1H-kblockd            root    171
kworker/3:1H-kblockd            root    172
cryptd          root    181
ata_sff         root    182
scsi_eh_0               root    183
scsi_tmf_0              root    184
mpt_poll_0              root    185
scsi_eh_1               root    187
mpt/0           root    188
scsi_tmf_1              root    189
irq/16-vmwgfx           root    204
card0-crtc0             root    206
card0-crtc1             root    207
card0-crtc2             root    208
card0-crtc3             root    209
card0-crtc4             root    210
card0-crtc5             root    212
card0-crtc6             root    214
card0-crtc7             root    215
scsi_eh_2               root    268
scsi_tmf_2              root    269
kworker/1:2H-kblockd            root    278
jbd2/sda1-8             root    309
ext4-rsv-conver         root    310
systemd-journal         root    364
vmware-vmblock-         root    381
systemd-udevd           root    390
haveged         root    462
vmtoolsd                root    484
irq/56-vmw_vmci         root    588
irq/57-vmw_vmci         root    590
kworker/u65:2-hci0              root    668
dbus-daemon             message+        811
polkitd         polkitd 814
systemd-logind          root    816
rpciod          root    817
xprtiod         root    818
NetworkManager          root    819
cron            root    835
ModemManager            root    838
lightdm         root    858
Xorg            root    872
agetty          root    873
rtkit-daemon            rtkit   997
lightdm         root    1461
systemd /usr/lib/systemd/systemd        kali    1467
(sd-pam)                kali    1468
pipewire        /usr/bin/pipewire       kali    1483
wireplumber     /usr/bin/wireplumber    kali    1484
pipewire-pulse  /usr/bin/pipewire       kali    1485
dbus-daemon     /usr/bin/dbus-daemon    kali    1487
gnome-keyring-d /usr/bin/gnome-keyring-daemon   kali    1488
xfce4-session   /usr/bin/xfce4-session  kali    1498
ssh-agent               kali    1567
at-spi-bus-laun /usr/libexec/at-spi-bus-launcher        kali    1578
dbus-daemon     /usr/bin/dbus-daemon    kali    1585
at-spi2-registr /usr/libexec/at-spi2-registryd  kali    1596
gpg-agent               kali    1608
xfwm4   /usr/bin/xfwm4  kali    1610
gvfsd   /usr/libexec/gvfsd      kali    1614
gvfsd-fuse      /usr/libexec/gvfsd-fuse kali    1620
xfsettingsd     /usr/bin/xfsettingsd    kali    1635
upowerd         root    1639
xfce4-panel     /usr/bin/xfce4-panel    kali    1645
Thunar  /usr/bin/thunar kali    1650
xfdesktop       /usr/bin/xfdesktop      kali    1661
panel-1-whisker /usr/lib/x86_64-linux-gnu/xfce4/panel/wrapper-2.0       kali    1665
panel-13-cpugra /usr/lib/x86_64-linux-gnu/xfce4/panel/wrapper-2.0       kali    1670
xiccd   /usr/bin/xiccd  kali    1671
panel-14-systra /usr/lib/x86_64-linux-gnu/xfce4/panel/wrapper-2.0       kali    1672
panel-15-genmon /usr/lib/x86_64-linux-gnu/xfce4/panel/wrapper-2.0       kali    1676
xfce4-notifyd   /usr/lib/x86_64-linux-gnu/xfce4/notifyd/xfce4-notifyd   kali    1678
panel-16-pulsea /usr/lib/x86_64-linux-gnu/xfce4/panel/wrapper-2.0       kali    1686
colord          colord  1698
panel-17-notifi /usr/lib/x86_64-linux-gnu/xfce4/panel/wrapper-2.0       kali    1701
nm-applet       /usr/bin/nm-applet      kali    1703
xcape   /usr/bin/xcape  kali    1708
panel-18-power- /usr/lib/x86_64-linux-gnu/xfce4/panel/wrapper-2.0       kali    1711
light-locker    /usr/bin/light-locker   kali    1716
panel-22-action /usr/lib/x86_64-linux-gnu/xfce4/panel/wrapper-2.0       kali    1722
dconf-service   /usr/libexec/dconf-service      kali    1725
polkit-gnome-au /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1  kali    1727
xfce4-power-man /usr/bin/xfce4-power-manager    kali    1752
agent   /usr/libexec/geoclue-2.0/demos/agent    kali    1755
blueman-applet  /usr/bin/python3.11     kali    1782
vmtoolsd        /usr/bin/vmtoolsd       kali    1783
obexd   /usr/libexec/bluetooth/obexd    kali    2006
gvfs-udisks2-vo /usr/libexec/gvfs-udisks2-volume-monitor        kali    2019
udisksd         root    2023
gvfs-mtp-volume /usr/libexec/gvfs-mtp-volume-monitor    kali    2038
gvfs-afc-volume /usr/libexec/gvfs-afc-volume-monitor    kali    2043
gvfs-gphoto2-vo /usr/libexec/gvfs-gphoto2-volume-monitor        kali    2049
gvfs-goa-volume /usr/libexec/gvfs-goa-volume-monitor    kali    2054
gvfsd-trash     /usr/libexec/gvfsd-trash        kali    2068
gvfsd-metadata  /usr/libexec/gvfsd-metadata     kali    2074
qterminal       /usr/bin/qterminal      kali    2211
zsh     /usr/bin/zsh    kali    2214
linux_server64  /home/kali/Desktop/linux_server64       kali    6586
zsh     /usr/bin/zsh    kali    6611
kworker/3:2-mm_percpu_wq                root    666030
kworker/2:0-events              root    671000
kworker/1:1-mm_percpu_wq                root    676828
kworker/0:0-cgroup_destroy              root    687692
kworker/u64:0-flush-8:0         root    693826
kworker/2:1-mm_percpu_wq                root    696046
kworker/2:2-mpt_poll_0          root    698531
kworker/1:2-ata_sff             root    699316
kworker/u64:2-flush-8:0         root    699787
kworker/0:2-events              root    699926
kworker/u64:3-events_unbound            root    699928
kworker/3:0-cgroup_destroy              root    699936
tumblerd        /usr/lib/x86_64-linux-gnu/tumbler-1/tumblerd    kali    700635
kworker/1:0-ata_sff             root    702014
test    /home/kali/Desktop/test kali    702951
sh      /usr/bin/dash   kali    702959
test    /home/kali/Desktop/test kali    702960请选择需执行的功能:help、DirClass、DelDir、EnumProcess、DealExShell、UninstallMm
>UninstallMm
*******************UninstallMm:*******************
UninstallMm okF:\GolandProjects\awesomeProject5>

关键代码分析

通信框架

在《以中国为目标的DinodasRAT Linux后门剖析及通信解密尝试》文章的“DinodasRAT通信解密尝试”章节,笔者对DinodasRAT Linux后门的通信加解密原理进行了详细的剖析,因此,这里笔者将不再对DinodasRAT Linux后门中的通信加解密技术进行描述。

为了能够快速了解DinodasRAT Linux后门的通信逻辑,笔者又对DinodasRAT Linux后门的反编译代码进行了详细的分析梳理,发现:

  • DinodasRAT Linux后门运行后,将循环发送心跳通信
  • DinodasRAT Linux后门运行后,将从控制端循环接收控制指令,成功执行远控指令后,将返回执行结果信息

相关代码截图如下:

 DinodasRAT Linux后门通信数据接收函数代码截图如下:

DinodasRAT Linux后门通信数据发送函数代码截图如下:

 

 

 

远控功能与远控指令编号的对应关系梳理如下:

远控函数远控功能远控编号
DirClass列目录0x02
DelDir删除目录0x03
UpLoadFile上传文件0x05
StopDownLoadFile停止上传文件0x06
DownLoadFile下载文件0x08
StopDownFile停止下载文件0x09
DealChgIp修改C&C地址0x0E
CheckUserLogin检查已登录的用户0x0F
EnumProcess枚举进程列表0x11
StopProcess终止进程0x12
EnumService枚举服务0x13
ControlService控制服务0x14
DealExShell执行shell0x18
DealProxy执行指定文件0x1A
StartShell开启shell0x1B
ReRestartShell重启shell0x1C
StopShell停止当前shell的执行0x1D
WriteShell将命令写入当前shell0x1E
DealFile下载并更新后门版本0x27
DealLocalProxy发送“ok”0x28
ConnectCtl控制连接类型0x2B
ProxyCtl控制代理类型0x2C
Trans_mode设置或获取文件传输模式(TCP/UDP)0x2D
UninstallMm卸载自身0x2E

 

相关文章:

以中国为目标的DinodasRAT Linux后门攻击场景复现

概述 在上一篇《以中国为目标的DinodasRAT Linux后门剖析及通信解密尝试》文章中&#xff0c;笔者对DinodasRAT Linux后门的功能及通信数据包进行了简单剖析&#xff0c;实现了对DinodasRAT Linux后门心跳数据包的解密尝试。 虽然目前可对DinodasRAT Linux后门的通信数据包进…...

Day 24 数据库管理及数据类型

数据库管理及数据类型 一&#xff1a;数据类型 1.数值类型 整数类型 ​ 整数类型&#xff1a;TINYINT SMALLINT MEDIUMINT INT BIGINT ​ 作用&#xff1a;用于存储用户的年龄、游戏的Level、经验值等 浮点数类型 ​ 浮点数类型&#xff1a;FLOAT DOUBLE ​ 作用&#xf…...

MAC 本地搭建Dify环境

Dify 介绍 Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务&#xff08;Backend as Service&#xff09;和 LLMOps 的理念&#xff0c;使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员&#xff0c;也能参与到 AI 应用的定义和数据运营过…...

vue3使用tsx/jsx时报错:JSX 元素隐式具有类型 “any“,因为不存在接口 “JSX.IntrinsicElements“。

vue3使用tsx/jsx时报错&#xff1a;JSX 元素隐式具有类型 "any"&#xff0c;因为不存在接口 "JSX.IntrinsicElements"。 在项目中安装&#xff1a;npm install types/react npm install types/react...

卷价格不如卷工艺降本增效狠抓模块规范化设计

俗话说&#xff0c;“卷价格不如卷工艺”&#xff0c;这意味着在追求成本控制和效率提升的过程中&#xff0c;蓝鹏的领导认为蓝鹏应该更注重工艺的优化和创新&#xff0c;而不仅仅是价格的竞争。而模块规范化设计正是实现这一目标的有效途径。 模块规范化设计可以提高生产效率…...

[报错解决]Failed to load driver class oracle.jdbc.OracleDriver

目录 报错信息解决 报错信息 // 关键报错信息 java.lang.IllegalStateException: Failed to load ApplicationContextCaused by: java.lang.reflect.InvocationTargetExceptionat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAcc…...

前端科举八股文-CSS篇

前端科举面经-CSS篇 Css选择器的优先级css盒模型行内元素和块级元素的区别?link标签和import标签的区别讲一下弹性盒子布局的常见属性flex是哪三个属性的简写什么是BFC&#xff1f; 有什么作用垂直居中的方法?visibilityhidden, opacity0&#xff0c;display:none的区别清除浮…...

tracert命令

Tracert&#xff08;跟踪路由&#xff09;是路由跟踪实用程序&#xff0c;用于确定IP数据报访问目标所采取的路径。Tracert命令用IP生存时间&#xff08;TTL&#xff09;字段和ICMP错误消息&#xff0c;来确定从一个主机到网络上其他主机的路由。 命令格式&#xff1a;tracert …...

goget配置多个golang 运行环境

一台主机安装多个golang 运行环境 本环境 windows10 为 基础 mac linux也可以按照此方法操作 背景 开发不同的运维工具会用到不同版本的golang&#xff0c;但是开发者不能一直进行重装来处理 &#xff0c;因此 需要一个工具进行golang版本的管理 go管理工具介绍 gvm (Go V…...

小程序预览或上传代码时,遇到app.json未找到某个wxml文件的解决方法

uniapp小程序&#xff0c;点击预览或者是上传代码&#xff0c;遇到app.json无法找到某个wxml文件的解决方法&#xff1a;清缓存 问题&#xff1a; message&#xff1a;Error: app.json: 未找到 ["subPackages"][3]["pages"][3] 对应的 subPackages4/pages/…...

VUE v-for 数据引用

VUE 的数据引用有多种方式。 直接输出数据 如果我们希望页面中直接输出数据就可以使用&#xff1a; {{ pageNumber }}双括号引用的方式即可。 在 JavaScript 中引用 如果你需要直接在代码中使用&#xff0c;直接使用变量名就可以了。 上面这张小图&#xff0c;显示了引用的…...

嵌入式linux学习第一天

参考正点原子Linux开发文档。记录下知识点。 Shell 基本操作 前面我们说 Shell 就是“敲命令”&#xff0c;那么既然是命令&#xff0c;那肯定是有格式的&#xff0c;Shell 命令的格式 如下&#xff1a; command -options [argument] command: Shell 命令名称。 options&…...

基于Springboot的教学辅助系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的教学辅助系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…...

CentOS7编译安装freeswitch1.10.11

由于 FreeSWITCH 更新非常快&#xff0c;请自己查找最新的版本&#xff0c;如&#xff0c;截止 2022年6月4日&#xff0c;最稳定的发行版是&#xff1a;1.10.11 下载源代码&#xff1a; wget https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.11.-release.…...

网络知识点之—QoS

QoS&#xff08;Quality of Service&#xff0c;服务质量&#xff09;指一个网络能够利用各种基础技术&#xff0c;为指定的网络通信提供更好的服务能力&#xff0c;是网络的一种安全机制&#xff0c; 是用来解决网络延迟和阻塞等问题的一种技术。QoS的保证对于容量有限的网络来…...

LeetCode 每日一题 ---- 【741.摘樱桃】

LeetCode 每日一题 ---- 【741.摘樱桃】 741.摘樱桃方法&#xff1a;动态规划 741.摘樱桃 方法&#xff1a;动态规划 这是一道动态规划的题目&#xff0c;enmmmm&#xff0c;依旧是做不出来&#xff0c;尤其是看到困难两个标红的字体&#xff0c;就更不想做了&#xff0c;然后…...

新火种AI|挑战谷歌,OpenAI要推出搜索引擎?

作者&#xff1a;一号 编辑&#xff1a;美美 在AI革新的浪潮下&#xff0c;谷歌搜索迎来了越来越多的“挑战者”。 最近&#xff0c;据多家外媒的消息&#xff0c;有知情人士透露&#xff0c;OpenAI正计划上线一款基于ChatGPT的大型产品&#xff0c;将提供一个新的搜索引擎&…...

选择适用的无尘棉签:保障洁净生产环境下的高效擦拭

随着洁净生产条件的日益普及和无尘级别要求的提高&#xff0c;无尘擦拭用品成为广大用户追捧的必备工具。在这个领域&#xff0c;无尘棉签作为一种高效的擦拭工具&#xff0c;扮演着重要的角色。然而&#xff0c;面对市场上种类繁多的无尘棉签&#xff0c;如何选择最合适的产品…...

通信录的动态版本

一. 增加需求 在学习了动态开辟内存之后 我们对于通讯录产生了新的需求 要求我们做出一个动态增长的版本 即 随着我们储存联系人的增加 储存的空间增加 要求 &#xff1a; 1 初始空间为3 2 每次达到上限之后 扩容两个内存 二. 动手实施 我们首先要创建一个结构体 结构体…...

FineReport高频面试题及参考答案

FineReport是一款利用什么语言开发的报表工具&#xff1f; FineReport是一款基于Java语言开发的报表工具。Java是一种广泛使用的编程语言&#xff0c;特别适合于跨平台的软件开发。FineReport利用Java语言的诸多优势&#xff0c;如稳定性、安全性、可移植性和强大的网络功能&a…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块&#xff0c;用于对本地知识库系统中的知识库进行增删改查&#xff08;CRUD&#xff09;操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 &#x1f4d8; 一、整体功能概述 该模块…...