共享软件破解的实用着法

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

相关文章

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

如何将卷积神经网络(CNN)应用于医学图像分析:从分类到分割和检测的实用指南

引言 在现代医疗领域,医学图像已经成为疾病诊断和治疗规划的重要工具。医学图像的类型繁多,包括但不限于X射线、CT(计算机断层扫描)、MRI(磁共振成像)和超声图像。这些图像提供了对身体内部结构的详细视图,有助于医生在进行准确诊断和制定个性化治疗方案时获取关键的信息。 1. 医学图像分析的挑战 医学图像分析面临诸多挑战,其中包括: 图像数据的复杂性:医学图像通常具有高维度和复杂的结构

ubuntu终端实用指令

ctrl + w 往回删除一个单词,光标放在最末尾 ctrl + u 删除光标以前的字符 ctrl + k 删除光标以后的字符 ctrl + a 移动光标至的字符头 ctrl + e 移动光标至的字符尾 ctrl + shift + c 复制 ctrl + shift + v 粘贴 ctrl + l 清屏

【Git 学习笔记_24】Git 使用冷门操作技巧(四)——更多实用 git 别名设置、交互式新增提交

文章目录 11.8 更多别名设置别名1:只查看当前分支(git b)别名2:以图表形式显示自定义格式的 git 日志(git graph)别名3:查看由于合并分支导致的冲突后仍有冲突的、待合并的文件列表(git unmerged)别名4:查看 git 状态(git st)别名5:查看 git 简要状态(git s)别名6:查看最新版本的统计信息(git l1)别名7:查看最近 5 个版本的提

2017 版本的 WebStorm 永久破解

1.  在IntelliJ官网中下载 最新版本的WebStorm   下载地址:https://www.jetbrains.com/webstorm/download/#section=windows 2. 获取注册码    获取地址:http://idea.lanyus.com/   点击获取注册码,然后将注册码复制,再打开最新版的WebStorm,将注册码粘贴到激活框中就大功告

50个实用的jquery案例

1. 如何创建嵌套的过滤器: //允许你减少集合中的匹配元素的过滤器,   //只剩下那些与给定的选择器匹配的部分。在这种情况下,   //查询删除了任何没(:not)有(:has)   //包含class为“selected”(.selected)的子节点。   .filter(":not(:has(.selected))")  2. 如何重用元素搜索 var allI

96.游戏的启动与多开-窗口多开检测与破解

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:易道云信息技术研究院 上一个内容:95.游戏的启动与多开-信号量多开检测与破解 以 95.游戏的启动与多开-信号量多开检测与破解 它的代码为基础进行修改 首先设置窗口的名字 然后使用Spy++查看窗口的类 破解多开效果图: 窗口检测多开是通过窗口 FindWindow 函数当窗口存在它会返回窗

最强的10个交换机实用配置

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 下午好,我的网工朋友。 交换机每天都在瞅,但网工对交换机的开发程度不足5%。 交换机工作在OSI模型的第二层,即数据链路层,主要负责数据包的转发。 交换机通过学习MAC地址来构建一张MAC地址表,从而实现数据包的直接转发到目的端口,避免了不必要的网络拥堵和冲突。 今天分享一波实用的交换机配置方法,快速

Java实用类——操作日期和时间

Date类: Date 位于java.util.Date类:表示日期和时间SimpleDateFormat 位于java.text.SimpleDateFormat类:格式化日期类parse方法:将字符串转为日期类型 public static void main(String[] args) throws ParseException {//获得当前时间Date date = new Da

php实用命令

php相关命令 命令错误级别 命令 命令命令介绍具体用法php -v查看php版本php -vphp -l检查php文件是否有语法错误php -lphp -m查看当前php安装的扩展php -mphp -i | grep extension_dir查看扩展安装的目录php -i | grep extension_dir 错误级别 命令命令介绍具体用法error_reporti