会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
将者,智、信、仁、勇、严也。
Hi,我是李智华,华为-安全AI算法专家,欢迎来到安全攻防对抗的有趣世界。
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
17
18
19
20
21
22
23
24
25
···
274
下一页
2023年4月5日
逆向——汇编中的位运算
摘要: 汇编中的移位指令 1、算术移位指令 SAL(算术左移)指令的操作与《SHL指令》一节中的 SHL 指令一样。每次移动时,SAL 都将目的操作数中的每一位移动到下一个最高位上。最低位用 0 填充;最高位移入进位标志位,该标志位原来的值被丢弃: 如,二进制数 1100 1111 算术左移一位,得到 10
阅读全文
posted @ 2023-04-05 16:59 bonelee
阅读(1354)
评论(0)
推荐(0)
2023年4月4日
C语言逆向——常量字符串的赋值copy分析
摘要: 注意区别,hello 和 world两个字符串都是放在常量存储区的! int main(int argc, char* argv[]) { // Fun(101); char* s = "hello"; char arr[] = "world"; printf("%s\n %s\n", s, arr
阅读全文
posted @ 2023-04-04 09:55 bonelee
阅读(63)
评论(0)
推荐(0)
2023年4月3日
C语言逆向——预处理之宏定义、条件编译与文件包含
摘要: 预处理之宏定义、条件编译与文件包含 预处理一般是指在程序源代码被转换为二进制代码之前,由预处理器对程序源代码文本进行处理,处理后的结果再由编译器进一步编译。 预处理功能主要包括宏定义、文件包含、条件编译三部分。 宏定义 简单的宏:#define 标识符 字符序列 #define FALSE 0 #d
阅读全文
posted @ 2023-04-03 23:11 bonelee
阅读(210)
评论(0)
推荐(0)
C语言逆向——指针,函数指针,数组指针是比较难理解的,结构体指针要体会其编译器生成汇编代码的本质
摘要: 指针类型 在C语言里面指针是一种数据类型,是给编译看的,也就是说指针与int、char、数组、结构体是平级的,都是一个类型。 带"*"号的变量我们称之为指针类型,例如: char* x; short* y; int* a; float* b; ... 任何类型都可以带这个符号,格式就是:类型* 名称
阅读全文
posted @ 2023-04-03 23:10 bonelee
阅读(322)
评论(0)
推荐(0)
C语言逆向——switch语句中的大表和小表,本质上是内在存储空间降低
摘要: 连续值中抹去多项 CPP代码: #include "stdafx.h" void Fun(int x) { switch (x) { case 100: printf("100"); break; case 101: printf("101"); break; case 102: printf("1
阅读全文
posted @ 2023-04-03 15:55 bonelee
阅读(106)
评论(0)
推荐(0)
2023年4月2日
C语言逆向——循环语句
摘要: 循环语句 循环语句的反汇编 如下图是各个循环语句的反汇编代码: 但从汇编来看我们可以看得出do...while循环语句效率是最高的,但是在日常使用来说大部分会选择使用for与while,do...while出现的较少,还是跟之前我们说的一样,这一点空间可以忽视不管,for语句是最方便书写的,也就是我
阅读全文
posted @ 2023-04-02 23:14 bonelee
阅读(64)
评论(0)
推荐(0)
C语言逆向——数组和结构体,数组多维只是一个编译构造的假象,本质会转成一维数组,结构体的话最难的就是对齐了
摘要: 数组 数组是C语言中非常重要的一个概念,学习C语言主要就是两个知识点:数组、指针,学好这两个,那么你的C语言一定也会很好。 什么是数组?或者说什么情况下我们需要使用数组,比如说我们需要定义一个人的年龄,我们可以定义一个变量来表示,但是如果我们需要定义三个人的年龄呢?那就需要三个变量来表示,这样很复杂
阅读全文
posted @ 2023-04-02 23:14 bonelee
阅读(194)
评论(0)
推荐(0)
C语言逆向分析——Switch语句,为何大多数情况较if语句更高效?就是因为查找表
摘要: Switch语句 Switch语句也是分支语句的一种,其语法如下: switch(表达式) { case 常量表达式1: 语句; break; case 常量表达式: 语句; break; case 常量表达式: 语句; break; ...... default: 语句; break; } 需要注
阅读全文
posted @ 2023-04-02 23:02 bonelee
阅读(1075)
评论(0)
推荐(0)
逆向——字符与字符串,中文字符GB2312编码由来
摘要: 字符与字符串 在之前的课程中我们了解到变量的定义决定两个事情,第一是决定存储的数据宽度,第二是决定了存储的数据格式,那么我们来看下下面的代码: int a = 123; // 变量x,数据宽度为4个字节,里面存储的是补码(在计算机系统中,数值一律用补码来存储) int float b = 123.4
阅读全文
posted @ 2023-04-02 21:01 bonelee
阅读(238)
评论(0)
推荐(0)
逆向——C语言的汇编表示之堆栈图 手把手示例 可以见后面在函数内部加一个局部变量以及嵌套调用的例子来综合理解
摘要: 课程概要 来自:https://gh0st.cn/Binary-Learning/C%E8%AF%AD%E8%A8%80.html 写得非常详细 本章课程需要具备汇编语言基础,若无汇编语言基础是无法去理解课程中所讲的一些知识点和技术细节的;同时也表示本课程是以汇编语言来理解C语言,透过本质理解高级语
阅读全文
posted @ 2023-04-02 20:46 bonelee
阅读(287)
评论(0)
推荐(0)
上一页
1
···
17
18
19
20
21
22
23
24
25
···
274
下一页
公告