文章只供研究用 其他用途概不负责 有问题请私密 如有侵权等请联系 立马删除博文
软件名称:
软件来源:
目标模块:登录 注册 重启验证
工具:OD(单分支执行)——IDA(详细分析)——PEiD(初步扫描)——Procmon(监控程序操作)
前言:
一个合格的逆向从事者或者研究者,在我看来不管程序安全机制完善度有多高,都应该拿出自己最高的技术标准去对待
程序的操作行为是未知的,而你是探索这个黑盒的人,留个心眼总会给你带来安全感。
OD动态分析需要干什么:
打开:CreateProcess创建调试进程—接受调试事件 PS:因为资料缺陷以及本人比较懒,感兴趣的朋友可以私下分析
附加:注册窗口类—Createsorteddata创建进程表—填充进程表(详细请参考百度文章(https://wenku.baidu.com/view/0bd24c1d10a6f524ccbf8538.html)—OpenProcess打开目标进程—填充进程表—CreateWindow创建窗口—DebugActiveProcess调试器捆绑
OD常用分析方法(附加):开发者稍微有点安全意识都会做防破解
壳——压缩壳
这个感觉没啥好说的,使用PE变形技术对PE进行瘦身,嵌入代码到目标程序(修改程序OEP至嵌入的代码在接上程序本身代码),嵌入的代码作用为还原(针对使用的PE瘦身技术进行还原)
壳——加密壳
VMP:主要分为两个版本 3.0以上或3.0以下
3.0以下的反反调试/脱壳/技术已经成熟 。 (相对不安全)
3.0以上的版本因为公开资料等等原因相对比较复杂。 (相对安全) PS:目前国内的几个团队自动化已经成功 ,公开资源已经有过反调试等脚本流露出来
壳——压缩+加密(多层壳)
外壳/里壳/壳中壳 (麻烦) PS:单层壳会脱 多层就不会了?
字符串加密
反调试
守护进程
修改SSDT入口实现的HOOK技术 PS:SSDT分为两种 基于Win32k.sys的SSDT以及常规SSDT
PS:本文章的重点不再这里,所以就不详细解释了!!!
正文:
程序预览
![](https://i-blog.csdnimg.cn/blog_migrate/50d3cb8bceb18cd5dfa9deff2c007f73.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9f0ff73cf57165b48a6c51786bfc462f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cd6df5a01907c050859b0046ed160429.png)
判断开发语言—加壳情况
![](https://i-blog.csdnimg.cn/blog_migrate/40ac89647f966552247e1e0bc6af9482.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4a8376c1100b8bfbf458fb9caa5b8268.png)
根据节表的信息判断为无壳 VB语言开发
首先附加程序——断下关机 格盘等API
![](https://i-blog.csdnimg.cn/blog_migrate/ab5e1c4275d1d95bf52f91bff8cfb68e.png)
判断一下PEiD的识别是否准确
在IDE程序开发中一般会有重定位属性 所以根据Base Address+Offset获得程序入口地址