自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

u011374344的专栏

人生就是游戏,拼搏才能升级!

  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 windows技术基础知识

字符集其实就是一个预先定义好的表格, 里面将每个文字都罗列出来,并且为每个文字指定一个独一无二的数字来代替。以淬渊阁中的“淬”举例:ASCLL:这个编码无法表示中文,所以他的字符集找不到Unicode:十六进制: 0x6DEC十进制:28140二进制:0110 1101 1110 1100字母A举例:ASCLL:十六进制: 0x41十进制:65二进制:01000001Unicode:十六进制: 0x41十进制:65二进制:01000001。

2025-04-03 16:06:15 628

原创 汇编学习结语

一天之内挑战计划太乐观了, 不过还好,这次我总共用了三天完成了系列汇编指令的学习,有的指令也深入进行了验证,输出了系列文章,收获颇多。接下来我将开启一个专栏,用于记录学习OllyDbg的使用。

2025-04-02 17:43:58 154

原创 汇编学习之《call, return指令》

进入函数后可以看到栈顶ESP 寄存器里面的值就是之前call 下面一个指令的函数地址。从01bbfbf8变成了01bbfbf4, 栈顶的值也是之前记录的call下面的一个指令地址002582e2。这个也好理解,先把函数下一个地址入栈, 接下来执行函数,当函数遇到retn指令的时候出栈到那条指令就可以继续执行了。首先打开OllyDbg,导入你的程序,找到一个call 函数,通过F8执行到call函数处,先不要执行函数。第二步通过push 指令将函数地址指令额下一行的指令的地址压入栈中。

2025-04-02 14:48:59 332

原创 汇编学习之《jcc指令》

JCC(Jump on Condition Code)指的是条件跳转指令,c++中的就是if-else, while, for 等分支循环条件判断的逻辑。它包括很多指令集,各自都不太一样,接下来我尽量将每一个指令的c++ 源码和汇编代码结合起来看,加深学习映像。学习这章之前还是要了解 EFL 标记寄存器的知识:以上标志寄存器部分重点看下 CF,ZF,SF,OF,PF.理解下面的意思:cmp x,yx -y ==> 影响 CF, ZF 标记位。

2025-04-02 14:00:18 914

原创 汇编学习之《jmp, nop指令》

无条件跳转指令比如我这里现在的位置当前CPU 指令位置 00258335我们期望跳转到的目标位置:00258348在当前CPU 位置执行 jmp 00258348可以看到执行成功。

2025-04-01 15:41:40 301

原创 汇编学习之《push , pop指令》

学习本章前线了解ESP, EBP 指令。

2025-04-01 15:22:18 280

原创 汇编学习之《test, cmp 指令》

它和逻辑与(and)计算方式是一样,他们两个的区别,and 会改变对象的值,test指令不会改变,但是它会改变EFL标志寄存器的ZF零位标记的值。实际上是做的减法运算,与算数sub运算指令的区别是,cmp指令不改变作用对象的值,但还是会改变EFL标志寄存器的ZF标志位。其实:cmp eax,1 可以用来判断 eax 和 后面的数字是否相等,比如 ZF 位是1表示相等,否则不是。这里可以看到 eax 变成了0, EFL 标志寄存器的ZF零标志位被设置成了1(零 zf=1, 非零=0)可以看到eax的值变了。

2025-04-01 14:41:37 365

原创 汇编学习之《移位指令》

当我们执行SAL EAX 1语句后, 最高位放入二零EFL标志寄存器的CF位,通过OD也可以看到C位是1,同时最低位1向左移动1位后,十六进制的结果就是2;备注: 无论左移还是右移,是将对应的最高或最低位放入到CF中,也就是说放入前是0,CF是1,放入后CF就是0,反之亦然。通过上面我可以看到,我们设置MOV EAX, 80000001后, 其实32位最高位就是1,最低位也是1,右移一次,最高位不变,然后向右移动,最低位移入EFL 标志寄存器的CF位中。OllyDbg查看执行查看。

2025-04-01 13:36:57 851

原创 汇编学习之《运算和逻辑指令》

以上有一个问题, 我们c++代码申请了一个4个字节的整数的临时变量,为啥汇编语言是偏移了12个字节 (0xC), 有知道原因的朋友在评论区告诉我下呢?二进制 not 0011 == > 1111 1111 1111 1111 1111 1111 1111 1100 (十六进制FFFFFFFC)其实这里比较简单,我放过来去搞了一个c++代码,然后同步调整汇编,观察执行过程。二进制: 0001 and 0010 ==> 0000 (十进制0)OD 查看32位,四个字节,所以前面的0也会被反转。

2025-04-01 11:15:27 344

原创 汇编学习之《数据传输指令》

将 esp 数据移入到ebp 中。

2025-03-31 21:38:26 364

原创 汇编学习之《段寄存器》

上一篇:汇编学习之《标志寄存器》下一篇:

2025-03-31 20:35:06 299

原创 汇编学习之《标志寄存器》

标志寄存器: flag寄存器16位。这个标志寄存器并不是完全占满16位,它总共就有9位地址被用。EFL(Extended Flags Register)是指 扩展标志寄存器,它是x86架构中的一部分,用于存储处理器的标志位,用于反应最近一次算数运算,逻辑运算和比较操作的结果。EFL寄存器中的标志位用于决定条件调整和其他控制操作。上面图有俩部分,第一个部分是标志位的状态区域, 下面EFL 是寄存器的16进制值。

2025-03-31 19:43:40 651

