zoukankan      html  css  js  c++  java
  • 《加密与解密》笔记

    第一章 基础知识

    ASCII和UNICODE字符集
    字节序
    Win32 API:主要通过DLL实现
    主要有三个:kernel32.dll,user32.dll,gdi32.dll
    学习win32 api的书籍:《windows程序设计》
    WOW64:在64位系统运行32位程序,但是不能安装32位内核的驱动
    Windows消息机制
    虚拟内存

    第二章 动态分析技术

    OD的使用:在“Option”-"Debugging options"中可以选择忽略异常
    Ctrl+F9:运行到返回
    Alt+F9:返回应用程序代码段
    常用断点:
    INT 3断点:CC指令。
    硬件断点:DRx寄存器,DR0-DR3:调试地址寄存器,只有4个,只能设置4个硬件断点,DR7调试寄存器组控制寄存器。
    内存断点:对相应地址所在内存页面设置不可访问/写属性,然后比较是否是断点地址,OD只能设置一个
    消息断点
    条件断点
    RUN Trace和HIT Trace
    调试符号
    加载程序的方式:1.CreateProcess 2.附加:DebugActiveProcess
    x64dbg
    MDebug
    Windbg:跳转到程序入口:命令窗口(Alt+1)-输入“g @$exentry”
    r查看内容,跟进t,单步步过pg运行,pa单步步过到地址,pc单步到下一个call,pt单步到ret,ph单步到下一个分支指令
    伪寄存器$ra代表当前函数的返回地址,"pa @$ra"代表运行到返回
    断点:1.软件断点:bp 地址或符号 “中断时执行的命令”,bu 符号,bm 通配符 2.硬件断点:ba 3.条件断点:bp xxx ".if(){}.else{}"
    bl列出断点,bc删除断点,bd禁止断点,be启用断点,br改变断点编号
    k查看栈回溯,kb查看栈回溯并显示栈上的前三个参数,kp栈回溯显示参数原型,kv在kb加上调用约定,kd显示栈中的数据
    内存命令:
    d系列命令查看内存,
    s - [type] range pattern 在指定内存范围内搜索字符串,[type]表示数据格式,b是byte,w是word,d是dword,a是ascii,u是unicode,默认是b
    e系列修改内存:两种格式:
    1.改字符串:e{a|u|za|zu},za,zu代表以0结尾的ascii和unicode字符串,a,u相反
    2.改值:e{a|b|d|D|f|q|u|w}
    查看内存属性:!address [address]

    第三章 静态分析技术

    文件类型分析:peid,ExeinfoPe
    反汇编引擎:OD的ODDisasm,BeaEngine,Udis86,Capstone,AsmJit,Keystone
    静态反汇编:IDA
    IDA快捷键:X查看交叉引用,N重命名,P创建函数,C数据转成代码,U代码转成数据,A专程ASCII字符串,D转变数据大小,Ctrl+K打开栈窗口
    可以创建数组,也可以创建结构体,通过在结构体窗口按Insert,创建结构体还可以通过导入C的头文件来批量进行。枚举类型类似结构体。
    FLIRT:
    创建:1.获得.lib文件,2.使用FLAIR解析器解析,微软的lib用pcf.exe解析,DLL可以先反编译然后使用IDB2PAT插件生成pat文件 3.使用sigmake.exe将pat文件转成sig签名文件。
    IDC脚本:

    #include<idc.idc>
    static main(){
    auto BytePtr,EndImports; // 定义变量
    }
    

    也可以用python
    插件
    调试

  • 相关阅读:
    angularjs 表单验证
    (原)Eclipse Tomcat配置(2014.12.27——By小赞)
    Eclipse SVN插件安装与使用(2014.12.27——by小赞)
    Eclipse 下载与安装(2014.12.26——by小赞)
    MySQL开启远程链接(2014.12.12)
    360手机助手使用问题
    WORD文档的长串数字如何粘贴到excel
    EJB 总结学习(1)
    EJB (not bound)
    JQ绑定事件(1.9已经废除了live()等绑定事件方法,on()方法是官方推荐的绑定事件的一个方法)
  • 原文地址:https://www.cnblogs.com/ttxs69/p/13832223.html
Copyright © 2011-2022 走看看