草庐IT

汇编指令

全部标签

windows - 是否可以在 .text 段中使用 NASM 中的 DB 指令创建可写变量?

我试过在.text段中使用例如声明变量file_handle:dd0.但是,尝试在此变量中存储一些内容,例如mov[file_handle],eax会导致写入错误。我知道,我可以在.data段中声明可写变量,但为了使代码更紧凑,我想像上面那样尝试。使用堆栈来存储这些值(例如文件句柄)是唯一的可能性吗?还是我可以以某种方式写入上面的变量? 最佳答案 可执行代码段默认是不可写的。这是一项基本的安全预防措施。不,这不是一个好主意。但如果你坚持,因为这毕竟是一个玩具项目,那就去吧。您可以通过让链接器知道将其标记为可写,例如将以下参数提供给M

Linux的常见指令(持续更新)

 简单指令:概念介绍: 1.目录🟰文件夹2.同级目录下,不允许存在同名文件或目录。也就是多叉树的同一层不允许存在同名节点如果大家有的指令不知道有什么选项就可以在指令后➕--help,就可以查到了 例如:ls--help      rm--help​​​​​​​     mkdir--helpLinux指令示范用法说明whowho查看哪些人登陆我的机器whoami (whoami)whoami查看当前账号是谁pwdpwd查看当前我所在的目录clearclear清屏tree目录名(文件夹名)treegame以树形结构列出该文件夹下的所有文件stat目录名statgame查看指定目录的更详细的属性信

【Linux(0)】为什么要学习Linux,为什么互联网公司在招聘时,会提出要有Linux经验,及其使用;一些Linux常见指令

前言💓作者简介:加油,旭杏,目前大二,正在学习C++,数据结构等👀💓作者主页:加油,旭杏的主页👀⏩本文收录在:再识C进阶的专栏👀🚚代码仓库:旭日东升1👀🌹欢迎大家点赞👍收藏⭐加关注哦!💖学习目标:       在学习完C语言后,紧接着,我们要来学习Linux。为什么要学习Linux呢?因为在日常生活和工作中,我们一定会用到的,我们常常可以看见一些互联网公司在招聘时,会提出求职者要有Linux经验,为什么它会在互联网公司中频频出现,又为什么会在学完C语言后学习Linux呢?下面会讲。这一篇博客将会带领大家进入Linux的世界,在了解完Linux是如何出现的后,我们在来了解一下Linux的一些基本

c++ - 如何从 Windows x64 的汇编程序访问 C 数组?

我编写了一个汇编程序函数来加快图像处理的速度(图像是使用CreateDIBSection创建的)。对于Win32,汇编程序代码可以正常工作,但对于Win64,我在尝试访问我的数组数据时立即崩溃。我将相关信息放入一个结构中,我的汇编程序函数获得指向该结构的指针。结构指针被放入ebx/rbx并通过索引从结构中读取数据。知道我做错了什么吗?我将nasm与VisualStudio2008一起使用,对于Win64,我设置了“默认rel”。C++代码:structmyData{tUInt32ulParam1;void*pData;};CallMyAssemblerFunction(&myData)

windows - 关于汇编远程调用和天堂之门,触发异常的段调用是否会在抛出异常之前推送 cs 和 eip?

目前我正在玩被称为“天堂之门”的windows/WOW64技巧,正如你们中的一些人可能知道的那样,即使在x86程序中,它也允许我们进入x64模式(我很惊讶当我测试了它,它成功了!)但我知道并非所有Windows版本都支持它,所以我的代码(因为有代码)使用seh,它看起来像这样:start:use32;;setupseh...call$33:.64bits_code;specify0x33segment,it'sthateasy;;successinx64mode,quitseh...jmp.exit.64bits_code:use64;;...use32retf.seh_handler

【Vue2从入门到精通】详解Vue.js的15种常用指令及其使用场景

文章目录前言1.v-text/{{expression}}2.v-html3.v-bind4.v-on5.v-model6.v-for7.v-if/v-else-if/v-else9.v-show10.v-cloak11.v-pre12.组件注册指令13.动态组件指令14.自定义指令15.过滤器指令写在最后前言Vue.js是一款流行的前端框架,它通过指令(Directive)实现了对DOM元素的控制,使得开发者能够更加方便地管理页面的展示和交互。下面是Vue.js常用指令及其使用场景:1.v-text/{{expression}}v-text指令可以用来将元素的文本内容设置为指定的值,{{ex

windows - 对 Win32 API 调用在汇编中的工作方式感到困惑

我不知道如何更好地提出这个问题,但为什么会这样:callExitProcess做同样的事情吗?moveax,ExitProcessmoveax,[eax]calleax我认为这些是等价的:callExitProcessmoveax,ExitProcesscalleax 最佳答案 从DLL导入代码时,符号ExitProcess实际上不是退出进程的代码地址(它是地址的地址)。因此,在那种情况下,您必须取消引用它才能获得实际的代码地址。这意味着您必须使用:call[ExitProcess]调用它。例如,thislocation处有一些代码

Linux :: 【基础指令篇 :: 文件及目录操作:(7)】:: cp:指定文件或目录的拷贝及指定拷贝到指定路径(与重命名)

前言:本篇是Linux基本操作篇章的内容!笔者使用的环境是基于腾讯云服务器:CentOS7.664bit。学习集:C++入门到入土!!!学习合集Linux从命令到网络再到内核!学习合集目录索引:1.基本语法及功能2.常用可选项说明3.文件基本拷贝操作--3.1指定文件拷贝到当前目录--3.2拷贝指定文件到指定目录--3.3拷贝指定文件到上级目录4.目录拷贝基本操作--4.1测试直接拷贝目录--4.2可选项[-r]实现目录拷贝--4.3拷贝目录及文件5.相关文章或系列推荐1.基本语法及功能语法:cp[选项]源文件或目录目标文件或目录(已存在!)目标文件可以赋予新的名字!功能:复制文件或目录说明:

windows - IDA Pro 反汇编显示 ?而不是 .data 中的十六进制或纯 ascii?

我正在使用IDAPro反汇编WindowsDLL文件。有一次我有一行代码说movesi,dword_xxxxxxxx我需要知道dword是什么,但双击它会将我带到.data页面,一切都是问号。我如何获得应该存在的纯文本? 最佳答案 如果您在IDA中看到问号,这意味着文件(在您的磁盘驱动器上)的这个位置没有物理数据。PE文件中的节有一个物理大小(由节头的SizeOfRawData字段给出)。此物理大小(在磁盘上)可能与Windows加载程序将其映射到进程内存后的部分大小不同(此大小由部分标题的VirtualSize字段给出)。因此,如

Linux的常见指令(二)

目录一、mv二、cat三、more四、less五、head六、tail七、date八、cal一、mv可以用来移动文件或者将文件改名(move(rename)files),是Linux系统下常用的命令,经常用来备份文件或者目录。功能:1、类似剪切粘贴的功能,移动文件或者目录。mv[选项]源文件或目录目标文件或目录2、对文件或者目录进行重命名。语法:mv[选项]原名新名-f:force强制的意思,如果目标文件已经存在,不会询问而直接覆盖。-i:若目标文件(destination)已经存在时,就会询问是否覆盖。演示:二、cat语法:cat选项 文件功能:查看目标文件的内容(将文件内容显示出来)。-n