.lib 静态链接库 的破解方法(局限)(1)

article/2025/10/30 23:38:26

 因为之前程序调用了一个试用版的.lib库 , 而这个库有时间限制 , 导致程序在试用期过后不能使用 . 

然后编译之后要破解一下编译出来的程序 , 很难受


闲来无事,突然想破解一下.lib , 毕竟是个代码库 , 看看是不是破解完了在编译 , 能正常使用


结果当然是能正常用了   不然就没这个帖子了 ! 


下面是流程:

1.材料介绍:

    1.1  OD or X86 Dbg  等等调试工具

    1.2  Notepad++(需安装插件)  Ul***Edit(忘了啥名了) 等等支持16进制编辑的编辑工具

    1.3  vs2010 或其他IDE,能编写代码编译就行

    1.4  "未破解.lib"

    1.5  用 "未破解.lib" 编译出来的 "未破解.exe"

2.破解exe流程

    2.0  先直接运行 "未破解.exe" 结果如下图所示

           

    2.1  先将 "未破解.exe"载入OD 并找到判断时间的位置

         

         如图所示,红框部分就是关于时间的判断  

            0x7E1 转成10进制就是 2017 

            jnz 不相等则跳转   

            0xB 转成10进制是 11   

            jge 不小于则跳转

            所以翻译过来就是 

               if ( 当前年份 == 2017 )

                {

                       if ( 当前月份 < 11 )

                       {

                              //正常处理流程

                       }

                       else return (-100); //返回错误

                }

                else return (-100); //返回错误


    2.2 修改 "未破解.exe" 并保存成 "已破解.exe"

         为了不破坏原有结构 , 我没有将此处代码nop掉 , 而是修改了判断逻辑

            

               翻译过来就是 

               if ( 当前年份 != 1792 )

                {

                       if ( 当前月份 < 15 )

                       {

                              //正常处理流程

                       }

                       else return (-100); //返回错误

                }

                else return (-100);  //返回错误

这种判断在程序中有三处 , 修改完成之后 , 编译为 "已破解.exe", 运行 , 结果如下图所示


程序已经可以正常使用了 , 下面破解.lib
3.  破解.lib流程

        3.1 比较修改

            参考上面2.1和2.2 的调试工具截图 发现 更改了如下图所示的三个字节

            比如 00A531BC  原数据为 81 F9 E1 07 00 00

                                    修改后为 81 F9 00 07 00 00

            

        3.2  用16进制编辑器打开 "未破解.lib"  寻找相关数据

            

            这个插件比较烂一些 , 还好不常用 , 如图所示 , 使用查找里面的计数功能 , 提示查找到了3个地方, 与破解exe修改的地方一致 , 那么 就可以开工啦 !

            

            图中的红绿黄 对应的也就是 2.1图中红框圈起的前三行 , 然后我们参考 3.1图中的黄色箭头的部分 , 将他数据改掉, 如下图紫色圈所示



     3.3  然后 另存为 "已破解.lib" , 并在源代码中 #pragma comment(lib,"已破解.lib") 调用 , 编译出 "测试.exe" , 运行 , 发现

正常运行 , 破解成功 !




平时写文章比较少 , 也不善于排版 , 主要是给自己一个备忘 , 如果有啥问题可以留言 , 或者加我 QQ: 958954297 相互交流

转载请保留出处

我写代码不是大神 , 破解也不是专家 , 但是就是想钻这一行 , 平时很多奇特的想法 , 奇葩的思路 , 爱好推动着我一步一步的去实现它们。


http://chatgpt.dhexx.cn/article/7NQGqh6f.shtml

相关文章

InfluxDB源码编译、安装、配置及主从同步实现

先扯点蛋 公司有个项目要求使用InfluxDB时序数据库储存点东西。第一次听说还有这种数据库&#xff0c;哈哈哈&#xff0c;孤陋寡闻了&#xff0c;先从各位大佬的博客看起&#xff0c;慢慢学习&#xff0c;逐渐了解了之后在服务器上进行安装。直接使用官方包进行安装很简单&…

