• 新版本RadAsm编译环境配置


    博客上关于RadAsm阅读量很高,而之前的文章适用于旧版.这里出以下新版.虽然此时是新版.但是以后会更新的.但是大体不会改变.而且这一次的设置更快,更方便.

    RadAsm配置

    RadAsm配置环境

    1.1 RadAsm下载安装,与Masm32下载安装

    RadAsm下载可以去Github下载: https://github.com/mrfearless/RadASM2/releases

    而Masm下载也可以在其对应的官网下载: http://www.masm32.com/download.htm

    最后资料我会打包.如果不想下载的可以下载打包文件

    • RadAsm安装

      安装很简单,打开压缩包,下一步下一步即可.

    打开后会让你选择语言.这里英文好的选英文,中文好的选中文.后面是可以修改的.

    下一步下一步

    左侧针对你感兴趣的进行选择即可.选择好安装文件夹,直接安装即可.安装之后即可打开.

    注意,要记住你的安装文件夹.否则安装完你可能找不到.因为不会再桌面创建快捷方式.

    不过你可以在开始菜单中找到(WIN10)

    • Masm32编译器安装

      想使用RadAsm就必须安装Masm32. RadAsm只是一个IDE.当然你如果想写别的汇编,可以使用不同的asm.比如我这里使用的是 inter汇编.也就是Masm

    • 打开压缩包之后,旁边有个地球.只需要点击地球.选择你的盘符即可. 他会在盘符下面创建masm32文件夹. 注意,只能选择盘符.因为它不支持选择盘符下的xxx文件夹.不过不影响.

      下一步下一步默认安装即可.

    1.2 RadAsm的配置

    首先其Github上有说明怎么配置.有兴趣的可以去看一下.

    https://github.com/mrfearless/RadASM2/wiki/Setting-up-the-RadASM-environment

    这里我讲解一下我的设置.

    • 选项->编程语言->选择你的masm,并且在 RadAsm根目录下找到masm.ini选择添加进行配置

    这一步是跟着github上说的去做的.做完这一步你编写完工程是不能直接编译的.

    因为你没有设置路径.所以会导致你编译的时候出错

    • 设置Masm32编译环境

      选项->设置路径

      如下图所示

      只需要设置两个路径即可.也就是上图画出来的.

      一个是你刚刚安装好的 Masm32的根路径,比如我在盘符 "G"下面安装的,我就选择这个

      另一个是你的调试器.因为编写的是32位汇编.所以我选择的是 x32Dbg.exe的路径. 当然你可以选择你喜好的调试器路径. 如 OllyDbg

      至此我们就已经配置好了环境.

    1.3新建工程,编译调试测试是否成功

    配置好了就要进行测试.我们新建一个工程.

    我选择的编译器是Masm 工程类型是 consolo,可以根据你的喜好来.直接下一步下一步即可.

    记住自己的工程目录.因为编译好之后你的exe会在这个目录下

    生成之后右侧选择你的 asm文件即可.里面写入汇编.

    .386
    .model flat ,stdcall
    option casemap:none
    
    .const
    .data
    
    .code
    
    start:
    	mov eax,eax
    	ret
    end start
    

    添加之后就可以编译执行了,如下图所示

    F5 就是将asm编译为obj

    Link 就是将Obj编译为Exe 也就是链接. 这是属于基础知识.不多讲解.

    最后如果想一气呵成. 直接点击 Build即可.

    下面就是调试. CTRL + D就会运行你的调试器进行调试.注意,要先编译并且链接.CTRL +D 只是启动这个程序而已.

    这里有一个坑. 当你设置调试路径的时候.他会默认打开下面的OllyDbg.exe. 而你设置x32dbg.exe则是错误的.这个Bug可以通过逆向进行修复.修改.当然如果嫌麻烦可以不用设置.设置路径为下即可.

    E:xxxX64Dbg
    eleasex32 路径设置为这个
    在这个路径下将你的x32dbg.exe 创建一个快捷方式. 快捷方式命名为OllyDbg即可.
    

    调试图片

    资料蓝奏: https://lanzous.com/b00ti15yd
    密码:6zj5

  • 相关阅读:
    远程连接阿里云服务器记录
    java 怎样 改变 数组元素的值
    Knife4j 注解详谈
    warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&f);
    三分钟了解VRRP、堆叠、M-LAG这三大虚拟化技术
    网络虚拟化VXLAN网络架构
    虚拟化平台运维 10 个知识和经验
    BIOS 与 UEFI引导流程
    MBR 与 GPT
    4KB扇区硬盘来了,RAID、VMware兼容不?
  • 原文地址:https://www.cnblogs.com/iBinary/p/12802276.html
Copyright © 2020-2023  润新知