美文网首页
2019-03-19 CrackMe 3

2019-03-19 CrackMe 3

作者: 月夜阑珊 | 来源:发表于2019-03-19 23:04 被阅读0次

    首先程序会有一个Nag窗口,而后进入name和serial输入框
    首先选择了吾爱上一位师傅讲的方法去掉Nag窗口:4C法
    首先确定这是VB 5.0/6.0程序,根据VB程序特点:
    在程序开始都会有一个push紧跟call指令:


    VB

    根据此处push位置0x4067D4,在数据框中追踪此位置偏移0x4C位置,即:
    0x4067D4+0x4C:


    data
    此处为0x406868,再跳到此位置:
    data
    可以看到每0x50字节一个结构体(实际上在初始位置有大小说明:0x50)
    对应结构体0x24位置指明了资源的优先级,可以看到第一个为00,第二个为01,程序会先加载00,后加载01,因此我们将这两个字节改变,让输入窗口先出现,而后复制到可执行文件->所有修改即可在patch的程序中去除Nag窗口
    另一种方法:

    在SetTimer下断点(ctrl+g即可在x32dbg下找到SetTimer函数,OD下总是断失败,应该是我的OD有问题)
    SetTime函数定义:

    UINT_PTR SetTimer(
      HWND hWnd,              // 窗口句柄
      UINT_PTR nIDEvent,      // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器
      UINT uElapse,           // 时间间隔,单位为毫秒
      TIMERPROC lpTimerFunc   // 回调函数
    );
    

    运行程序看到栈中的参数:


    stack

    看到对应时间为0x1B58
    在二进制文件中搜索此字符"58 1b 00 00"
    只有一处,改为"01 00 00 00"(直接改为"00 00 00 00"会卡在Neg窗口)
    运行即可发现neg窗口一闪而过(基本看不到了)

    相关文章

      网友评论

          本文标题:2019-03-19 CrackMe 3

          本文链接:https://www.haomeiwen.com/subject/kduomqtx.html