avatar
Articles
188
Tags
78
Categories
17

Theqiqi_blog
Search

Theqiqi_blog

如何使用visualstudio2022在c语言中内连x86汇编
Created2023-04-05|assembly_x86|x86汇编程序
具体过程: 一 使用visualstudio2022新建一个c语言项目 二 c语言内连x86汇编的具体代码示例 补充零散知识点: 具体过程:一 使用visualstudio2022新建一个c语言项目二 c语言内连x86汇编的具体代码示例x86_inline_c.cpp 1234567891011121314151617181920212223242526272829//x86_inline_c.cpp#include <stdio.h>#include <stdlib.h>#include <Windows.h>int main(){ //x86 _asm{} //x64 写纯汇编混合编程/换编译器 int number = 0; const char* szFormat = "%d\n"; const char* szPause = "pause"; //printf("%d\n",nUmber); //_cdecl _asm { ...
如何新建一个dll文件并在远程线程中加载
Created2023-04-05|Hacking•c++
具体过程: 一 使用visualstudio2022创建一个动态链接库项目 备注: 二 c++语言程序远程注入的代码示例 cpp代码示例 备注: 具体过程:一 使用visualstudio2022创建一个动态链接库项目dllmain.cpp默认代码 1234567891011121314151617181920// dllmain.cpp : Defines the entry point for the DLL application.#include "pch.h"BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ){ switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: case DLL_THREA ...
如何在x86汇编中使用伪指令
Created2023-04-05|assembly_x86|x86汇编程序
具体过程: 一 用visual studio2022新建一个x86汇编项目 二 伪指令if() else()在x86汇编中的应用 三 伪指令.while在x86汇编中的应用 四 使用伪指令在x86汇编中输入打印文本 具体过程:一 用visual studio2022新建一个x86汇编项目二 伪指令if() else()在x86汇编中的应用entry.asm 123456789101112131415161718192021222324252627282930313233include entry.inc.codeprintNumber proc Number:dword mov eax,Number push eax mov eax,offset szFormatd push eax call printf add esp,8 retprintNumber endpmain proc mov dwIndex,11 .if dwIndex == 10 mov dwNumber,10 invoke printNumber,dwNumber .elseif dwNumber ...
如何给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 ...
1…171819
avatar
Theqiqi
Articles
188
Tags
78
Categories
17
Follow Me
Announcement
This is my Blog
Recent Post
4.QT使用https协议通信2025-03-23
3.QT使用http协议通信2025-03-23
1.QT使用udp通信2025-03-23
1.QT使用udp通信2025-03-23
windows驱动开发40.用户层与驱动层的其他通信方式2025-03-13
Categories
  • C++Socks4
  • C++Windows+Graphi9
  • C+Socks16
  • C+Sound10
  • C语言在Windows中实现抓包4
  • C语言的万种用法9
  • Debian1
  • Drvier40
Tags
Drvier Http c语言的万种用法 jsp x86汇编程序 GDI ISO Direct3D9 Direct2D IPV4 genisoimage TCP windows driver MySql BSD Sockets Disk C Npcap DriverMonitor ipv6 android Socks5 cmake ipv4 OpenGl first pragram UDP Qt6 Socket termux System UltraISO WindowsDrive Qt MFC Cmake Ipv6 WinSock Graphi rufus
Archives
  • March 202544
  • February 202523
  • September 20242
  • August 202470
  • June 20242
  • March 20245
  • February 20248
  • October 20231
Info
Article :
188
UV :
PV :
Last Update :
©2020 - 2025 By Theqiqi
Framework Hexo|Theme Butterfly
Search
Loading the Database