曲曲的秘密学术基地

纯化欲望、坚持严肃性

欢迎!我是曲泽慧(@zququ),目前在深圳(ICBI,BCBDI,SIAT)任职助理研究员。


病毒学、免疫学及结构生物学背景,可以在 RG 上找到我已发表的论文

本站自2019年7月已访问web counter

C语言 如何利用mac xcode实现C语言反汇编

今天谈一下,如何利用mac系统下的xcode实现类似于windows系统下microsoft visual C++的反汇编功能。

(1) 首先安装xcode

(2) 按顺序在菜单栏目依次选择:file –> new –> Project…

(3) 在新弹出的菜单栏中在最上面选择macos标签页下的Command Line Tool图标,如图所示:

figure1

(4) 在新弹出的菜单栏中的Language选项栏中选择C,

figure2

(5) 主界面上左侧菜单栏中会出现两个文件夹分别存放代码以及编译好的程序,

figure3

(6) 在main.c中输入测试程序,如图,

figure4

(7) 依次在菜单栏选择:Debug –> Debug Workflow –> Always Show Disassembly,勾选此项

(8) 在main.c中加入breakpoint准备对程序进行调试,快捷键:Command + ‘\’

figure5

(9) 运行程序,快捷键:Command + R

(10) 运行后,反汇编的x86代码就会以函数(main,love)的形式给出,如图所示,

figure6

Last One

汇编语言 10.7-10.10 call和ret的配合使用 mul 模块化 参数和结果传递的问题

10.7 call和ret的配合使用问题(1) 下面程序返回前,bx中的值是多少?assume cs:codecode segmentstart: mov ax, 1 mov cx, 3 call s mov bx, ax mov ax, 4c00h int 21h s: add ax, ax loop s retcode endsend start分析程序运行的过程: CPU将call s 指令的...…

汇编语言More
Next One

汇编语言 10.4 10.5 10.6 转移的目的地址在指令,寄存器以及内存中的call指令

10.4 转移的目的地址在指令中的call指令前面讲的call指令,其对应的及其指令中并没有转移的目的地址,而是相对于当前IP的转移位移。“call far ptr 标号”实现的是段间转移。CPU执行此种格式的call指令时,进行如下的操作。 (sp)=(sp)-2 ((ss)*16+(sp))=(CS)(sp)=(sp)-2((ss)*16+(sp))=(IP) (CS)=标号所在段的段地址(IP)=标号在段中的偏移地址 从上面的描述中可以看出,如果我们用汇编语...…

汇编语言More