- 博客(3)
- 收藏
- 关注
原创 逆向一个最简单的函数
逆向一个最简单的函数,返回预定常亮应该够简单了。 C/C++代码: int f() { return 123; }; 0x01 x86 开启优化功能后,GCC编译器的汇编代码如下: f: mov eax,123 ret 这个函数只是两条指令构成:第一条指令把数值123存放到eax寄存器中;再根据函数调用约定,后面一条指令会把eax的值当做返回值传递给调用者主函数,调用者(Calle...
2020-01-15 13:54:09 176
原创 CPU指令集架构基础学习
在最初接触C/C++的时候,我对程序编译后的指令非常着迷,循序渐进的学习了C/C++语言编译器生成汇编语言的模式。 就像是语言翻译一样,我们需要做到直接阅读x86等汇编代码,并且能够将其还原成原始的C/C++语句,这是学习逆向最有效的方法。 CPU是执行程序机器码的硬件单元,相关概念包括以下几项: 指令码: ...
2020-01-14 15:22:24 943 1
原创 对逆向工程学习的宏观思考
即将学习的内容涵盖了函数,语句,结构体,数组这些代码大厦的基础元素在按照X86,ARM,MIPS体系架构下的切片。 学习X86,ARM,MIPS三种体系架构下同样指令,函数和数据结构的区别,打通自己的逆向全栈之路。 逆向工程一直被宣传为一种充满乐趣和神秘主义的技能,而逆向分析者的工作非常有趣的原因,似乎就是在汇编指令奔涌中逆流而上,绕开各种限制和保护找到代码中的漏洞或者加密算法中隐藏的数据。 二进...
2020-01-14 13:52:14 211
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人