0%

正向基础

有趣的返回地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void HelloWorld()
{
printf("Hello World");
getchar();
}
void fun()
{
int arr[5]={1,2,3,4,5};
arr[6] = (int)HelloWorld;
}
int main()
{
fun();
return 0;
}
Read more »

if语句逆向分析

内存图

全局变量与局部变量

全局变量的特点:

  1. 全局变量在程序编译完成后地址就已经确定下来了,只要程序启动,全局变量就已经存在了,启动后里面是否有值取决于声明时是否给定了初始值,如果没有,默认为0
  2. 全局变量的值可以被所有函数所修改,里面存储的是最后一次修改的值.
  3. 全局变量所占内存会一直存在,知道整个进程结束.
  4. 全局变量的反汇编识别:MOV 寄存器,byte/word/dword ptr ds:[0x12345678]
Read more »

C语言逆向

空函数分析

两个数加法函数分析

三个整数加法操作

5个整数加法并要求用前两个函数

定义一个函数,能够输出任意进制的第n个数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
char binTable[3] = {"01"};
char otoTable[9] = {"01234567"};
char hexTable[17]= {"0123456789ABCDEF"};

// type表示进制,n表示第n个数
void func(int type, int n){
char result[20];
char *table = null;
if(type == 2)
table = binTable;
else if(type == 8}
table = otoTable;
else
table = hexTable;


}
Read more »

C语言数据类型

裸函数

1
2
3
4
void __declspec(naked) Plus()
{

}

跟空函数不一样

1
2
3
4
void Plus()
{

}

裸函数依旧是个call,不过里面没有内容

1
2
3
4
void __declspec(naked) Plus()
{
__asm ret
}
Read more »

excel学习

向下复制

鼠标放在单元格右下角,出现十字后按住不动,下拉到要填充的某一行,然后就可以了

移动

点击单元格右边竖线,然后出现移动标志,拖动就行

本文作者:NoOne
本文地址https://noonegroup.xyz/posts/f56d227f/
版权声明:转载请注明出处!

堆栈图

CC是int 3,防止缓冲区溢出,CPU会断下

堆栈图1

单层函数的堆栈调用图

函数

函数的概念

函数入口

还可以通过寄存器传参

windows堆栈

  1. 先进后出
  2. 向低地址扩展

什么是堆栈平衡: 简单的说就是还原现场

问: cmp ebp,esp后,如果ebp!=esp是否可以跳转

答: 可以,因为z标志位改了就行

堆栈图练习2

Read more »

标志寄存器_JCC

标志寄存器

自己学会拆EFL

  1. 进位标志CF(Carry Flag): 如果运算结果的最高位产生了一个进位或借位,要确定数据宽度,比如add al,1 只要al进位了,就会改变标志位

无符号关注CF位

  1. 奇偶标志位PF(Parity Flag): 奇偶标志位PF用于反映运算结果中’1’的个数的奇偶性,如果为偶数,则为1, 反之为0
Read more »

通用寄存器_内存_堆栈

寄存器(编号)二进制(编号)十六进制
32位16位8位
eaxaxal0000
ecxcxcl0011
edxdxdl0102
ebxbxbl0113
espspah1004
ebpbpch1015
esisidh1106
edidibh1117

r通用寄存器
m代表内存
imm代表立即数
r8代表8位通用寄存器
imm8代表8位立即数
m8代表8位内存

Read more »

数据宽度

二进制数据

记住圆圈,

数据类型单位(bit)
byte 字节8
word 字16
dword 双字32
qword 四字64

内存中只存0和1,没有正负数只分,正负数是人为分开的

二进制逻辑运算

  • 与(and &)
  • 或(or |)
  • 异或(xor ^)
  • 非(not !)

具体应用

  1. CPU如何计算2+3=?

X:0010
Y:0011

Read more »

此文章已被加密,需要输入密码访问。
Read more »