- 2025-01-09Win32汇编学习笔记09.SEH和反调试
Win32汇编学习笔记09.SEH和反调试-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区-BpSend.netSEH-structedexceptionhandler结构化异常处理跟筛选一样都是用来处理异常的,但不同的是筛选器是整个进程最终处理异常的函数,但无法做到比较精细的去处理异常(例如处理某
- 2025-01-08Win32汇编学习笔记07.筛选器异常
Win32汇编学习笔记07.筛选器异常-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区-BpSend.net钢琴od调试老师给的多媒体钢琴运行找到Piano的过程函数里去找到处理WM_KEYDOWN消息的那下个断点,然后按键断下来在这分析上图汇编代码:moveax,dwordptr[ebp+10]拿wPa
- 2025-01-06GetCPUID for lazarus(windows)
GetCPUIDforlazarus(windows),兼容32/64位,直接上代码:unitGetCPUIDUnit;{$modeobjfpc}{$H+}{$ASMMODEintel}interfaceusesClasses,SysUtils;functionGetCPUID:string;implementationfunctionGetCPUID:string;var_ecx,_edx,_eaX,_ebx:LongWord;begin
- 2025-01-06聊一聊 C#异步中的Overlapped是如何寻址的
一:背景1.讲故事前段时间训练营里的一位朋友提了一个问题,我用ReadAsync做文件异步读取时,我知道在Win32层面会传lpOverlapped到内核层,那在内核层回头时,它是如何通过这个lpOverlapped寻找到ReadAsync这个异步的Task的呢?这是一个好问题,这需要回答人对异步完整的运转流程有一
- 2025-01-06win32汇编环境,窗口程序显示bmp图像文件
;运行效果;win32汇编环境,窗口程序显示bmp图像文件;显示的是一张尺寸236*318的bmp位图,及一张缩小为原来三分之一的位图;将代码复制进radasm软件里,直接编译就可以运行了;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- 2025-01-06win32汇编环境,理解BeginPaint函数与GetDC函数的区别
;这个很重要,运行效果;win32汇编环境,理解BeginPaint函数与GetDC函数的区别;BeginPaint函数用在WM_PAINT消息里面,用来得到显示设备上下文,即整个程序窗口的区域。;当最大化时、或被其它窗口挡住后再恢复时、或移动窗口时,系统根据这个BeginPaint函数保存下来的值,把那些挡住的区
- 2025-01-05《汇编程序语言》第11~15章
第十一章输入输出程序设计键盘输入(BIOS中断调用);数据段定义DATASEGMENT;预留一个字节用于存储读取的字符INPUT_CHARDB?DATAENDS;代码段定义CODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATA;将数据段地址加载到AX寄存器
- 2025-01-05《汇编程序语言》第6~10章
以下是对《汇编程序语言》中这几章内容的详细介绍:第六章循环结构程序一、循环结构概述概念:循环结构允许程序在满足特定条件时,重复执行一段代码。这在需要多次执行相同或相似操作的场景中非常有用,例如对数组的每个元素进行处理,或者进行多次迭代计算。通过循环结构,可以避
- 2025-01-05第15章 汇编语言--- 数组与指针
汇编语言是一种低级编程语言,它几乎与特定的计算机架构一一对应。在汇编语言中,数组和指针的概念不像在高级语言(如C或C++)中那样直接存在,但可以通过对内存地址的操作来实现类似的功能。在汇编语言中,数组可以被看作是一系列连续存储的相同类型的元素,而指针则是用来存放某个变量
- 2025-01-05Win32汇编学习笔记05
定位关键点3种方法:过程函数api字符串但是不确定用要哪一种方法,可以3种方法都用一下,因为在不同的程序,实用的方法是不一样的窗口程序看控件信息1.通过OD去看还可以用spy++查看还可以用vs2019,打开软件,找到对应控件直接看属性一般拿句柄没用,因为按钮是响应WM_
- 2025-01-04Win32汇编学习笔记04.重定位与汇编引擎
Win32汇编学习笔记04.重定位与汇编引擎-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区-BpSend.net重定位**重定位:**也称为代码自重定位,代码自己去计算自己使用的各种资源再新进程中的地址,相应代码被称为被重新定位过后的代码。示例目标:向指定进程扫雷注入一段机器
- 2025-01-04第5章 串行接口
8251A的基本特性可用于同步和异步传送。同步传送:5~8bit/字符,内同步或外同步,自动插入同步字符;异步传送:5~8bit/字符,接收/发送时钟频率为通信波特率的1,16或64倍;可产生中止字符、1,1.5,2位停止位。检查假启动位,自动检测和处理中止字符;波特率:DC-19.2Kbps(异步);DC-64Kbps
- 2025-01-04第三章 MBR --> loader
第三章MBR-->loader本文是对《操作系统真象还原》第三章学习的笔记,欢迎大家一起交流。a知识介绍在上一章的代码部分,我们通过BIOS中断进行字符输出,但是离开实模式之后,BIOS中断就没法用了,因为BIOS中断向量表只在实模式下存在,因此我们肯定还会有别的方法来输出字符串,这就
- 2025-01-03Win32汇编学习笔记03.RadAsm和补丁
https://bpsend.net/thread-163-1-1.html补丁扫雷游戏啊下补丁在扫雷游戏中,点关闭弹出一个确认框,确认之后再关闭,取消就不关闭首先第一步就是确认关闭按钮响应的位置,一般都是WM_CLOSE的消息,消息响应一般都在过程函数,所以就是要定位到过程函数,我们知道MC项目中,
- 2025-01-03第二章 BIOS --> MBR
第二章BIOS-->MBR本文是对《操作系统真象还原》第二章学习的笔记,欢迎大家一起交流。第一棒BIOS首先我们要先明白计算机的启动过程,在x86模式下,开机的一瞬间,cpu的cs:ip寄存器被强制初始化为0xF000:0xFFF0,此时所指向的地址即0xf000*16+0xfff0=0xffff0,而在开机时,cpu
- 2025-01-03微机原理与接口技术——期末笔记 实验总结 侧重Win32汇编代码实现
微机原理与接口技术声明:本篇文章是在复习期末考试的过程中根据教材与实验所总结的复习资料,参考书目为*《微机原理与接口技术(第2版)——Win汇编、接口及设备驱动》郭兰英赵祥模编著*。文章只重点总结了前两章、第五章、五大芯片、键盘、AD转换的具体代码示例。所有代码均来
- 2025-01-02第8章 汇编语言--- 循环结构
汇编语言是一种低级编程语言,它几乎是一对一地映射到计算机的机器码指令。在汇编语言中实现循环结构通常涉及到使用条件跳转指令(如JMP、JE、JNE等)来控制程序流程。下面我将通过一个简单的例子来讲解如何用x86汇编语言实现一个循环结构。假设我们要编写一个程序,它会计算从1
- 2025-01-02使用库函数 API 和 C 代码中嵌入汇编代码两种方式使用同一个系统调用
实验四使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用实验内容选择一个系统调用(13号系统调用time除外),系统调用列表参见torvalds/linux。参考视频中的方式使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用实验过程使用库函数API#
- 2025-01-02win32汇编环境,对话框中设置RichEdit内文本的字体
;运行效果;win32汇编环境,对话框中设置RichEdit内文本的字体;直接抄进RadAsm可编译运行。;下面为asm文件;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- 2025-01-02win32汇编环境,窗口程序中设置RichEdit内文本的字体
;运行效果;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- 2025-01-01Win32汇编学习笔记01.环境配置
Win32汇编学习笔记01.环境配置-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区-BpSend.net环境配置masm32下载官网:http://www.masm32.com/安装成功标志环境配置:将masm32下的bin目录添加到path新建include,将masm32目录下的inclcude目录添加进去新建lib,将mas
- 2025-01-01函数递归与栈帧的创建与销毁
目录函数递归函数栈帧的创建与销毁概述 main函数栈帧的创建变量的创建如何传参子函数栈帧的创建函数如何返回值(1)子函数栈帧的销毁函数如何返回值(2)函数递归将复杂的问题层层化为与原问题相似的规模较小的问题。递----递推、归----回归 递推:函数一直
- 2024-12-298086汇编(16位汇编)学习笔记09.宏汇编
宏汇编在文件中是当做关键字的,但是在bug中运行时并没有这些指令,这些关键词被称为伪指令,cpu并不认识他们,需要经过编译器转化成cpu认识的代码,但是他多我们写代码帮助又很大表达式表达式中的求值是在程序链接时完成的,所以表达式中的各值必须是在汇编或链接期就能确定,也就是
- 2024-12-298086汇编(16位汇编)学习笔记09.宏汇编
8086汇编(16位汇编)学习笔记09.宏汇编-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区-BpSend.net宏汇编在文件中是当做关键字的,但是在bug中运行时并没有这些指令,这些关键词被称为伪指令,cpu并不认识他们,需要经过编译器转化成cpu认识的代码,但是他多我们写代码帮助
- 2024-12-288086汇编(16位汇编)学习笔记08.函数
https://bpsend.net/thread-138-1-2.html 函数结构函数结构的演变函数的结构并不是随随便便就出来的而是解决了很多问题之后,大家统一认为那个结构是最好的一种方式例如:模拟函数实现2个数相加不用函数实现两个数相加;这是栈段stacksegmentstackdb512dup(0)stack