- 2025-01-21C语言编译
C语言编译是把C语言编写的源代码转换为计算机能执行的机器码的过程。 首先需要一个文本编辑器来写代码,比如Vim、Notepad++等。代码写好后,使用C编译器,常见的有GCC(GNUCompilerCollection)。以GCC为例,如果有一个名为 main.c 的源文件,在命令行中输入 gccmain.c-ooutput
- 2025-01-20一些著名的软件都用什么语言编写?
作者:土豆居士来源:一口Linux1、操作系统MicrosoftWindows:汇编->C->C++ 备注:曾经在智能手机的操作系统(WindowsMobile)考虑掺点C#写的程序,比如软键盘,结果因为写出来的程序太慢,实在无法和别的模块合并,最终又回到C++重写。相信很多朋友都知道WindowsVista,这个系统开发
- 2025-01-13Win32汇编学习笔记11.游戏辅助的实现
Win32汇编学习笔记11.游戏辅助的实现-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区-BpSend.net游戏基址游戏基址的概念游戏基址是保持恒定的两部分内存地址的一部分并提供一个基准点,从这里可以计算一个字节数据的位置。基址伴随着一个加到基上的偏移值来确定信息准确
- 2025-01-08Win32汇编学习笔记07.筛选器异常
Win32汇编学习笔记07.筛选器异常-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区-BpSend.net钢琴od调试老师给的多媒体钢琴运行找到Piano的过程函数里去找到处理WM_KEYDOWN消息的那下个断点,然后按键断下来在这分析上图汇编代码:moveax,dwordptr[ebp+10]拿wPa
- 2025-01-06一文说透汇编语言中的各种地址
前言由于笔者水平有限,随笔中难免有些许纰漏和错误,希望广大读者能指正。一、各种地址之间的区分笔者在刚开始学习汇编语言时,不是很能分清楚汇编地址、逻辑地址、物理地址、段地址、偏移地址、线性地址等概念,这对之后学习造成了不小了影响。在花费了一番功夫之后,终于理清楚了其中
- 2025-01-05Win32汇编学习笔记05
定位关键点3种方法:过程函数api字符串但是不确定用要哪一种方法,可以3种方法都用一下,因为在不同的程序,实用的方法是不一样的窗口程序看控件信息1.通过OD去看还可以用spy++查看还可以用vs2019,打开软件,找到对应控件直接看属性一般拿句柄没用,因为按钮是响应WM_
- 2025-01-04Win32汇编学习笔记04.重定位与汇编引擎
Win32汇编学习笔记04.重定位与汇编引擎-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区-BpSend.net重定位**重定位:**也称为代码自重定位,代码自己去计算自己使用的各种资源再新进程中的地址,相应代码被称为被重新定位过后的代码。示例目标:向指定进程扫雷注入一段机器
- 2025-01-03【汇编靶场】CEmu:一款轻量级多平台架构汇编训练场
关于CEmuCEmu是一款轻量级多平台架构的汇编训练场,广大研究人员可以利用该工具研究和学习汇编语言,以便快速编写和测试汇编语言代码。编写汇编语言很有趣,汇编语言是与计算机通信的最低级语言(人类可理解),对于理解任何机器的内部机制都至关重要。不幸的是,为各种架构(x86、ARM、MIPS、S
- 2025-01-03“illegal instruction”:一个Linux编译选项引发的“血案”——march配置
1.项目场景在项目中,我们将在研发主机的Ubuntu18.04系统上编译的一个可执行程序拷贝到一个全新主机(Ubuntu18.04)上运行时,出现了“illegalinstruction”错误。如下图所示:2.问题描述当时最开始以为是代码问题,尝试了很多修改,没任何用。后面推断是动态库的问题,将我们依赖
- 2025-01-01Win32汇编学习笔记01.环境配置
Win32汇编学习笔记01.环境配置-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区-BpSend.net环境配置masm32下载官网:http://www.masm32.com/安装成功标志环境配置:将masm32下的bin目录添加到path新建include,将masm32目录下的inclcude目录添加进去新建lib,将mas
- 2024-12-308086汇编(16位汇编)学习笔记10.寄存器总结
8086汇编(16位汇编)学习笔记10.寄存器总结-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区-BpSend.net寄存器8086CPU有14个寄存器它们的名称为:AX、BX、CX、DX、SI、DI、SP、BP、 IP**、CS、DS、ES、**SS、PSW。8086CPU所有的寄存器都是16位的,可以存放两个字节。AX、
- 2024-12-30汇编指令5
"AND","OR","XOR","NOT".1.1"AND",与运算符,两个同时相同为1,其余为0.1.2"OR",或运算符,一个为1则为1,其余为0.1.3"XOR",两个相同的为0,其余不同的为1.1.4“NOT”,0变成1,1变成0,只有一个操作数."CMP"比较指令用于对两个操作数进行相减,结果等于0,则
- 2024-12-30汇编指令4
"imul"有符号数相乘有三个操作数,第一个操作数默认和eax相乘,当有两个操作数的时候,默认最后结果赋给左值,当有三个操作数的时候,第三个操作数一定是一个立即数(不能是寄存器和内存地址),第二个操作数可以是寄存器也可以是内存地址,第二个操作数和第三个操作数相乘并赋给左值.1.1可自
- 2024-12-30汇编指令2
"movsx"用于"movsxEAX,BX"赋值表示,二进制表示形式有符号数为正数用0填充前四位,有符号数为负数用F填充前四位,二进制数,前面0开头的为正数,前面1开头的为负数,"movzx"默认用0填充前四位,无论是否正数负数.1.1A123二进制数为负数,用F填充前4位.1.2A123,二进制数用1开头,代表负数.
- 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
- 2024-12-278086汇编(16位汇编)学习笔记06.串操作、流程转移指令
8086汇编(16位汇编)学习笔记06.串操作、流程转移指令-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区-BpSend.net 串操作源操作数使用si,默认段为DS,可段超越目的操作数使用di,默认段为ES,不可段超越串方向串方向由DF标志位影响,可以由指令修改重复前缀串操作指令一
- 2024-12-27六、汇编实战
打印:helloworld在屏幕上输出字符movdl,'a' ;将要打印的字符放到dl中movah,02h;设置显示字符的功能号int21h;调用DOS中断,打印字符在屏幕上输出字符串movah,09h;设置显示字符串的功能号int21H
- 2024-12-258086汇编(16位汇编)学习笔记04.乘除和移位指令
8086汇编(16位汇编)学习笔记04.乘除和移位指令-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区-BpSend.net乘法和除法指令用的不多,因为效率很低比较指令CMP(compare)•格式:CMPOPD,OPS•功能:(OPD)—(OPS),跟减法指令很像,但是不存结果•说明:目的操作数减去源操作数
- 2024-12-248086汇编(16位汇编)学习笔记03.汇编指令
原文链接:https://bpsend.net/thread-113-1-2.html指令种类数据传送指令算数运算类指令位操作类指令串操作类指令控制转移类指令处理器控制类指令数据传送类指令**传送类指令不影响标志位,**除了标志位传送指令外。传送指令MOV(move)说明把一个字节或字的操作数从源地
- 2024-12-238086汇编(16位汇编)学习笔记02.分段,机器码和寻址
原文链接:https://bpsend.net/thread-112-1-2.html分段问题18086是16位cpu,最多可以访问(寻址)多大内存?运算器一次最多处理16位的数据。地址寄存器的最大宽度为16位。访问的最大内存为:216=64K即0000-FFFF。问题28086允许最大内存1M,如何实现访问(寻址
- 2024-12-228086汇编(16位汇编)学习笔记01.汇编基础和debug使用
原文链接:https://bpsend.net/thread-100-1-2.html 为什么学习16位汇编?16位操作指令最多能够操作两个字节,且更能够体现出与硬件的交互。16位下的指令和32位汇编的指令差不多。16位汇编的指令在32位一样使用.要学好汇编必须要了解一点点硬件知识,16汇编是直接操作
- 2024-12-218086汇编(16位汇编)学习笔记00.DEBUG命令使用解析及范例大全
转载自:https://bpsend.net/thread-99-1-1.html启动Debug,它是可用于测试和调试MS-DOS可执行文件的程序。Debug[[drive:][path]filename[parameters]]参数[drive:][path]filename指定要测试的可执行文件的位置和名称。parameters指定要测试的
- 2024-12-21大学8086汇编debug——关于int3断点之后继续调试的方法
预先在汇编中打入int3,然后在debug中利用G,就可以一路运行到断点处。正文在断点上可以用U来查看上下代码的位置断点后运行然后用-g=xxxx:xxxx可以运行到下一个断点,或是直接运行至结束还可以用-t=xxxx:xxxx逐步运行注意:xxxx:xxxx是int3下一个命令的地址