• 【逆向知识】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
    

  • 相关阅读:
    cmd ora12560协议适配器错误
    WinPEter制作U盘启动盘
    KERNEL_SECURITY_CHECK_FAILURE
    Linux系统下关闭与启动Oracle11g的顺序与命令
    oracle口令文件在windows和linux系统下的命名和位置
    战士倒下了
    手游中第三方的登陆和支付总结
    诡异的循环
    关于空类的继承的问题
    C++的缺陷指针
  • 原文地址:https://www.cnblogs.com/17bdw/p/6111897.html
Copyright © 2020-2023  润新知