共享软件破解的实用着法

2024-02-26 19:58
文章标签 破解 实用 共享软件

本文主要是介绍共享软件破解的实用着法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、检测主程序大小,防止破解补丁之类:
Function TForm1.GesSelfSf: integer;
var
F: file of byte;
begin
  Filemode:=0;
  Assignfile(F,'./FileName.exe');
  Reset(f);
  Result:=Filesize(F);
  Closefile(F);
end;
[拆招]:
其实就是自效验,这类型的破文太多了,偶就不献丑了~
[原文]:
2、检测创建日期和时间,让破解补丁实效:
Function TForm1.FinDate:String;
var
t:TDate;
begin
  ShortDateFormat:='yyyy-mm-dd';
  
t:=FileDateToDateTime(FileAge('FileName.exe'));
  
Result:=DateToStr(t);
end;
[拆招]:
可以根据api函数下断,在NOP掉关键代码.
最简单的办法,修改创建时间就行了,软件多的是~
[原文]:
3、注册码加密函数嵌入数学函数,增加破解难度:
(略)
[拆招]:
随机应变,见招拆招~
[原文]:
4、必要时自己删除自己(主程序):
procedure TForm1.Funll;
var
hModule:THandle;
buff:array[0..255]of
Char;
hKernel32:THandle;


pExitProcess,pDeleteFileA,pUnmapViewOfFile:Pointer;
begin
  hModule:=GetModuleHandle(nil);
  
GetModuleFileName(hModule, buff, sizeof(buff));
  
CloseHandle(THandle(4));
  
hKernel32:=GetModuleHandle('KERNEL32');
  
pExitProcess:=GetProcAddress(hKernel32, 'ExitProcess');
  
pDeleteFileA:=GetProcAddress(hKernel32, 'DeleteFileA');
  
pUnmapViewOfFile:=GetProcAddress(hKernel32, 'UnmapViewOfFile');
  
asm
  LEA EAX, buff
  PUSH 0
  PUSH
0
  PUSH EAX
  PUSH pExitProcess
  
PUSH hModule
  PUSH pDeleteFileA
  PUSH
pUnmapViewOfFile
  RET
  end;
  
begin
  Funll;
  end;
end;
具体怎么使用,那要看你自己的意愿了和需要了。反正俺是这样做的,俺的软件ADSL拨号计时器只在很早版本上出过注册机,后来的v3.70出过破解补丁——其实只是破掉了启动时提示注册的对话框,实质上根本没破解。用了上述的着法以后,到现在的v5.28版本,再没有过什么破解补丁或注册机。(完)


[拆招]:
要删文件,必须调用GetModuleHandleA和GetModuleFileNameA,用bp下断,找到附近的DeleteFileA,nop掉就可以了。

这篇关于共享软件破解的实用着法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/749968

相关文章

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

Python 字符串裁切与提取全面且实用的解决方案

《Python字符串裁切与提取全面且实用的解决方案》本文梳理了Python字符串处理方法,涵盖基础切片、split/partition分割、正则匹配及结构化数据解析(如BeautifulSoup、j... 目录python 字符串裁切与提取的完整指南 基础切片方法1. 使用切片操作符[start:end]2

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

PostgreSQL中rank()窗口函数实用指南与示例

《PostgreSQL中rank()窗口函数实用指南与示例》在数据分析和数据库管理中,经常需要对数据进行排名操作,PostgreSQL提供了强大的窗口函数rank(),可以方便地对结果集中的行进行排名... 目录一、rank()函数简介二、基础示例:部门内员工薪资排名示例数据排名查询三、高级应用示例1. 每

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

MySQL 添加索引5种方式示例详解(实用sql代码)

《MySQL添加索引5种方式示例详解(实用sql代码)》在MySQL数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中,下面给大家分享MySQL添加索引5种方式示例详解(实用sql代码),... 在mysql数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中。索引可以在创建表时定义,也可

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

9个SpringBoot中的自带实用过滤器使用详解

《9个SpringBoot中的自带实用过滤器使用详解》在SpringBoot应用中,过滤器(Filter)是处理HTTP请求和响应的重要组件,SpringBoot自带了许多实用的过滤器,如字符编码,跨... 目录1. CharacterEncodingFilter - 字符编码过滤器功能和配置手动配置示例2