前言
知识点
C
ida初步运用
字符替换
题目
下载题目附件得到exe程序,拖入ida并f5查看
str1
为输入的参数,输入后将进入for循环中的字符替换
str2
通过strcpy函数(链)
把字符串{34sy_r3v3rs3}
复制给自己
最后通过strcmp函数(链)
检测str1与str2是否相同
思路
知识补充
python replace()方法
把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次
str = "this is string example....wow!!! this is really string";
print str.replace("is", "was");
print str.replace("is", "was", 3);
#thwas was string example....wow!!! thwas was really string
#thwas was string example....wow!!! thwas is really string
操作
在ida中将被替换字符的ASCll码转换成字符
得知被替换的字符
于是编写脚本将str2
的字符串替换回去得到相等的str1
值即flag
flag = "{34sy_r3v3rs3}"
a = flag.replace("3", "e").replace("4", "a")
print(a)
#{easy_reverse}
总结
学习ida的初步使用及编写字符替换的相关脚本