zoukankan      html  css  js  c++  java
  • 破解之总结(一)

    1、  汇编

    2、  脱壳

    1)5种常见的语言特征(也是判断是否到达OEP的一种方法)

    2)附加数据的处理

    3)自校验的处理

       1) 如果是调用错误提示——F12堆栈调用法

       2)如果是文件/数据损坏错误提示——2OD对比法(bp CreateFileA

    4) BC++程序的手动查找IAT

    3、  破解

    1>一般破解

    目标:找按钮事件

    方法:1)查找字符串法

          2)F12堆栈调用法

          3)MessageBoxA断点法

    2>重启验证

    目标:找验证类型

          1)注册表类型

          2)文件类型

            1)ini文件类型

            2)其他文件类型

    方法:1)访问注册表类常用API
    RegOpenKeyA  打开一个现有的注册表项
    RegOpenKeyExA  打开一个现有的注册表项
    RegCreateKeyA 在指定的项下创建或打开一个项
    RegCreateKeyExA 在指定项下创建新项的更复杂的方式
    RegDeleteKeyA 删除现有项下方一个指定的子项
    RegDeleteValueA 删除指定项下方的一个值
    RegQueryValueA 获取一个项的设置值
    RegQueryValueExA 获取一个项的设置值
    RegSetValueA 设置指定项或子项的值  
    RegSetValueExA 设置指定项的值
    RegCloseKey 关闭系统注册表中的一个项(或键)

          2)访问文件类常用API
    CreateFileA 打开和创建文件、管道、邮槽、通信服务、设备以及控制台  
    OpenFile 这个函数能执行大量不同的文件操作
    ReadFile 从文件中读出数据  
    ReadFileEx 与ReadFile相似,只是它只能用于异步读操作,并包含了一个完整的回调

          3)INI文件API

    GetPrivateProfileStringA 获取ini文件信息(读取、写入)

    对于重启验证类型的软件有这样的一个思路:试运行程序,输入假码,先在程序安装目录找,看是否有可疑文件可以写入,再可以通过直接查找注册表(regedit),或者是用OD查找字符串查找有无可疑信息,当然这个需要直觉,更确切的说是需要经验。

    但是,请记住:有怀疑才有进步!

     

    3>不脱壳破解

    1)  先到达OEP,即可查找字符串

    2)  直接使用F12调用堆栈

    注意:带壳调试的时候,当找到相关按钮事件之后,最好是下硬件执行断点!因为如果我们下bp普通断点,当我们重新载入程序之后,bp断点可能失效

      

       4>patch

    1)     借助相关带壳patch工具

    2)     手动patch

    1)  尽量以改动最少字节来达到破解的目的

    2)  找到注入代码的地方

    1))SFX区段

    2))如果在要跳向OEP的地方有空闲空间可以使用则此处为首选,例如UPX

    Mov byte ptr ds:[xxxxxxxx],xx

    Mov dword ptr ds:[xxxxxxxx],xxxxxxxx

    破解要使用到的相关辅助工具

    1、  DEDE(Delphi/BC++)

    2、  PE Explorer(Delphi/BC++)

    3、  VBExplorer(VB)

    4、  KeyMake

    要求熟练的操作!

    另外留意Delphi程序————Ice License

  • 相关阅读:
    MySQL 操作命令梳理(5)-执行sql语句查询即mysql状态说明
    MySQL 主从同步(5)-同步延迟状态考量(seconds_behind_master和pt-heartbea)
    MySQL 操作命令梳理(4)-中文乱码问题
    WebAssembly 介绍
    Android MVP
    Android Data Binding(数据绑定)用户指南
    认知心理学告诉你什么才是高效学习
    Android O新特性和行为变更总结zz
    音视频不同步问题的原因和解决方案
    当程序员写不出代码了,该怎么办?
  • 原文地址:https://www.cnblogs.com/milantgh/p/3815122.html
Copyright © 2011-2022 走看看