re学习(27)攻防世界toddler_regs(字符串函数总结+交叉引用)

找不到main()函数,查找字符串,发现特殊字符串

re学习(27)攻防世界toddler_regs(字符串函数总结+交叉引用)_第1张图片

 定位字符串出现的位置,反汇编出代码,进行分析“
re学习(27)攻防世界toddler_regs(字符串函数总结+交叉引用)_第2张图片

 re学习(27)攻防世界toddler_regs(字符串函数总结+交叉引用)_第3张图片

re学习(27)攻防世界toddler_regs(字符串函数总结+交叉引用)_第4张图片

re学习(27)攻防世界toddler_regs(字符串函数总结+交叉引用)_第5张图片

re学习(27)攻防世界toddler_regs(字符串函数总结+交叉引用)_第6张图片

re学习(27)攻防世界toddler_regs(字符串函数总结+交叉引用)_第7张图片

flag{Xp0int_1s_n1c3_but_Xp0intJNU_is_we1rd} 

总结

一.CP:shift+F12 展示所有的字符串; ctrl+x查找某一字符串出现的所有位置

详细解释请看下面博客:

IDA逆向笔记-交叉引用分析(快捷键X)_ida交叉引用快捷键_向往生的博客-CSDN博客

chatgpt解释交叉引用的好处:

re学习(27)攻防世界toddler_regs(字符串函数总结+交叉引用)_第8张图片

二.总结一下C语言字符串函数:

  1. gets()函数
  2. puts()函数
  3. strcat(字符数组1,字符数组2)—字符串连接函数

作用是把两个字符数组中的字符串连接起来,把字符串2连接到字符串1的后面,结果放到字符数组1中

     4.strcpy(字符数组1,字符串2,n)—字符串复制函数

                 作用是将字符串2复制到字符数组1中去

     5.strcmp(字符数组1,字符串2)—字符串比较函数

      因为字符串不能用等号来比较,所以就用strcmp函数来比较!!!

      比较规则:(1)如果全部字符相同,则认为两个字符串相等;

                        (2)若出现不相同的字符,则以第一对不相同的字符比较结果为准,比较结果由函数值带回

     6.strlen(字符数组)—测字符串长度的函数

注意:字符串以‘\0’结尾!

你可能感兴趣的:(#,每天一个CTF,学习)