170516 逆向-启动函数和函数识别
来源:互联网 发布:linux 查看死机日志 编辑:程序博客网 时间:2024/06/03 05:19
1625-5 王子昂 总结《2017年5月16日》 【连续第227天总结】
A.逆向分析技术 启动函数和函数的识别
B.启动函数:
在编写Win32应用程序时,都必须在源码里实现一个WinMain函数。但Windows程序执行并不是从WinMain函数开始的,首先被执行的是启动函数相关代码,这段代码是编译器生成的。启动代码完成初始化进程,再调用WinMain函数。
所有的启动函数的作用基本都是相同的:检索指向新进程的命令行指针,检索指向新进程的环境变量指针,全局变量初始化,内存堆栈初始化等。
当进入点返回时,启动函数便调用C运行库的exit函数,将返回值传递给它,进行一些必要处理,最后调用系统函数ExitProcess退出。
在分析程序过程中,启动代码可以略过,直接将重点放到WinMain函数体内。
函数:
程序都是由不同功能的函数(子程序、过程或类似概念的东西)组成的。
一个函数有如下几部分:函数名、入口参数、返回值和函数功能。
函数识别:
程序中通过调用程序调用函数,而在函数执行完后又返回调用程序继续执行。
为了能够顺利返回调用程序,需要保存返回地址。
大多数情况下,使用CALL和RET指令来完成这件事。
CALL在跳向函数之前,将当前指令的内存地址压入栈中
RET通常表示函数结束,从栈中读出调用程序的地址,继续执行
C.明日计划
逆向函数的参数和返回值
阅读全文
0 0
- 170516 逆向-启动函数和函数识别
- 逆向 C++-- 识别类及其构造函数
- c&c++反汇编与逆向分析学习笔记(4)--启动函数和用户入口
- 逆向常用API函数
- 逆向虚函数
- 逆向虚函数
- 逆向常用的函数
- 170521 逆向-虚函数
- 逆向常见函数
- C++反汇编与逆向之识别main函数学习笔记
- 逆向随笔 - strcmp函数的实现和分析
- 逆向随笔 - strcat函数的实现和分析
- Android SO逆向-对象的继承和虚函数
- main函数和启动例程
- main函数和启动例程
- main函数和启动例程
- main函数和启动例程
- main函数和启动例程
- 网易2017内推笔试编(数列还原)
- Makefile中的wildcard的用法
- Ubuntu14.04安装编译ffmpeg
- 用SFML完成飞机大战全教程【0准备活动】
- Java中的Collection
- 170516 逆向-启动函数和函数识别
- 一、WPF布局之让你的控件随着窗口等比放大缩小,适应多分辨率满屏填充应用
- poj 3468 线段树区间更新
- MySQL时间类
- js前端获取 用户的ip地址的方法
- 对java流的初步总结
- String数组转换成JSON
- week10(部分)
- json教程及json在Java中的使用