avatar
Articles
255
Tags
100
Categories
23

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…242526
avatar
Theqiqi
Articles
255
Tags
100
Categories
23
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 UltraISO AI rufus C GDI Windows web UDP termux poll mysql BSD Sockets x86汇编程序 ISO html Vmware Socks5 Drvier Compile qemu DLL ipv6 Hook TCP 64位汇编程序 Http PVE Qt linux first pragram OpenGl make android Ipv6 python Debian Websocket Graphi Desktop
Archives
  • January 20261
  • March 202596
  • February 202523
  • September 20242
  • August 202471
  • June 20242
  • March 202411
  • February 20248
Info
Article :
255
UV :
PV :
Last Update :
©2020 - 2026 By Theqiqi
Framework Hexo|Theme Butterfly
Search
Loading the Database