什么是重启验证:

重启验证顾名思义就是在程序启动时验证注册信息。

执行流程:

  • 基本的执行流程:注册信息输入–>给出提示–>程序重启同时执行验证机制–>正常执行
  • 扩展的执行流程:注册信息输入–>执行部分验证机制/执行假验证机制–>程序重启–>执行真验证机制–>正常执行

对于有经验的作者来说,可以在注册信息输入和程序重启之间加入假的验证机制,假的验证机制一般比较简单,比如说只是当单纯的明码比较,当我们输入这个假的注册码的,程序一般会提示注册成功,此时程序就会知道我们是逆向者,在程序重启时就会假装注册成功,在执行程序功能时就会报错或是无反应,这就是所谓的暗桩。

重启验证的类型:

根据写入信息位置的不同分类:一类是将注册信息写入文件中,一类是将注册信息写入注册表中。

定位关键代码:

  • 字符串定位
    通过OD字符串插件扫描敏感字符串,一般出现的文件路径或是注册表路径都可能是验证信息的保存位置
  • 监控工具定位
    通过procmon等监控工具监控注册信息的写入位置
  • API定位
    通过定位CreateFile,RegCreateKey等API来获取注册信息的写入位置

重启验证一:写入信息进txt

输入“123456”,点击重启验证一,会在该文件夹下生成txt文件。存储的是刚刚输入的注册码。


调用的API函数:
写入文件:CreateFile—>WriteFile->CloseHandle
读取文件:CreateFile—>ReadFile->CloseHandle

调用API结束后,文件的内容会存储在buffer的地址中,即009ABAA0

数据窗口跟随,是我们输入的注册码。

堆栈窗口也显示调用函数的详细信息。

写入文件结束。
接下来,搜索验证通过,头部下断

向下执行过程中首先判断文件是否存在,如果不存在则直接跳转到验证失败。
最下方的je是关键跳,如果直接爆破就把je给nop掉。

开始读取文件,可以看到调用API:createfileA,文件地址即为一开始创建文件的地址。

然后读取文件中的注册信息,下面“JXU2MjExJXU2”即为真码,继续往下就是真码与假码比较。

相当于strcmp函数,比较文件中的数据与目标数据是否相等

重启验证二:写入信息进ini

输入假码,点击重启验证二
写入配置文件API下断点,程序断下来,数据窗口跟随。
WritePrivateProfileString:写入配置信息
下面就是写入注册信息的代码,


GetPrivateProfileStringA:读取配置信息
在这个函数上下断点,运行OD
下面就是验证的数据窗口和堆栈窗口


在读取了配置文件的信息后使用strcmp函数与程序的自效验数据进行比较,原理和储存在txt文件当中的更改操作是一样的

重启验证三:写入信息进注册表
在注册表编辑器中查看。搜索regedit
具体路径:HKEY_CURRENT_USER\Software\52Pojie

搜索重启验证3
创建注册表Key:RegCreateKay
写入注册表:RegSetValueEx
这是写入注册信息阶段,流程与重启验证一相同,

这是验证阶段,主要用到的API,流程也是与重启验证一相同,修改操作原理也是一样
打开注册表Key:RegOpenKeyA
查询注册表键值:RegQueryValueExA

