12博官网
12博官网 关于我们 业务领域 新闻中心 在线留言 联系我们
 

联系我们

网址: 12博官网

地址: 东莞市高埗镇振兴北路华宏西街1号

 

黑客进阶基础篇:逆向破解winexe—让我们来谈谈




作者:12博官网     发布时间:2020-10-29 22:09

  前言:这是学二进制逆向过程中遇到的一道题目,为了学习和成长,和大家一起分享!

  说明这里是关键函数,所以V3是我们的关键数字,要不能为空,找到V3的出处。那个sub-401610那里,进去:

  result是要返回的值,a3是我们要处理的字符串,V5是最后一个字符的地址,它和sub_44B160有关系,所以进去看看:

  我们看到一个memcpy函数,是说把a3地址开始的数据复制到V5,V5=v3+12开始的数据,数据长度是v2,v2=v5_1-a3;

  v2就是我们能知道的字符串的长度,所以就是copy全部(当然这里是可选的长度,说不定下次就是一半呢,哈哈(暗示可以自己修改算法代码)),这样就明朗了,V5就是copy到的寄存器,出来吧:

  a1的地址就是V11的地址呀,所以,V11就是存储字符串的地址,很好,接下来继续分析:

  看到这个函数,对V11和a1进行处理了,所以我们推断a1是用户输入进来的,V11刚分析了一波,是我们的字符串,说明是有股匹配在里面,V11和a1是两股势力

  不行同则调到label—24那里,后面的也是,label—24是什么,我们看看:

  问发现426810函数就是一直在用的函数,它对a1和V11都是进行了相同的操作,所以我们进去看:

  发现了关键函数,substr,这是个剪切字符串的函数,substr(a,b,c)表示a字符串从b处开始剪切c长度的字符串;

  我们发现了东西,a1从8处开始剪长度为6的字符串放到V12,V11从0处开始剪辑长度为6的字符串放到v13,然后比较V13和V12的内容,不相等则跳到label-24(就是前面那个坑!),所以以此类推:

  好啦,脚本搞出来了,接下来,题目还提示拼拼拼!前面不是还有2018吗?所以答案就是:flag!

  这就是全部过程啦,这道题还是很有收获的,首先是第一个substr函数的用法!切片(任意切!),第二个就是对于整体的把握和认知,程序明白了,一切都好办了~本题的匹配是将输入切片和答案的切片进行匹配,通过切片达到保护作用!

12博官网



  • 上一篇:如何系统的学习安卓逆向分析?
  • 下一篇:苏州倍尔捷包装科技有限公司
  •  
    24小时咨询热线:
    12博官网 关于我们 业务领域 新闻中心 在线留言 联系我们 网站地图
     
     
    手机:  地址:东莞市高埗镇振兴北路华宏西街1号
    ©2018 东莞市天发物流公司 版权所有