• crackme160--(3)


    今天直接做第三个,因为第二个毫无难度所以就不放上来了。先上效果图

    目的的消掉这个对话框并找个序列号

    点击OK之后弹出如图对话框,确定后程序结束。首先直接搜索字符串发现并未发现如图字符,我猜测是字符开始以加密的形式存在,后在调用对话框时解密,但是发现调用msgbox仅两处,用来显示序列号正确或者错误的两处,而且在messgebox处下断也并未到达。于是我在exitprocess处下断,发现程序退出跳转到此处,观察栈结构,也没有发现什么有价值的东西(可能是水平太低)。。。 。直接追踪到事件处理函数的入口代码处。这点我通过mfcspy并未找到。而是在.text段下访问断点然后触发点击而得到。没办法了。一步步F8下去。发现在调用一个名为__vbar8str处出现该对话框,思索不到什么原因。突然就想到:异常异常异常!!!重要的事说三遍。我居然一直没有注意过对话框显示的内容。。。应该是程序开始安装了一个异常链,发现异常则直接退出程序。而又在此处故意触发异常达到退出的目的。好了。现在有几种解决办法 

    1.在运行时修改传递给vbar8str的参数不会触发异常,但是由于对这个函数不太了解 ,尝试了下将传入字符串转成一个ascii码字符串但是失败。

    2.不调用这个函数。将参数传入以及调用处修改为NOP。由于涉及到栈平衡,所以得一步步调试。

    3.直接在调用函数之前跳转到比较验证字符串处。栈平衡难把握

      总体思路就是这样。今天到此为止

  • 相关阅读:
    递归遍历树形json
    关于作用域理解的一道题
    微信站 返回上一页并刷新
    Vuex有哪些作用
    两段代码实现vue路由懒加载
    Vuex目录结构推荐
    售后打电话说现场设备出问题了,嵌入式工程师最想干什么?
    Qt编译出现cc1plus.exe: out of memory allocating 65536 bytes问题
    OpenCV计算机视觉编程攻略(第三版)源码
    C++ Json工具--Jsoncpp用法简介
  • 原文地址:https://www.cnblogs.com/distanceblog/p/5122391.html
Copyright © 2020-2023  润新知