ez_re
先查壳看看,没有壳
32位
我先说说这道题
打开分析找到主函数
在这里就是flag了,用十六进制转ascii码
我们先运行这个程序看看
我想说说我的想法
- 首先没看出来这里是十六进制转ascii码
- 其次41D538数组用来干啥来的?题目里面给出的请输入flag
我们分析一下
重点看Sub_4113CA
桥接函数到sub——4142B0
在这个函数里面面有个重要的数组 byte_41D538当然还会发现byte_41D539和byte_41D538是一起的
那按照这么分析
那这个程序的思路是
我们输入的flag
BUF[8]开始的字符,进入到了41D4B8中!!!
41D4B8数组,41DB4B8又把值进行了转换给了41D538数组中,从而去与byte_41D000中数组的值做了匹配
才输出了flag是否正确!!!
而应该分析出4142B0的转换是Ascii码转16进制!!!
这才是整个思路
所以才应该用byte_41D000数组中值转换回去,但如果不知道是整个,那就应该自己按照反汇编的代码写一个脚本!!!