初次记录WP,不足之处欢迎提出宝贵意见!
0x01 分析文件类型

64位ELF可执行文件
0x02 尝试Kail运行文件
发现其权限不够 ,使用ls -alh查看文件权限,只有属主读取、写入权限。

知识点拓展:
1、设置权限属性后的效果
| 权限属性 | 文件 |
|---|---|
| r | 允许打开并读取文件 |
| w | 允许写入或截断文件 |
| x | 允许将该文件作为程序执行 |
2、修改文件权限
chmod—修改文件模式
操作文件或目录的用户,有3种不同类型:文件所有者、群组用户、其他用户。最高位表示文件所有者的权限值,中间位表示群组用户的权限值,最低位则表示其他用户的权限值,所以,chmod 777中,三个数字7分别对应上面三种用户,权限值都为7。
Why 7?
因为chmod支持两种表示方式:
- 八进制表示法
- 符号表示法
八进制法中,每个八进制数位可以描述3个二进制位,这正好和文件模式的记录方式相对应。
| 八进制形式 | 二进制形式 | 文件模式 |
|---|---|---|
| 7 | 111 | rwx |
END
可以看到luck_guy文件只有属主读写权限,没有可执行文件权限。
用chmod 777 ./luck_guy 修改文件权限

可看到一些关键字信息,然后拖到IDA中进行分析。
0x03 直接拖入IDA64,查找string字符串

发现flag关键词,双击进入。

发现get_flag函数,定位到loc_400B45,双击进入,可看到该函数流程框架图,按F5还原伪代码。
unsigned __int64 get_flag()
{
unsigned int v0; // eax
char v1; // al
signed int i; // [rsp+4h] [rbp-3Ch]
signed int j; // [rsp+8h] [rbp-38h]
__int64 s; // [rsp+10h] [rbp-30h]
char v6;

这篇博客是关于RE学习的笔记,作者首先分析了64位ELF可执行文件的权限问题,通过chmod修改文件权限以在Kail上运行。接着在IDA64中查找字符串,发现了flag关键信息,并定位到get_flag函数。文章详细描述了解密flag的流程,包括case4和case5的执行顺序。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



