下载

0下载券

加入VIP
  • 专属下载券
  • 上传内容扩展
  • 资料优先审核
  • 免费资料无限下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 实用电脑技术实例-0588

实用电脑技术实例-0588.PDF

实用电脑技术实例-0588

等你来聊
2012-06-20 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《实用电脑技术实例-0588pdf》,可适用于高等教育领域

破解技术实例【VMProtect】配合【PESpin的SDK加密】的另一方法标题:【VMProtect】配合【PESpin的SDK加密】的另一方法作者:acafeel详细信息:【VMProtect】配合【PESpin的SDK加密】的另一方法Anskya使用VMProtect的SDK方式配合ASProtect的SDK实施保护我便采用VMProtec的另一方式(在工程编译选项中:Project>Options>Linker选项卡中的MapFile选项中将单选框选择Detailed然后在VMProtect添加保护代码中会看到函数地址)配合PESpin的SDK实施保护。目标:使用【VMProtect】配合【PESpin的SDK加密】对一个使用delphi编译的例子实施保护!不知自己理解的对否还请各位提提意见!过程:※。使用delphi打开ProjectDPR文件然后点击delphi的Project菜单下的Options选项在弹出的对话窗口中点击Linker页面在该页面中选择Mapfile下的Detailed这一项以便打开同时生成完全MAP文件的这一功能因为在VMProtect中要使用MAP文件与对应的eXe文件做比较以方便VMProtect对其进行加密。※。完成上面的操作后便按F键进行编译在目录下便生成了eXe及Map文件使用DeDe对该eXe文件进行反汇编。※。用VMProtect打开生成的这个eXe文件后点击“Project”菜单下的“Newprocedure”或者是点击工具栏中的“Newprocedure”按钮在弹出的添加地址窗口中找到:TFormButtonClick这一行然后点击“OK”按钮找到:TFormFormCreate这一行然后点击“OK”按钮找到:TFormImageClick这一行然后点击“OK”按钮在VMProtect左边的窗口中便会列出以这三处为开始地址可以被VMProtect保护的这三段相关代码有哪些。※。在VMProtect中点击左边窗口中的TFormFormCreate这一行后配合DeDe对eXe文件的反汇编看到其相应的代码和虚拟地址为:。。。AEBjmpAA这个JMP命令的机器码EB便是AFBstiPESpin的Cryptmarkers的SDK{$Iclearstartinc}AFBsti的开始标志AFBstiAFBstiAAFBstiABFBstiACFBstiADFBstiAEFBstiAFFBstiAFBstiAFBstiAFBstiAFBstiAFBstiAFBstiAFBstiAFBstiAFBstiAFBstiAAFBstiABFBstiACFBstiADFBstiAEFBstiAFFBstiAFBstiAFBstiAFBstiAFBstiAFBstiAFBstiPESpin的Cryptmarkers的SDK{$Iclearstartinc}ABDmovbp,$的结束标志*PossibleStringReferenceto:'PESpinMarkersTest'|AABAAmovedx,$A×准备在此处×开始×VMProtect的保护×详见【A】*Referenceto:controlsTControlSetText(TControlTCaption)|AFECFEFFcallCD×准备在此处×结束×VMProtect的保护×详见【B】AEBjmpA这个JMP命令的机器码EB便是AFAcliPESpin的Cryptmarkers的SDK{$Iclearendinc}AFAcli的开始标志AFAcliAFAcliAAFAcliABFAcliACFAcliADFAcliAEFAcliAFFAcliAFAcliAFAcliAFAcliAFAcliAFAcliAFAcliAFAcliAFAcliAFAcliAFAcliAAFAcliABFAcliACFAcliADFAcliAEFAcliAFFAcliAFAcliAFAcliAFAcliAFAcliAFAcliAFAcliAFAcliAFAcliAFAcliAFAcliAAFAcliABFAcliACFAcliADFAcliAEFAcliAFFAcliAFAcliAFAcliAFAcliAFAcliAFAcliPESpin的Cryptmarkers的SDK{$Iclearendinc}ABDmovbp,$的结束标志ACret。。。【A】。点击“Project”菜单下的“Newprocedure”或者是点击工具栏中的“Newprocedure”按钮在弹出的添加地址窗口中输入AA后点击“OK”按钮VMProtect便又会自动列出虚拟地址:AA后面的代码【B】。在操作了【A】之后VMProtect左边窗口中便多了一个以AA这处为开始地址可以被VMProtect保护的这段相关代码有哪些。点击这行后又发现在列出的可被保护代码中虚拟地址:A这一行的代码并不想被VMProtect保护因此在右边窗口列出的可被保护代码中找到并选定:“AEBjmpA”这一行单击鼠标右键在弹出的菜单中选择:“Endofprocedure”或是按:CtrlB键这时虚拟地址:A以及它后面的代码都变成了灰色表示这些灰色代码不再被VMProtect保护因此TFormFormCreate事件被分成了三块其中中间将要被PeSpin的SDK所保护的这一块先被VMProtect保护了。※。在VMProtect中点击左边窗口中的TFormButtonClick这一行后配合DeDe对eXe文件的反汇编看到其相应的代码和虚拟地址为:。。。ApushebpABECmovebp,espABApush$ADApush$AFApush$ApushebxApushesiApushediABFmovedi,eaxACxoreax,eaxApushebp*PossibleStringReferenceto:'殪鼷腚^嬪|ABpush$B*****TRY|AEFFpushdwordptrfs:eaxAAmovfs:eax,espAADFCleaedx,ebp$AABDmoveax,edi$D*Referenceto:controlsTControlGetText(TControl):TCaption|AADEEEFEFFcallCAABBFCmoveax,ebp$*Referenceto:systemLStrLen:Integer|or:systemDynArrayLength|or:systemDynArraySize(Pointer):Integer|ABEAFCFFcallBABACtesteax,eaxABCFAAjzBCACEBjmpACC这个JMP命令的机器码EB便是ACFCcldPESpin的Cryptmarkers的SDK{$Icryptstartinc}ACFCcld的开始标志ACFCcldACFCcldACFCcldACFCcldACAdaaPESpin的Cryptmarkers的SDK{$Icryptstartinc}ACBpushesp的结束标志ACCDBxorebx,ebx×准备在此处×开始×VMProtect的保护×详见【A】ACEFxoresi,esiADincebxADDFleaedx,ebp$ADBDmoveax,edi$D*Referenceto:controlsTControlGetText(TControl):TCaption|ADAECFEFFcallCAADFBFmoveax,ebp$AEFBFFmovzxeax,byteptreaxebx$AEFaddesi,eaxAEDFleaedx,ebp$CAECBDmoveax,edi$D*Referenceto:controlsTControlGetText(TControl):TCaption|AFEAFEFFcallCAAFBFmoveax,ebp$C*Referenceto:systemLStrLen:Integer|or:systemDynArrayLength|or:systemDynArraySize(Pointer):Integer|AFAEFCFFcallBAFFBDcmpebx,eaxBCCDjlADBEEsubesi,$BCaddesi,$BFAxoresi,$ABFFxoresi,$BCEshlesi,$BDBxorebx,ebxBAincebxBBBCmoveax,ebxBDCaddeax,eaxBFCxoreax,ebxBFEEimulesiBBFmovesi,eaxBFBcmpebx,$BCFjlBA×准备在此处×结束×VMProtect的保护×详见【B】BAEBjmpB这个JMP命令的机器码EB便是BCFDstdPESpin的Cryptmarkers的SDK{$Icryptendinc}BDFDstd的开始标志BEFDstdBFFDstdBFDstdBFDstdBpushespPESpin的Cryptmarkers的SDK{$Icryptendinc}Baaa的结束标志BFECcmpesi,$CBAjzBBCFECcmpesi,$CBjnzBBApush$*PossibleStringReferenceto:'ExampleMarkers'|BBpush$B*PossibleStringReferenceto:'Goodpass:D'|BBABpush$BABApush$*Referenceto:userMessageBoxA()|BEBFCFFcallBEBjmpBCBApush$*PossibleStringReferenceto:'ExampleMarkers'|BBBpush$B*PossibleStringReferenceto:'BadpasswordTry:PESpin'|BBBpush$BBBApush$*Referenceto:userMessageBoxA()|BEBFCFFcallBCCxoreax,eaxBEApopedxBFpopecxBpopecxBmovfs:eax,edx******FINALLY|*PossibleStringReferenceto:'^嬪|BEBpush$BEBDFleaeax,ebp$CBCBAmovedx,$*Referenceto:systemLStrArrayClr|BEEFDFBFFcallBCret*Referenceto:systemHandleFinally|BEECFFBFFjmpBCEBEBjmpB******END|BEFpopediBFEpopesiBBpopebxBBEmovesp,ebpBDpopebpBCret。。。【A】。点击“Project”菜单下的“Newprocedure”或者是点击工具栏中的“Newprocedure”按钮在弹出的添加地址窗口中输入ACC后点击“OK”按钮VMProtect便又会自动列出虚拟地址:ACC后面的代码【B】。在操作了【A】之后VMProtect左边窗口中便多了一个以ACC这处为开始地址可以被VMProtect保护的这段相关代码有哪些。点击这行后又发现在列出的可被保护代码中虚拟地址:BA这一行及后面的代码并不想被VMProtect保护因此在右边窗口列出的可被保护代码中找到并选定:“BAEBjmpB”这一行单击鼠标右键在弹出的菜单中选择:“Endofprocedure”或是按:CtrlB键这时虚拟地址:BA以及它后面的代码都变成了灰色表示这些灰色代码不再被VMProtect保护因此TFormFormCreate事件被分成了三块其中中间将要被PeSpin的SDK所保护的这一块先被VMProtect保护了。※。在VMProtect中点击左边窗口中的TFormImageClick这一行后配合DeDe对eXe文件的反汇编看到其相应的代码和虚拟地址为:。。。BDpushebxBDBDmovebx,eaxBDEBjmpBE这个JMP命令的机器码EB便是BDFCcldPESpin的Cryptmarkers的SDK{$Icryptstartinc}BDAFCcld的开始标志BDBFCcldBDCFCcldBDDFCcldBDEFCcldBDFdaaPESpin的Cryptmarkers的SDK{$Icryptstartinc}BEpushesp的结束标志BEApush$×准备在此处×开始×VMProtect的保护×详见【A】*PossibleStringReferenceto:'ExampleMarkers'|BECpush$C*PossibleStringReferenceto:'ExampleinDelphibyreywen^htb'|BECCpush$CCBEDBCmoveax,ebx*Referenceto:controlsTWinControlGetHandle(TWinControl):HWND|BEFECFEFFcallDBFpusheax*Referenceto:userMessageBoxA()|BFEAFCFFcall×准备在此处×结束×VMProtect的保护×详见【B】BFAEBjmpC这个JMP命令的机器码EB便是BFCFDstdPESpin的Cryptmarkers的SDK{$Icryptendinc}BFDFDstd的开始标志BFEFDstdBFFFDstdCFDstdCFDstdCpushespPESpin的Cryptmarkers的SDK{$Icryptendinc}Caaa的结束标志CBpopebxCCret。。。【A】。点击“Project”菜单下的“Newprocedure”或者是点击工具栏中的“Newprocedure”按钮在弹出的添加地址窗口中输入BE后点击“OK”按钮VMProtect便又会自动列出虚拟地址:BE后面的代码【B】。在操作了【A】之后VMProtect左边窗口中便多了一个以BE这处为开始地址可以被VMProtect保护的这段相关代码有哪些。点击这行后又发现在列出的可被保护代码中虚拟地址:BFA这一行的代码并不想被VMProtect保护因此在右边窗口列出的可被保护代码中找到并选定:“BFAEBjmpC”这一行单击鼠标右键在弹出的菜单中选择:“Endofprocedure”或是按:CtrlB键这时虚拟地址:BFA以及它后面的代码都变成了灰色表示这些灰色代码不再被VMProtect保护因此TFormImageClick事件被分成了三块其中中间将要被PeSpin的SDK所保护的这一块先被VMProtect保护了。※。然后在VMProtect的“Options”窗口中设置相应的选项最后点击工具栏中的“Compilation(F)”按钮便可!※。再用PESpin打开被VMProtect保护了的eXe文件对该eXe文件进行加密即可!标题:答复作者:acafeel详细信息:另:声明一下上面所提到的使用DeDe只是便于对代码反汇编后的理解和好看而用到不用DeDe也没有关系的!只要你有Map文件对VMP来说就够了!上面所用到的eXe文件是在PESpinv自身所带的例子你可在PESpin的Examplesdelphi目录中找到它!

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/13

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利