第五课 反击作者的挑衅--实战解除程序重启验证

基本操作

1、 OD字符串搜索:插件 - 中文搜索引擎
2、 OD下断点:Ctrl+G查找API,F2下断点;Ctrl + N查找输入表中所有调用API的位置,右键在每个命令下设置断点;插件中的断点工具。
3、procmon的使用:可以监控文件、注册表、网络、进线程信息
4、文件操作API
- CreatFileA(W):创建文件
- ReadFile:读取文件
- WriteFile:写入文件
- CloseHandle:关闭句柄
读取文件:CreateFile -> ReadFile -> CloseHandle
写入文件:CreateFile -> WriteFile -> CloseHandle
5、注册表操作API
- RegCreateKey:创建注册表Key
- RegOpenKey:打开注册表Key
- RegQueryValue(Ex):查询注册表键值
- RegSetValueEx:写入注册表键值

重启验证

在程序启动时验证注册信息
1、 执行流程

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

2、重启验证的类型
注册信息写入文件、注册表中

3、定位关键代码

  • 字符串定位
    利用OD扫描敏感字符串,一般出现的文件路径或者注册路径都可能是
  • 监控工具定位
  • API定位

Demo

重启验证1:写入信息到txt
重启验证2:写入信息到配置文件
重启验证3:写入信息到注册表

7829

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,006评论 25 708
  • 原为参加百度派的一个活动,戳我查看 以下为原文: 今年的锤子发布会上,老罗带了他的小伙伴--科大讯飞输入法 一起飞...
    产品新人学习路阅读 777评论 0 3
  • 朦胧而起杀死睡意 后又拖着疲乏苦撑 品读好诗九首 咀嚼情怀果腹 遂觉 深情不可充食粮 饱食未能救饥荒 辗转觅得清粥...
    暮余阅读 143评论 0 0
  • 遍历聚合对象
    智多牛阅读 263评论 0 0