【逆向知识】VS程序反汇编找main函数
工具:OllyICE
调试快捷键说明:
F2键:设置断点,只要在光标定位的位置
F4键:程序运行到光标处
F7键:单步步入。功能同单步步过(F8)类似,区别是遇到 CALL 等子程序时会进入其中,进入后首先会停留在子程序的第一条指令上。
F8键:单步步过。每按一次这个键执行一条反汇编窗口中的一条指令,遇到 CALL 等子程序不进入其代码。
回车键:
F9键:运行。按下这个键如果没有设置相应断点的话,被调试的程序将直接开始运行。
VS2013 默认调用三个参数
VS2015 默认调用四个参数
对表示有main字样的地址,按F2键设置断点,按F4键将程序运行到光标处。F7进入有main函数的内部,F8键单步步入。遇见push ebp,则是程序的开头;
注意:不同编译器有不同的处理,对于微软的VS系列,编译器总是生成使用[ebp-disp]的代码来访问局部变量。
012C2E70 > 55 push ebp
012C2E71 8BEC mov ebp,esp
012C2E73 E8 69E2FFFF call 10_1_静?012C10E1
012C2E78 50 push eax
012C2E79 E8 74E5FFFF call 10_1_静?012C13F2
012C2E7E 8B00 mov eax,dword ptr ds:[eax]
012C2E80 50 push eax
012C2E81 E8 54E4FFFF call 10_1_静?012C12DA
012C2E86 8B08 mov ecx,dword ptr ds:[eax]
012C2E88 51 push ecx
012C2E89 E8 DFE2FFFF call 10_1_静?012C116D
012C2E8E 83C4 0C add esp,0xC
012C2E91 5D pop ebp
012C2E92 C3 retn
转载于:https://www.cnblogs.com/17bdw/p/6111897.html
【逆向知识】VS程序反汇编找main函数相关推荐
- c语言程序执行完main函数后,一个c程序在执行main函数之前和main之后都做了那些事情啊该如何解决...
当前位置:我的异常网» C语言 » 一个c程序在执行main函数之前和main之后都做了那些 一个c程序在执行main函数之前和main之后都做了那些事情啊该如何解决 www.myexceptions ...
- 在一个C程序中,main()函数可以放在哪?
C语言规定,在一个C程序中,main()函数的位置(). A.必须在系统调用的库函数之后 B.必须在程序的开始 C.必须在程序的最后 D.可以在任意位置 答案:D [解析] 每个C程序有且只有一个主函 ...
- c语言程序总是从main函数开始执行,c语言程序总是从main函数开始执行吗?
是的,一个C程序总是从main函数开始执行,而不论其在程序中的位置.在main函数中可以调用程序中的其他函数,而其他函数却不可以调用main函数:程序最后再从main函数中结束. 本教程操作环境:wi ...
- C语言程序可以没有main函数
原文链接:http://www.wufangbo.com/175871/ 学习C语言的同学都知道,每个C程序要有一个main函数,程序从main函数开始执行,在main函数中结束.但事实上,C程序也可 ...
- 在C语言程序中 main函数的位置,在C语言程序中,main函数的位置是________。
8.<农村人居环境整治三年行动方案>,中置聚焦农村生活垃圾.中置生活污水治理和村容村貌提升等重点领城,集中实施整治行动.其中,垃圾分类主要是建立健全符合农村实际.方式多样的生活垃圾收运处置 ...
- [C/C++基础知识] main函数的参数argc和argv
该篇文章主要是关于C++\C语言最基础的main函数的参数知识,是学习C++或C语言都必备的知识点.不知道你是否知道该知识?希望对大家有所帮助. 一.main()函数参数 通常我们在写主函数时都是vo ...
- Linux下main函数启动过程【程序员自我修养笔记】【自用】
1. 入口函数和程序初始化 1.1 程序从main开始吗? 当程序执行到main函数的第一行时,很多事情都已经完成了: [证1]如下是一段C语言代码: 代码中可以看到,在程序刚刚执行到main的时候, ...
- c++语言程序中,main()函数必须放在程序开始的部分,C++多选题(附答案)
计算机二级考试,附答案 多选题题库 C概述 1.[多选题.2005-4]不是C语言程序的基本单位是________. (A). 程序行 (B). 函数 (C). 语句 (D). 字符 2.[多选题.2 ...
- c++语言程序中,要调用的函数必须在main()函数中定义,惠州学院C++考试复习题
惠州学院C++复习题 一.选择题 1.C++的源文件的扩展名是_____C____. A.h B.obj C.cpp D.exe 2.下列选项能够作为C++变量名的是___C____. A.false ...
最新文章
- html2canvas图片截图截不到图像的问题解决
- Spark学习之路 (二十二)SparkStreaming的官方文档
- Web安全实践(14)嗅探,arp欺骗,会话劫持与重放攻击(下)
- 0基础怎么学python10010基础怎么学python_0基础学python全套python教程
- 脚本两则--用于快速部署HADOOP,SPARK这些(特别是VM虚拟机模板部署出来的)。。...
- 【Java数据结构与算法】第四章 栈实现综合计算器
- python中assert是什么意思,python中assert断言的用法
- python类的继承代码_python--类的继承
- 利用classloader同一个项目中加载另一个同名的类_你知道 Java 类是如何被加载的吗?...
- python-制作手机通讯录导入的vcf格式文件,txt格式转vcf格式
- 云边端+AI,智慧仓储物流远程视频监控方案分析
- 备忘录形成html乱码,浏览器icloud网页版备忘录乱码不能显示中文汉字-企业网站设计之中的字体坑...
- android本地视频 投屏,小米投屏神器
- ORACLE EBS常用表及查询语句(二)
- 小知识系列(3):Hanoi塔(汉诺塔,河内塔)
- php 获取rsa 模数,使用Python从公钥获取RSA指数和模数
- 配色(转http://huaban.com/boards/13532082/)
- 【实用小工具】开发一个网页版LED点阵绘图模拟器
- 搭建SpringCloud配置中心 Config Server
- 【渝粤题库】广东开放大学 管理学原理 形成性考核
热门文章
- Python入门-try-except-else-finally
- Unity3D基础28:Invoke计时函数与碰撞销毁
- bzoj 1642: [Usaco2007 Nov]Milking Time 挤奶时间(DP)
- 大数乘法(c++)算法
- virtualenv虚拟独立python环境使用
- k8s上安装并初始化Helm,helm基础使用教程
- jquery层次选择器:空格 > next + nextAll ~ siblings
- quartus调用D触发器DFF和JK触发器JKFF
- Oracle11g限制ip访问数据库,Oracle11g设置IP访问限制
- [UOJ22]外星人