逆向上机题题目答案

逆向上机题题目答案

ID:20011478

大小:815.00 KB

页数:5页

时间:2018-10-09

逆向上机题题目答案_第1页
逆向上机题题目答案_第2页
逆向上机题题目答案_第3页
逆向上机题题目答案_第4页
逆向上机题题目答案_第5页
资源描述:

《逆向上机题题目答案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、题目一:Crackme2014.exe想办法绕过注册或者通过逆向编写注册机1.该程序是release版还是debug版release版2.通过修改exe绕过注册,即通过修改exe中的二进制,使得不论输入什么用户名和序列号都能够弹出“注册成功”对话框。得分点:该题目的改法很多,只要能达到目的就满分3.正确序列号的格式为什么?是否区分大小写?得分点:XXXX-XXXX-XXXX-XXXX不区分大小写。4.简述破解思路,反汇编调试该程序,找出注册原理,并写出注册算法得分点:1)破解思路:定位按键消息处理函数,找到“注册成功”的字符串

2、,定位到代码段,找到判断序列号的代码,或者通过MessageBoxA的调用找到算法所在位置,逆向算法,编写注册机(10分)2)注册原理:将用户名+“@meiyapico”生成的字符串分别进行两次hash运算(两次算法不同),得到两个DWORD,将两个DWORD拆分开来转换成十六进制字符,分别比较四个WORD的值,如果相等即为正确的注册码。(10分)3)逆向出两次hash运算的函数(20分)如果单纯抠出两处函数的反汇编指令得10分DWORDGetHash1(char*p){DWORDdigest=0;while(*p){dige

3、st=((digest>>13)

4、(digest<<19));digest+=*p;p++;}returndigest;}DWORDGetHash2(char*p){inti=strlen(p)%4;charsztmp[5]={0};DWORDdigest=0;DWORD*pdw=(DWORD*)p;for(intj=0;j

5、sedontheassassination.Linping,Zhejiang,1ofwhichliquorwinemasters(WuzhensaidinformationisCarpenter),whogotAfewbayonets,duetomissedfatal,whennightcame1.编写注册机,对于任何给定的用户名生成正确的序列号。上一题都做对了的话这一题给满分,可能时间不太够用。题目二:参考答案及相关思路1.本程序使用的是PeCompactV2.7加壳的。属于压缩壳类型。(说明:采用PeId等识别壳的软件,可

6、能会填PeCompact2.x->JeremyCollake。壳一般可分为压缩壳加密壳两大类)2.脱壳后的OEP的VA为:0x0041CEAA,RVA为:0x1CEAA。3.VS2005。4.壳的入口处构建了一个she异常链,异常的处理函数为0x0045849C。程序构建了0地址写入异常(0xC00000005),0041CEBE33C0xoreax,eax0041CEC08908movdwordptrds:[eax],ecx在入口处的控制权转到异常处理函数0x0045849C。5.0045849C的代码如下:0045849C

7、B8667245F0moveax,F0457266004584A18D8859120010leaecx,dwordptrds:[eax+10001259]004584A7894101movdwordptrds:[ecx+1],eax004584AA8B542404movedx,dwordptrss:[esp+4]004584AE8B520Cmovedx,dwordptrds:[edx+C]004584B1C602E9movbyteptrds:[edx],0E9004584B483C205addedx,5004584B72BCA

8、subecx,edx004584B9894AFCmovdwordptrds:[edx-4],ecx004584BC33C0xoreax,eax004584BEC3retn0045849C是seh异常处理函数,其中movedx,dwordptrss:[esp+4]得到SHE异常处理函数的第一个参数即EXCEPTION_RECORDlpExceptionContext;movedx,dwordptrds:[edx+C]得到触发异常的ExceptionAddress为0041CEC0,将0041CEC0的指令修改为0xE9(jmp指

9、令),并且修改相对跳转地址,最终修改成为:0041CEC0-E9FAB50300jmp004584BF此函数返回后,操作系统将会返回异常地址继续执行代码,从而跳转到0041CEC0处继续执行修改后的指令jmp004584BF。继续执行。6.通过跟踪可得到跳转到原始OEP的指令

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。