avatar
Articles
286
Tags
104
Categories
25

Theqiqi_blog
Search

Theqiqi_blog

如何给x86汇编添加头文件和使用结构体
Created2023-04-05|assembly_x86|x86汇编程序
具体过程: 一 用visual studio2022新建一个x86汇编项目 二 在x86汇编程序中使用头文件 1.添加头文件,例如entry.inc 备注: 2. 修改entry.asm文件 三 invoke指令的使用 使用invoke指令可以方便调用win32 api 四.导入写好的头文件 1. 下载masm,提取include文件夹 2.在项目中导入所需头文件 3.代码示例 五.无参宏与有参宏 六.用invoke调用封装的printf函数 七 结构体的使用方法 八 api中使用结构体 具体过程:一 用visual studio2022新建一个x86汇编项目二 在x86汇编程序中使用头文件1.添加头文件,例如entry.incentry.inc 123456789101112;entry.inc.586.model flat,stdcalloption casemap:noneincludelib ucrt.libincludelib User32.libincludelib kernel32.libincludelib legacy_stdio_defini ...
如何用x86汇编进行进制与位运算
Created2023-04-05|assembly_x86|x86汇编程序
具体过程: 一 用visual studio2022新建一个x86汇编项目 二 使用and指令进行与运算 三 使用or指令进行或运算 四 使用xor指令进行异或运算 具体过程:一 用visual studio2022新建一个x86汇编项目二 使用and指令进行与运算and.asm 123456789101112131415161718192021;and.asm.586.model flat,stdcalloption casemap:noneincludelib ucrt.libincludelib legacy_stdio_definitions.libincludelib Kernel32.libincludelib User32.libExitProcess proto uCode:DWORD.codemain proc mov eax,11111111b mov ebx,10101010b and eax,ebx push 0 call ExitProcessmain endpend 三 使用or指令进行或运算or.asm 1234567891011121314 ...
如何使用x86汇编调用win32api
Created2023-04-05|assembly_x86|x86汇编程序
具体过程: 一 用visual studio2022新建一个x86汇编项目 二 调用win32api 函数MessageBoxA的汇编程序代码 备注: 1.调用MessageBoxA需要库includelib Kerne132.lib和includelib User32.lib 2.MessageBoxA proto hWndx:DWORD,lpText:BYTE,lpCaption:BYTE,uType:DWORD的意思是调用函数并传参数 三 调用退出进程函数ExitProcess的汇编程序代码 具体过程:一 用visual studio2022新建一个x86汇编项目二 调用win32api 函数MessageBoxA的汇编程序代码x86_call_win32api.asm 12345678910111213141516171819202122232425;x86_call_win32api.asm.586.model flat,stdcalloption casemap:noneincludelib ucrt.libincludelib legacy_std ...
如何使用x86汇编调用c语言printf函数
Created2023-04-05|assembly_x86|x86汇编程序
具体过程: 一 用visual studio2022新建一个x86汇编项目 二 x86汇编调用c语言printf函数的代码部分 备注: 三 使用lea传入参数 具体过程:一 用visual studio2022新建一个x86汇编项目二 x86汇编调用c语言printf函数的代码部分x86_call_printf.asm 123456789101112131415161718192021222324;x86_call_printf.asm.586.model flat,stdcalloption casemap:noneincludelib ucrt.libincludelib legacy_stdio_definitions.libextern printf:proc.dataFormat db '%d',0.codemain proc mov eax,64h push eax mov ecx,offset Format push ecx call printf add esp,8 retmain endpend 备注:includelib ucr ...
如何用visual studio写一个32位汇编程序
Created2023-04-05|assembly_x86|x86汇编程序
具体过程: 一 32位汇编程序开发环境搭建 1.安装visual studio2022 2.使用visual studio2022新建一个空项目 (1) 新建空项目。 (2) 设置 生成依赖项目~生成自定义-勾选masm。 (3) 给源文件添加新建项,新建一个后缀名为asm的文件,,例:entry.asm。 (4) 设置函数入口点,例如main。右键属性->链接器->高级->入口点。 二 第一个32位汇编程序代码 补充零散知识点: 三 编译运行 具体过程:一 32位汇编程序开发环境搭建1.安装visual studio20222.使用visual studio2022新建一个空项目(1) 新建空项目。(2) 设置 生成依赖项目~生成自定义-勾选masm。(3) 给源文件添加新建项,新建一个后缀名为asm的文件,,例:entry.asm。(4) 设置函数入口点,例如main。右键属性->链接器->高级->入口点。二 第一个32位汇编程序代码entry.asm 1234567891011121314;entry.asm.586.m ...
如何利用vs与ida反汇编写汇编程序
Created2023-03-21|assembly_x86_64|64位汇编程序
过程 一 新建两个空项目并分别添加cpp与asm文件 1.新建一个c语言空项目 2.运行库设置为MTD:右键项目属性,点击代码生成,将运行库选择位多线程调试(/MTD) 3.禁用Spectre缓解库 4.添加cpp文件,重命名为disassembly_cpp.cpp 5.使用vs进行反汇编并复制所需代码 6.修改反汇编的代码 7.新建一个汇编语言空项目,并勾选masm和设置函数入口点为main 8.添加asm文件,重命名为disassembly_cpp.cpp,将改好的反汇编代码粘贴 二.使用IDA反汇编 过程一 新建两个空项目并分别添加cpp与asm文件1.新建一个c语言空项目2.运行库设置为MTD:右键项目属性,点击代码生成,将运行库选择位多线程调试(/MTD)3.禁用Spectre缓解库4.添加cpp文件,重命名为disassembly_cpp.cppdisassembly_cpp.cpp 12345678910//disassembly_cpp.cpp#include <stdio.h>int main(){ fo ...
如何在c语言中内连x64汇编
Created2023-03-21|assembly_x86_64|64位汇编程序
具体步骤如下所示: 一 用visual studio新建一个C语言程序空项目 1.添加x64_Inline_assembly.asm 2.添加x64_Inline_cpp.cpp 二 c语言内连汇编的代码部分 补充:需要注意,asm文件和cpp文件同名时编译会产生错误。 三 c语言调用带参数的汇编函数代码部分 补充知识点:rcx寄存器默认第一个参数,rdx为默认第二个,r8默认第三个,r9默认第四个。 四 c语言调用带参数并且带返回值的汇编函数的代码部分 补充知识点:寄存器rax作为返回值 补充零碎知识点: 具体步骤如下所示:一 用visual studio新建一个C语言程序空项目 1.添加x64_Inline_assembly.asm 2.添加x64_Inline_cpp.cpp 二 c语言内连汇编的代码部分x64_Inline_assembly.asm 1234567891011121314151617181920212223242526272829303132333435;x64_Inline_assembly.asmincludelib ...
如何使用x64汇编调用win32api
Created2023-03-21|assembly_x86_64|64位汇编程序
具体过程如下所示 一 用visual studio新建一个汇编语言程序项目 二 x64汇编语言调用windows弹窗函数 MessageBoxA的代码部分 具体过程如下所示一 用visual studio新建一个汇编语言程序项目二 x64汇编语言调用windows弹窗函数 MessageBoxA的代码部分x64_call_win32api.asm 12345678910111213141516171819202122;x64_call_win32api.asmincludelib ucrt.libincludelib legacy_stdio_definitions.libextern MessageBoxA:proc.dataString db 'how you doing',0Caption db 'Caption',0.codemain proc sub rsp,28h mov r9,0 lea r8,Caption lea rdx,String mov rcx,0 call MessageBoxA add rsp,28h ...
如何使用x64汇编调用c语言函数
Created2023-03-21|assembly_x86_64|64位汇编程序
具体过程如下所示: 一 用visual studio新建一个汇编语言程序项目 二 使用x64汇编调用c语言printf函数代码内容 三 使用x64汇编调用c语言printf函数循环打印代码内容 扩展: 具体过程如下所示:一 用visual studio新建一个汇编语言程序项目二 使用x64汇编调用c语言printf函数代码内容x64_call_function.asm 123456789101112131415161718192021;x64_call_functionincludelib ucrt.libincludelib legacy_stdio_definitions.libextern printf:proc.dataString db 'HelloWorld',0Format db '%s',0.codemain proc sub rsp,28h lea rdx,String lea rcx,Format call printf add rsp,28h retmain endpend 三 使用x64汇编调用c语言 ...
如何使用visualstudio写一个64位汇编程序
Created2023-03-21|assembly_x86_64|64位汇编程序
具体过程如下所示: 一 首先使用visual studio新建一个空项目. 二 勾选msam 三 给源文件新建一个后缀名位.asm文件,例如:first_assembly_x64.asm 鼠标右键源文件,点击添加新建文件改名为first_assembly_x64.asm,具体过程如图所示: 四 单独一个汇编程序需要将函数入口点设为main 右键项目属性,点击,选择链接器高级入口点~输入main,具体过程如图所示: 五 汇编程序的代码部分 补充零散知识点: 具体过程如下所示:一 首先使用visual studio新建一个空项目. 二 勾选msam 右键菜单,点击生成依赖项,生成自定义,勾选masm 三 给源文件新建一个后缀名位.asm文件,例如:first_assembly_x64.asm鼠标右键源文件,点击添加新建文件改名为first_assembly_x64.asm,具体过程如图所示: 四 单独一个汇编程序需要将函数入口点设为main右键项目属性,点击,选择链接器高级入口点~输入main,具体过程如图所示: 五 汇编程 ...
1…272829
avatar
Theqiqi
Articles
286
Tags
104
Categories
25
Follow Me
Announcement
This is my Blog
Recent Post
101.使用Grop网站提供的api2026-01-03
9.压测2025-03-27
8.Linux Socket并发模型http服务器2025-03-27
7.web服务器中收发REST接口2025-03-27
6使用c语言与linux系统写一个web服务器,解析并响应get与post请求2025-03-27
Categories
  • C with Socks16
  • C_Sound10
  • C_Windows_Graphi9
  • Cpp5
  • Cpp_Socket4
  • C语言在Windows中实现抓包4
  • C语言的万种用法9
  • Debian1
Tags
cmake Cmake ipv4 x86汇编程序 Hacking LinuxDriver Python C++ android c_windows_driver Drvier epoll Piano OpenGl Disk linux MySql web Ethernet WindowsDrive jsp gtest html poll LinSock first pragram AI UART javascript System C http opencv Sound system PVE Hook Graphi Qt5.8 c语言的万种用法
Archives
  • January 20261
  • March 202595
  • February 202523
  • September 20242
  • August 202471
  • June 20242
  • March 202443
  • February 20248
Info
Article :
286
UV :
PV :
Last Update :
©2020 - 2026 By Theqiqi
Framework Hexo|Theme Butterfly
Search
Loading the Database