首页
社区
课程
招聘
[原创]第一题和第二题
2015-10-20 10:49 10834

[原创]第一题和第二题

2015-10-20 10:49
10834
详见附件:

第一题:
1.分析后可以看出,check方法有三处返回地址,分别在返回地址前加入log,重打包后执行,发现返回指令在此处是有效的
  
2.算法中大量使用了加密及反射调用,于是尝试从返回值出入手,加入log,将两个相比较的long打出来,通过日志可以看出,输入为100时分别为124850和520676,输入为200时,分别为124950和520676,猜测算法是
520676=input+124750
得出结果:input=395926

第二题:
1.将程序运行起来后,在ch函数上下断点,可以看出他调用74f19ddc位置,传入的第一个参数是输入的字符串。此函数调用中,会将输入的字符串做逐位加下标的操作,关键点在74f19190处,注意此时传入的参数,即hexview中76d9c680处。在该函数调用中,首先会对输入的字符串做一个与一个定值做逐位相加操作,该定值是:Ox1f,0xbc,0xda,0xff,0xe6,0x4c,0xbc,0x44,0xf5,0xb8,0x13,0xc8,0xec,0xa8,0xcd,0xbd,然后将其作为参数传入到加密函数74f18944  r5地址是76cba000,应该是动态申请的内存空间。
2.解密函数经过分析是一个aes加密算法,密钥为:0x6b.0xcd.0xc6.0x7a,0x6b,0x2b,0x7c,0x9d,0x8d,0xa4,0x59,0xb1,0xab,0x9d,0x06,0x80,解密完成后,通过对比密文判断是否成功  
3.写出解密程序,最终解的结果为kboloy0

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回