一种破解静态链接库(.lib)的简单方法

一种破解静态链接库(.lib)的简单方法 作者&#xff1a;游蓝海 博客&#xff1a;http://blog.csdn.net/you_lan_hai 最近&#xff0c;在研究某代码时&#xff0c;遇到这样一个问题&#xff1a;整个解决方案中&#xff0c;有一个工程没有cpp源码&#xff0c;只有头文件跟一个静…

Linux下静态库生成和使用

一.静态库概念 1.库是预编译的目标文件(object files)的集合&#xff0c;它们可以被链接进程序。静态库以后缀为”.a”的特殊的存档&#xff08;archive file&#xff09;存储。 2.标准系统库可在目录/usr/lib与/lib中找到。比如&#xff0c;在类Unix系统中C语言的数序库一般…

libuvc介绍及简单使用

libuvc是一个用于USB视频设备的跨平台库&#xff0c;构建在libusb之上&#xff0c;编译libuvc时需要依赖libusb。libuvc的License为BSD&#xff0c;最新发布版本为0.0.6&#xff0c;源码地址: https://github.com/libuvc/libuvc libuvc支持在非windows系统上直接编译&#xff0…

linux下封装函数库——动态库.so和静态库.a(代码实现及链接方式)

在linux环境下的链接库分为静态链接库&#xff08;.a库&#xff09;和动态链接库&#xff08;.so库&#xff09;&#xff0c;其作用是把C程序编译好做成一种可执行链接文件&#xff0c;主程序文件调用这些程序的函数接口是可以使用a库或so库&#xff0c;在主程序中只需要includ…

Hyperledger fabric应用的多机部署(自动化一键部署)

前面关于fabric部署的介绍都是基于单机环境下的&#xff0c;实际生产环境中一般会根据应用场景将节点分开部署在多台物理机上&#xff0c;面临的难题主要是不同主机间的节点如何通过网络进行通信。文章最后会分享一键完成多机增加组织的自动化部署脚本。 前言 这里仍然以balan…

Linux系统编程makefile制作动态库和静态库

目录 制作动态库 制作静态库 首先准备简单的add.c&#xff0c;sub.c,main.c,head.h.具体代码如下 #head.h文件 int Add(int a, int b); int Sub(int a, int b);#add.c文件 #include <stdio.h> int Add(int a, int b) {return a b; }#sub.c文件 #include <stdio.h&…

Linux动态库的下载与配置(以libevent库为例)

** Linux动态库的下载与配置 ** 本章以下载、安装、配置libevent库为例(安装libevent的前提是已经成功安装openssl库) 一、libevent的下载 https://libevent.org/ //官网下载源码包如果学习下载1.0版本为好&#xff0c;使用可以下载2.0版本 1.如果Linux已经进行桥接联网&am…

Linux下编译安装libusb动态库(.so) - libus1-0 vs libusb-0.1

最近在调试代码的过程中&#xff0c;发现libusb库中的一些方法没办法debug到&#xff0c;所以试着下载了一版源码&#xff0c;编译安装到指定的目录。这样&#xff0c;在工程的pro文件中&#xff0c;直接指定库和头文件的目录就可以引用自己编译的libusb库了。 在网上查了相关的…

linux编译生成动态库、静态库,以及使用

一、介绍 在实际开发过程中&#xff0c;当代码的文件较多&#xff0c;可以将一部分代码编译成动态库或者静态库然后再加载到程序中使用 编译过程 1、预编译 2、编译 3、汇编 4、链接 静态库和动态库的差异 1、链接静态库简单理解就是复制目标代码嵌入可执行文件中 2、动态库是…

Linux·libusb源码编译

libusb系列--Linux下libusb源码编译​​ ​ ​源码下载及解压​​ ​​下载源码​​ ​​解压下载的源码压缩包​​ ​​打开终端​​ ​​准备编译环境​​ ​​安装make dh-autoreconf​​ ​​安装 libudev-dev​​ sudo ​./autogen.sh​ ​​​​sudo ./configure --prefi…