原创 汇编学习之《扩展指令指针寄存器》

这里要区分下,之前比如EAX,ECX我们都是测试的数据,二这里EIP里面放入的数据是指向某个地址。简单记忆,只要指令是XXP以P结尾的就是存放的地址,比如之前ESP栈顶地址寄存器,EBP栈底地址寄存器。EIP (Extended Instruction Pointer): 保存cpu 下一次将要执行的代码的地址。通过OllyGbd可以看到CPU即将执行指令的地址和EIP 内部放入的地址一致,多次F8依然是这样。

2025-03-30 17:13:34 191

原创 汇编学习之《变址寄存器》

ESI 和 EDI 属于 32 位通用寄存器,它们是 16 位寄存器 SI 和 DI 扩展后的版本。变址寄存器就是ESI(Extended Source Index)源索引寄存器, EDI(Extended Destination Index)目的索引寄存器。用来存放一个地址的寄存器。我简单的理解了下这个ESI和EDI 在运行过程中会自增,两个会不断的指向下一个地址, ESI会不端执行到下一个源地址。之前博主孙冉老师说这个指令不会怎么用,我这里先暂时简单了解下,记住这个寄存器名字就好了。

2025-03-30 16:41:40 193

原创 汇编学习之《指针寄存器&大小端学习》

操作栈的寄存器栈: 保存函数里面传递的参数,局部变量等。EBP: 指向栈底的指针ESP: 指向栈顶的指针。

2025-03-30 15:59:54 1519

原创 汇编学习之《数据寄存器》

数据寄存器分类:用途分类EAX(Accumulator):累加寄存器,也称为累加器。比如1+1=2, 2这个结果就会放到EAX中。EBX(Base):基地址寄存器,顾名思义,就是地址了。ECX(Count):计数器寄存器,比如for(int i; i< 100;i++) 这里的i的数据就存入这里。EDX(Data):数据寄存器,比如int a = 5; 这个a就是的数据就存入EDX中。

2025-03-30 06:39:02 785

原创 汇编学习之《工具安装和进制学习》

ollyDbg 一款免费使用的软件,用于查看我们的执行程序。本软件作者是 Oleh Yuschuk(解压下载的文件就可以运行,我电脑上开始运行的时候提示到有的库比系统中的版本低了,我们选择是就可以。另外会提醒如下,我们选择设置管理员权限运行就可以了。我简单描述下设置快捷方式发送快捷方式: 右键-点击属性-发送桌面快捷方式。设置管理员运行: 右键桌面快捷方式-选择顶部快捷方式-选择高级-选择用管理员身份运行(R)-确认-确认-再次运行OK.

2025-03-30 04:58:50 969

原创 汇编语言学习前言

汇编语言的由来:操作:寄存器ebx的内容移动eax 中。机器指令:1000100111011000汇编指令:mov eax, ebx备注:eax,ebx是指cpu上的一个元件,它可以暂时存储数据,0/1,它的访问速度大于内存访问速度, 我们叫它寄存器。机器语言(硬编码): 由0和1构成的为什么有汇编语言?汇编语言就是为了方便我们阅读和记忆机器指令。因为机器指令阅读不友好,不好记忆。

2025-03-30 01:48:38 128

原创 【挑战一天完成汇编的整个学习】

为了完成一项任务,必须补齐汇编语言短板,这里需要一天之内完成整个汇编的学习,以支撑后续的工作。

2025-03-30 01:29:50 260

原创 Cursor编程之《cursor常规使用入门和编程实践》

cursor 编程入门,Ai编程实践。

2025-03-19 18:07:32 513

原创 Qt读物之qmake使用(.pro文件详解)

qt是通过pro文件进行项目管理, 这里涉及到编译文件指定,动态库和静态库引用,跨平台编译等。之前使用的时候都是从百度等地方快速检索,本次抽抽点时间来整体学习。qmake 手册。

2025-03-15 18:43:12 297

原创 Qt读物之前言

QT 文档阅读, Qt文档入口

2025-03-14 14:14:34 280

原创 Qt 6.8.2 安装教程(服务器超时解决)

准备安装一个QT 版本, 但是发觉现在都超时, 后才知道是需要科学上网。这里我顺便把QT 安装的完整流程记录下, 方便大家一起学习。另外就是如果需要科学上网, 文章最后推荐大家一个工具。

2025-03-12 22:34:34 295

原创 Cursor python Windows环境搭建菜鸟教程

cursor 环境配置 ,python 环境配置

2025-03-08 23:12:59 1325

原创 squarified算法

其他参考资料:https://www.docin.com/p-1509919023.htmlhttps://blog.youkuaiyun.com/HANZY72/article/details/110253400手绘草图,发觉之前网上很多的图都会误导大家去理解算法前处理1 首先对输入数据进行排序2 对数据数据总和和窗口面积进行等比换手。算法基本思路:原始数据:{6,6,4,3,2,2,1}step1: 首先确认最短边,将第一个元素6放置在最短边处,已知最短边为 4 (矩..

2021-01-21 16:53:02 1154 1

原创 linux 邮件配置

1 修改 vim /etc/mail.rc set bsdcompat set from=xxxxxx@qq.com set smtp=smtps://smtp.exmail.qq.com:465  set smtp-auth-user=xxxxxxxx@qq.com set smtp-auth-password=xxxxxxxx set smtp-auth=login

2018-01-31 10:04:00 1789

vs&&va快捷键

整理的vs&&va快捷键,是最全的,方便大家偶尔看看。

2013-07-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除