攻防世界re1WP

re1

0X01、分析exe
在这里插入图片描述
无壳,32位程序
0X02、用32位的ida打开f5查找main函数
在这里插入图片描述
0X03、分析函数
无论v5是> or < 都是输出aFlag-0;打开却发现在这里插入图片描述
错了所以v5=v9,才对,flag应该在程序中。
0X04、找flag
法1、用记事本打开,查flag
在这里插入图片描述
法2、观察main发现在这里插入图片描述
类似于memset函数,
C 库函数 void *memset(void *str, int c, size_t n) 复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。
故xmmword_413E34=v5=flag在这里插入图片描述
R将十进制数转换为字符串
在这里插入图片描述
反过来就是flag。
0X05、补充知识
memset函数
在这里插入图片描述
大端和小端
大端:高字节存储在低地址,低字节存储在高地址 ;
小端:高字节存储在高地址,低字节存储在低地址。

假设一个十六进制数0x(高位)12345678(低位):

大端的存储方式是:(低地址)12,34,56,78(高地址),然后读取的时候也是从前往后读

小端的存储方式是:(低地址)78,56,34,12(高地址),然后读取的时候是从后往前读取


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部