重启验证的三种形式及其解决方法相关推荐

  1. 计算机win7开机了进入不到桌面,win7开机不显示桌面怎么回事|win7开机不显示桌面三种原因和解决方法...

    一些win7系统用户在开机的时候发现电脑桌面不显示了,这样就没办法进行任何操作了,导致win7开机不显示桌面的原因有很多,为帮助大家能够快速解决问题,小编收集总结一些win7开机不显示桌面三种原因和解 ...

  2. 计算机换用户无法启动软件吗,电脑软件无法启动常见的三种原因以及解决方法...

    日常生活中,我们的电脑总会遇到各种各样的问题,掌握了修电脑的技能,会对我们有很大的帮助,至少出现问题的时候不会手忙脚乱,打乱我们的工作计划,或者花冤枉钱拿出去修,下面就给大家简单讲述电脑软件无法启动常 ...

  3. 计算机无法启动的原因及解决方法,电脑软件无法启动常见的三种原因以及解决方法...

    日常生活中,我们的电脑总会遇到各种各样的问题,掌握了修电脑的技能,会对我们有很大的帮助,至少出现问题的时候不会手忙脚乱,打乱我们的工作计划,或者花冤枉钱拿出去修,下面就给大家简单讲述电脑软件无法启动常 ...

  4. matlab win8打不开了,win8打不开防火墙的三种原因和解决方法

    win8系统自带有防火墙功能,开启防火墙可以过滤不安全的服务而减低风险极大地提高内部网络的安全性.不过有win8系统用户说防火墙打不开,也不知道哪里出现问题了,其实导致win8打不开防火墙的原因有很多 ...

  5. (转)Putty server refused our key的三种原因和解决方法

    (转)Putty server refused our key的三种原因和解决方法 参考文章: (1)(转)Putty server refused our key的三种原因和解决方法 (2)http ...

  6. win7计算机名怎么是感叹号,Win7连接wifi信号后出现感叹号三种原因和解决方法

    Win7系统电脑连接网络上网的方式有很多种,比如拨号.无线wifi.网卡等等,有时候网络也会出现故障问题.这不Win7连接wifi出现感叹号,并且提示有限的访问权限,且无法上网.有什么办法能解决,让w ...

  7. win7计算机名怎么是感叹号,Win7系统wifi信号后出现感叹号怎么办 Win7连接wifi后出现感叹号三种原因和解决方法...

    Win7连接wifi出现感叹号,并且提示有限的访问权限,且无法上网.有什么办法能解决,让win7系统能够正常连接网络呢?针对Win7连接wifi信号后出现感叹号的问题,下面脚本之家的小编给大家讲解具体 ...

  8. win10计算机休眠后无法唤醒,win10电脑休眠后唤不醒怎么回事_win10电脑休眠后唤不醒的三种原因和解决方法...

    win10系统进入休眠模式能节约电源和开机时间,如果长时间不用电脑,在不关机的情况下,可以让系统进入休眠模式,不仅节约能源,还保护设备.有时候也会出现一些问题,比如win10电脑休眠后唤不醒,移动鼠标 ...

  9. html5播放视频闪退,【答疑】3D MAX2018一打开就闪退的三种原因和解决方法 - 视频教程线上学...

    3D MAX2018安装失败的三种原因和处理方法 2019-03-28 浏览量:4231 提问者:冇尓 回答: dmax2018安装失败的原因一:缺失系统组件   如果在安装过程之中,弹窗提示需要安装 ...

  10. CAD2018安装计算机黑屏,3dmax2018一打开就闪退的三种原因和解决方法

    3dmax2018一打开就闪退的原因是什么?3dmax可以说是每个设计师都需要频繁使用到的软件,如果无法正常运行,会干扰到工作的进度.有些时候,一打开3dmax2018版,就会出现黑屏,或者闪一下就关 ...

最新文章

  1. 从计算机视觉的小白变为大神,你需要经历这七个阶段
  2. Nginx reload的时候出现的问题/usr/local/nginx/logs/nginx.pid
  3. Python继承,子类调用父类的两(2)种方法
  4. Windows Internals 笔记——关联性
  5. 路径前缀是什么意思_Trie 树是什么样的数据结构?有哪些应用场景?
  6. linux 进程的vss rss uss,内核/内存管理中的VSS/RSS/PSS/USS
  7. 用计算机处理信息教学反思,《人工智能处理信息》教学反思
  8. LeetCode 1381. 设计一个支持增量操作的栈(deque/数组)
  9. windows下mysql主从同步_详解windows下mysql的主从同步
  10. 2017-2018-1 20155229 实验五 《通讯协议设计》
  11. [Android Memory] Android系统中查看某个应用当前流量的方法
  12. php 编译指定libiconv,PHP升级编译出错 libiconv_open及 apache libiconv
  13. SwitchHost提示管理员身份运行,不能修改hosts文件
  14. 塔设备设计手册_强烈推荐必备资料—化工设备设计手册 (上、下卷全)
  15. LM5017原理图PCB设计要点
  16. 【外挂逆向】《某涯明月刀》BUFF及技能预判
  17. 微软 Visual Studio 2019 正式发布
  18. python magic number_编程中的「魔数」(magic number)是什么意思?平时我们能接触到哪些魔数?...
  19. 15款jQuery幻灯片插件
  20. 广义线性模型(GLM)

热门文章

  1. iOS:segment对齐原则
  2. 2018/3/9 省选模拟赛 0分
  3. centos 解决不在 sudoers 文件中。此事将被报告的问题
  4. NEU 1683: H-Index
  5. proguard-gui 混淆代码简要笔记
  6. C++中引用变量的探究
  7. .xls和.xlsx 有什么区别?
  8. class with pointer
  9. python numpy 里面的[:, None]是个什么鬼?[..., None]呢?
  10. Qt QLCDNumber 13行实现 显示日期时间 颜色设置 刷新