zoukankan      html  css  js  c++  java
  • 去VB程序NAG窗口方法-4C法

    去除VB程序的程序启动时的NAG窗口,基本原理就是寻找到每珍具窗口的启动顺序,再改变窗口的启顺序就可以了。

    具体实列如下:
    当程序启动时,会出现一个NAG窗口,如下所示:
    在这里插入图片描述
    OD载入程序:EP处在这里插入图片描述
    VB程序有个特点-入口点处都是一个PUSH指令,然后一个CALL指令,看JMP 后面跟的MSVBVM50,应该是VB5.0编写的。(如果不是这种情况的话,那么该程序可能被加过壳), PUSH将要压入堆栈的是004067D4,现在我们在数据窗口中定位到这个地址。显示如下:
    在这里插入图片描述
    现在就要用至4C了,也就是从当前定位的地址往后偏移4C,数据窗口CRTL+G,输入4067d4+4c = 406820,显示如下:
    在这里插入图片描述
    数据窗口继续跟踪:00406820处的DWORD值,00406868,内容如下:
    在这里插入图片描述
    这里我们可以看到两块类似的数据,每块50(十六进制)个字节的长度,每块数据的第24(十六进制)个字节处都有一个标志(第一个是01,第二个是00)。该标志指定了每块代码(也就是程序启动后要加载的窗体)出现的顺序,先加载00,也就是我们要去的NAG窗口,再加载01,是主窗口。所以这里我们将各两个标志的值颠倒一下,01改00,00改01,二进制修改,保存文件。在这里插入图片描述
    运行测试,NAG窗口去除了。
    在这里插入图片描述
    相关测试程序:

  • 相关阅读:
    [编程题] 基础 [位运算基础]
    [编程题] lc [191. 位1的个数]
    [编程题] lc [69. x 的平方根]
    php 中php-fpm工作原理
    redis分布式锁
    3种Redis分布式锁的对比
    php使用数据库的并发问题(乐观锁与悲观锁)
    php观察者模式应用场景实例详解
    [Usaco2008 Jan]电话网络
    关于二分图结论的一些证明
  • 原文地址:https://www.cnblogs.com/laohaozi/p/12537618.html
Copyright © 2011-2022 走看看