首页 > 其他分享 >dbg 寻找main函数

dbg 寻找main函数

时间:2023-04-14 15:38:37浏览次数:41  
标签:函数 dbg 参数 push main 断点 指针


方法一,3个push和堆栈平衡

设置函数入口设断点,打开程序到达断点后,一直按F8运行到类似下面的地方,F7步进查看是否是main函数。

push edi
push esi
push dword ptr ds:[eax]
call project1.D31040
add esp,C

如上,因为main函数的参数是3个,所以,在调用main函数之前一定会有3个参数入栈。

调用main函数后,要平栈,就需要add esp,C                这也是一个main函数的标志。

1,3个入栈

2,调用call--------main函数

3,栈顶指针+C

int main(int argc,char *argv[],char *envp[]){}


main函数的三个参数:

参数	含义
argc	用于存放命令行参数的个数
argv	是个字符指针的数组,每个元素都是一个字符指针,指向一个字符串,即命令行中的每一个参数
envp	也是一个字符指针的数组,这个数组的每一个元素是指向一个环境变量的字符指针

方法二,xxx

标签:函数,dbg,参数,push,main,断点,指针
From: https://blog.51cto.com/u_14011026/6190390

相关文章

  • python 正则处理字符串,使用函数
    """在正则截取的字符子串基础上,处理字符串Python的re模块提供了re.sub用于替换字符串中的匹配项。语法:re.sub(pattern,repl,string,count=0,flags=0)参数:pattern:正则中的模式字符串。repl:替换的字符串,也可为一个函数。string:要被查找替换的原始字符串。cou......
  • python3 多继承时,父类有相同一个函数的选择
    classPeople:name=''age=0__weight=0def__init__(self,name,age,weight):print("People初始化")self.age=ageself.name=nameself.__weight=weightprint("People......
  • Oracle 分析函数
    说明:由于oracle默认大写,所以在本文中会出现一下大写一下小写,在oracle都可以执行,如果oracle字段为小写字段,则需要用双引号查询。需求举例需求假如存在一个需求,查询每个用户所在部门的总工资,在每个员工后面增加一个总工资字段显示。例如部门一合计为15000,部门二合计为100......
  • C++的引用变量作为函数参数
    一、问题引入在C++的中新增一个特性:按引用传递变量,虽然与按传递变量的地址可以实现相同的结果,但引用有其独特的地方。引用传递:引用经常被用作函数参数,使得函数中的变量名成为调用程序中的变量的别名。通过引用变量用作参数,函数将使用原始数据,而不是其副本。二、解决过程举......
  • C语言函数大全--g开头的函数(下)
    C语言函数大全本篇介绍C语言函数大全--g开头的函数(下)17.getmodename17.1函数说明函数声明函数功能char*getmodename(intmode_name);获取指定的图形模式名17.2演示示例#include<graphics.h>#include<stdlib.h>#include<stdio.h>intmain(void){......
  • Postman接口测试之当多个接口都需要使用自定义的函数时解决方案
    //自定义时间戳的动态参数//vartimes=Date.now()//pm.globals.set("times",times);//需要随机出一个范围内的整数数,函数//constrandomInt=(min,max)=>Math.floor(Math.random()*(max-min+1))+min//pm.globals.set("randomNumber",randomInt(1000,3000));......
  • ajax使用回调函数的例子(原生代码和jquery代码)
    ajax使用回调函数的例子(原生代码和jquery代码)一、 ajax代码存在的问题(异步交互的问题)ajax所请求的url,如果因为网络等问题,很久没有回应,则给用户造成“假死”的现象。代码如下:xmlHttp=GetXmlHttpObject();xmlHttp.open();xmlHttp.send();//下面这句,会一直等待,直到有返回值......
  • 【c&c++】strdup函数简介
    strdup函数简介收藏 用法:#include<string.h> 功能:复制字符串s  说明:返回指向被复制的字符串的指针,所需空间由malloc()分配且可以由free()释放。  举例:       //strdup.c          #include<syslib.h>     #include<string.h>      mai......
  • Python中re.finditer函数的使用
    re模块简介re模块是Python标准库中的正则表达式模块。正则表达式是一种特殊的字符串处理方式,常用于匹配文本中的特定模式。re模块可以提供针对正则表达式的支持。re.finditer()函数re.finditer(pattern,string,flags=0)函数功能:扫描整个字符串,并返回对每个匹配项的迭......
  • 立即执行函数
    ES6新增的语法形式立即执行函数也称自执行函数在定义函数的同时就触发执行函数立即执行函数的语法(函数)()!函数()~函数()(function(){console.log(222)})();!function(){console.log(333)}();......