ESP32如何用makefile直接编译生成.a静态库

目录 编译痛点前提环境编译准备makefile代码编译痛点 开发过esp系列的攻城狮们都知道,esp32的sdk包含了编译器、组件代码和例程代码,编译都是基于cmake的,都是整体一起编译,CMakeList.txt,component.mk,project.mk等等一系列和编译相关的文件,如果你想要自己编译一个自…

Linux 环境下的静态库生成与使用

目录 一&#xff0c;简介 二&#xff0c;如何生成静态链接库 1.准备测试程序 三&#xff0c;如何使用静态链接库 1.生成静态链接库 2.使用静态链接库 一&#xff0c;简介 这里我们只讲 Linux 环境下的静态库与动态库的生成与使用&#xff0c; Windows直接用VS直接就能生成…

Linux 下libusb编译与生成动态链接库

一、前言 上一篇文章提到了怎样使用Ubuntu 安装libusb&#xff0c;忘了如何将如何编译。 二、libusb使用GCC 编译 正常来讲&#xff0c;使用 gccc xxx.c -o xxx -I/usr/include -lusb-1.0 就可以了&#xff0c;如下图&#xff1a; 但是&#xff0c;当使用Ubuntu 12.04 使用…

关于libusb开源库的使用

关于libusb开源库的使用 文章目录 关于libusb开源库的使用1. 概述1.1 介绍1.2 用法 2. API接口2.1 分类2.2 初始化/反初始化2.3 获取设备2.4 打开/关闭设备2.5 根据ID打开设备2.6 描述符相关函数2.6.1 获得设备描述符2.6.2 获得/释放配置描述符 2.7 detach/attach驱动2.7.1 两种…

【Linux】 自动化编译工具make

目录 一&#xff1a;make工具 二&#xff1a;Makefile 三&#xff1a;Makefile基本规则 四&#xff1a;make是如何工作的 五&#xff1a;示例(五个阶段的Makefile) 5.1 第一阶段Makefile 5.2 第二阶段Makefile 5.3 第三阶段Makefile 5.4 第四阶段Makefile 5.5 第五阶…

【Linux操作系统】动态库,静态库的制作和使用,软链接、硬链接简介

目录 软硬链接咋创建一个软链接&#xff1f;咋创建一个软链接&#xff1f; 文件的三个时间动静态库制作静态库静态库的使用制作动态库动态库的使用 秃头侠们好呀&#xff0c;今天来说 软硬连接&#xff0c;动静态库 软硬链接 咋创建一个软链接&#xff1f; ln -s log.txt log…

【Linux】零基础学习动静态库打包

文章目录 一、软硬链接二、动静态库理解动静态库静态库的打包使用静态库打包Makefile编写动态库的打包使用动态库打包Makefile编写对于小版本的理解 总结 一、软硬链接 站在先前的讲过的文件系统的角度来看&#xff0c;下图test这个文件有自己独立的inode&#xff0c;在他的ino…

Linux | 动静态库 | 动静态链接 | makefile库打包 | 第三方库使用

文章目录 何为动静态库库文件的链接静态链接静态库打包动态链接动态库打包 第三方库的使用静态库的使用动态库的使用 在系统层面上的动态链接理解 何为动静态库 静态库(.a)&#xff1a;在程序编译链接时将静态库二进制码拷贝到程序代码中&#xff0c;程序运行时不再需要外部的静…

覆盖libc.so.6的惨痛教训

覆盖libc.so.6的惨痛教训 背景问题原因解决1、当前session未断开2、OS崩溃重启&#xff0c;所有ssh session断开 惨痛教训1、对于上产环境的内核依赖库文件不能随意覆盖、删除。2、 scp 文件覆盖问题 总结参考 背景 发生时间: 2022年11月28日08:55:20 偷了个懒&#xff0c;在安…