zoukankan      html  css  js  c++  java
  • 有趣的二进制

    第一章

    1. 用Process Monitor看问题
      运行sample_mal.exe,在Process Monitor中不太好看到文章中的Create File,不过还是可以看到有关信息

      因为系统是win10 的,然后就找到启动文件夹
      C:UsersvolcanoAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup
      的确有传说中的0.exe

      这个0.exe和之前的sample.exe的确完全一样
    2. 注册表

    和开机启动有关的注册表项
    HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun

    HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion
    这两个路径下,包括“Run/RunOnce/RunServicexOnce/RunServices/RunOnceEx”五个子项

    同时我的文档目录下的确也有

    但是貌似注册表中没有

    1. 逆向工程

    4.静态分析


    IDA打开

    1. 动态分析

    process monitor

    Ollydebug观察
    0040100——应该是起始位置

    1. 常见的汇编指令
      其中不太常见的是

      lea
      TEST

    其他就要了解一下:参数存放在栈中。
    要学会从汇编代码想到C语言代码

    1. ollydebug 打开sample_mal.exe
      查看其中的所有模块

    函数类型只有Export和Import
    在Export上设置断点

    第二章

    内存转储

    用任务管理器进行文件转储
    保存在C:UsersvolcanoAppDataLocalTemp中

    点击自动用VS打开
    但是好像看不到代码——VS自动帮你分析了

    然后就是用windbg打开看看

    。。。。尴尬了。。。。其实dump文件好像就是这个样子的
    要看详细信息要在log文件中看

    实时调试

    用ollydebug

    UPX

    加shell前后的区别

    明显右边的规整一些
    而且可以通过流程图来看看

    用ollydebug分析

    循环块

    找到popad

    ollydump解压缩之后得到的文件和原来的一样

    用aspack

    基本方法也是找到和pushad对应的popad
    不过这个比较难,需要硬件断点

    • 原来
    • 设置硬件断点之后,运行到断点处,Ctrl+A——重新分析

    第三章

    http://07c00.com/tmp/FreeBSD_8.3_binbook.zip
    http://07c00.com/tmp/Ubuntu-12.04_binbook.zip

  • 相关阅读:
    【C++clock()函数学习(计算自己代码运行时间)】
    YCOJ 1041113【最近的回文数】
    计蒜客【汉诺塔II】
    YCOJ【汉诺塔】
    【常用算法总结——递归】
    YCOJ【查找】
    【常用算法总结——分治】
    Redis哨兵机制
    Redis主从复制
    SpringBoot集成Redis
  • 原文地址:https://www.cnblogs.com/volva/p/11814410.html
Copyright © 2011-2022 走看看