调试学习【9】

25 篇文章 0 订阅

破解的关键

演示程序:pc2am2p

  • 从爆破入手,到现在逐步进入程序的内部,认识不同编译器开发的程序,探索不同的加密逻辑。
  • 前边,我们的例子中既有VC++开发的程序,也有Delphi开发的程序,今天分析一个VB程序的加密和解密思路
  • 我们需要掌握不同编译器编译出来的程序的特点,然后才能有针对性的进行逆向。
  • 其中,在逆向一个程序前,先搞清楚这个程序是由什么编译器和神马语言写出来的,是灰常必要的。
  • 高手只需要从代码间的细小差别就可以看出端倪,而菜鸟们也有便捷的工具可以一步到位告诉你这个程序是由什么编译器编译的:PEiD.exe
  • 这次的程序是一个VB程序。
  • Virtual BASIC是由早期DOS时代的BASIC语言发展而来的可视化编程语言。
  • VB是由事件驱动的编程语言:就是在可视化编程环境下我们可以绘制一些窗体,按钮,编辑框等控件,然后为这些控件所可能引发的事件如按钮被单击或者被双击编写对应的处理代码。
  • 所有的VB程序几乎都是依赖于一个外部的动态链接库。这个动态链接库的名字是:MSVBVM60.dll(可能有多个版本,但名字都差不多~)
  • 然而正是因为VB中所有的API函数都在DLL中去实现,所以导致我们在跟踪程序的执行代码时灰常频繁地在DLL领空和程序领空跳来跳去跳来跳去跳来跳去跳来跳去跳来跳去跳来跳去 。。。。。。
  • API函数的作用有很多,例如作为中介让我们的程序和指定设备进行沟通。
  • 针对变量:
    __vbaVarTstEq
    __vbaVarTstNe
    __vbaVarCompEq
    __vbaVarCompLe
    __vbaVarCompLt
    __vbaVarCompGe
    __vbaVarCompGt
    __vbaVarCompNe
  • 针对字符串:
    __vbaStrCmp
    __vbaStrComp
    __vbaStrCompVar
    __vbaStrLike
    __vbaStrTextComp
    __vbaStrTextLike

首先安装程序:
在这里插入图片描述
这个程序在每一个机器都有一个特定的注册码,我们这次就来找这个注册码。
首先OD载入:
在这里插入图片描述
Ctrl+N找到
在这里插入图片描述
然后设置断点,重载,F8接着走
在这里插入图片描述
找到敏感信息,不妨记下来试上一试
成功注册:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值