吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7788|回复: 406
上一主题 下一主题
收起左侧

[其他原创] 《吾爱破解精华集 2025》电子书自解压文件InnoSetup安装脚本

    [复制链接]
跳转到指定楼层
楼主
烟99 发表于 2026-3-17 13:57 回帖奖励
本帖最后由 烟99 于 2026-3-20 00:25 编辑

《吾爱破解精华集 2025》电子书自解压文件InnoSetup安装脚本

【基本信息】

源码名称:《吾爱破解精华集 2025》电子书自解压文件InnoSetup安装脚本
源码编写:吾爱破解@烟99

【基本介绍】

此安装脚本主要目的是实现电子书资源文件自解压,同时通过[code]段自定义Pascal脚本来
实现自定义界面、判断文件是否存在、安装后运行电子书三个功能,支持随机皮肤、窗口淡
入淡出,使用lzma2极限压缩算法,有需要使用InnoSetup压制自解压文件的同学可参看此脚
本。初学Pascal和Delphi编程,如源码有不足之处还请多多包涵!

【如何编译】

本脚本基于Restools汉化修改的InnoSetup 5.5.1.ee2 ANSI版本编译器编译,此版本诞生于
2012年,虽然年代久远,但此版本编译出的exe具有运行稳定、不易误报、防止非法解包等
优点。尽管源码未使用restools后续添加的指令,但出于稳定考虑,强烈建议使用此版本编
译器编译,如果你没有此版本的InnoSetup编译器,可通过以下链接下载:
下载链接:https://www.lanzoux.com/b0caqej9g
访问密码:52pj
我们提供的是热心网友制作的多版本整合版,安装时要使用自定义安装,选择“ANSI”版本
下的“拓展防解包(Restools)”这个版本,分享文件夹里有安装图解Word文本,不会的看
word文本。
安装好编译器后,请将要打包的文件放在{APP}文件夹中,不想放在那个文件夹,请自行修改
脚本参数,另外splash.bmp和icon.ico是自解压包头图和程序图标,如需自定义,也请自行
修改脚本参数。

【这次增加了什么】

1、【新增】加入了欢迎访问和本源码链接两个文本标签。
2、【优化】这次调整了窗口大小,适配大屏幕电脑,显得不再拥挤。
3、【修复】用于驱动随机皮肤的整型数组最后一个整数值写重复了,导致最后一个皮肤不会出现在随机列表,已进行修复。

【版权声明】

本脚本最终版权归吾爱破解论坛会员烟99所有,脚本仅供个人学习,如需商业使用请联系我们。
联系方式:service@52pojie.cn

【源码预览】

// 点击"解压缩"按钮的操作函数
procedure unpackbuttonOnClick(Sender: TObject);
// 根据电子书自解压程序的设计思路,执行解压缩操作,需要先判断解压目录是否存在电子书文件,根据文件名和MD5判断
// 是不是电子书的文件,两个条件缺一不可,全部满足才会触发询问是否覆盖文件的对话框。
// 注意:修改判断目标文件名和MD5请修改前面的deifine参数,请不要修改此处!
// 定义局部变量

var
  objectmd5,exemd5: string;                                   // 被测文件MD5值和指定MD5变量
  iResult: Integer;                                           // 返回值
begin
    if FileExists(ExpandConstant('{app}\{#objectfile}')) = true then               // 这里用chrome_100_percent.pak来判断
      begin
        objectmd5 := GetMD5OfFile(ExpandConstant('{app}\{#objectfile}'));
        exemd5 := '{#exemd5}';
        iResult :=CompareText(objectmd5,exemd5);
        if iResult = 0 then
          begin
            if MsgBox('发现当前解压目录含有电子书文件,继续解压缩将会导致原文件覆盖,是否继续?', mbError, MB_YESNO)=IDYES then  //选择“是”直接解压。
             WizardForm.NextButton.OnClick(WizardForm);
          end
      else
       WizardForm.NextButton.OnClick(WizardForm);             // 条件二不满足执行解压
      end
    else
      WizardForm.NextButton.OnClick(WizardForm);              // 条件一不满足执行解压
end;

// 点击"取消"按钮的操作函数
procedure cancelunpackOnClick(Sender: TObject);
begin
      WizardForm.CancelButton.OnClick(WizardForm);  // 模拟点击Inno原生的"取消"按钮。
end;

// 点击论坛URL网址按钮的操作函数
procedure websiteOnClick(Sender: TObject);
var
  ErrorCode: Integer;
begin
  if (MsgBox('即将访问{#MyAppPublisher}主页,是否继续?',mbConfirmation,MB_YESNO))=6 then
    begin
        ShellExec('open', '{#MyAppURL}', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
    end;
end;

// 点击论坛获取自解压脚本按钮的操作函数
procedure getsourcecodeOnClick(Sender: TObject);
 var
  ErrorCode: Integer;
begin
  if (MsgBox('亲,这个自解压程序是基于InnoSetup压制的,脚本开源哦!每一次启动都会加载不同的皮肤,十分炫酷!不来学学吗?点击<是>即可跳转到帖子。',mbConfirmation,MB_YESNO))=6 then
    begin
        ShellExec('open', 'https://www.52pojie.cn/thread-2097395-1-1.html', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
    end;
end;

【效果截图】

【源码下载】

发帖之时起5天内回复可见,5天后解除隐藏,对全网开放。


下载链接:https://wwava.lanzoub.com/iYJSk3ktqdah
访问密码:52pj

展望未来

未来如果有机会,打算改用C/C++写自解压程序,InnoSetup限制还是比较多的。如果时间更充裕的话,可能会开发一款精华集电子书阅读软件,以后就发布专门格式的文件,不再发布exe。

成品

项目成品传送门

https://www.52pojie.cn/thread-2097399-1-1.html

点评

感谢作品  发表于 2026-3-17 14:04

免费评分

参与人数 48威望 +1 吾爱币 +59 热心值 +41 收起 理由
bsa1986 + 1 + 1 谢谢@Thanks!
crisili + 1 热心回复!
DK861226 + 1 + 1 热心回复!
zyhong + 1 谢谢@Thanks!
rgywin + 1 + 1 我很赞同!
bluedelta + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
huabing19 + 1 热心回复!
gaoze + 1 + 1 我很赞同!
bingshen + 1 + 1 谢谢@Thanks!
catvmis + 1 + 1 鼓励转贴优秀软件安全工具和文档!
waynewange + 1 + 1 谢谢@Thanks!
hanjiangke + 1 + 1 我很赞同!
dxlmn + 1 谢谢@Thanks!
111mz + 1 + 1 论坛禁止求脱求破,求助软件分析思路,务必在主题帖中描述清楚你的分析思路 ...
jack77556601 + 1 + 1 谢谢@Thanks!
hawalo + 1 + 1 用心讨论,共获提升!
kbs0815 + 1 + 1 感谢分享,下来看看
freesoft + 1 + 1 谢谢@Thanks!
202311112121 + 1 + 1 谢谢@Thanks!
cccfind911 + 1 谢谢@Thanks!
zhangpengyu318 + 1 + 1 我很赞同!
yangjunszn + 1 + 1 我很赞同!
alexxi0571 + 1 + 1 谢谢@Thanks!
petnnar185 + 1 谢谢@Thanks!
a79461350 + 1 + 1 我很赞同!
baopushouzhuo + 1 + 1 谢谢@Thanks!
aliaosha2587 + 1 + 1 我很赞同!
qjlfl + 1 + 1 谢谢@Thanks!
DANHUANGJIANGYO + 1 + 1 谢谢@Thanks!
g98 + 1 谢谢@Thanks!
liu071826 + 1 + 1 谢谢@Thanks!
411183343 + 1 谢谢@Thanks!
vsvs619 + 1 谢谢@Thanks!
BillyPJ123 + 1 + 1 我很赞同!
bugof52pj + 1 谢谢@Thanks!
vergil0528 + 1 + 1 谢谢@Thanks!
tree777 + 1 谢谢@Thanks!
ocean111 + 1 我很赞同!
outdoorreadbook + 1 我很赞同!
tanker5 + 1 用心讨论,共获提升!
sqlnnhy + 1 + 1 谢谢@Thanks!
苏紫方璇 + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
laozhang4201 + 1 + 1 热心回复!
chu000 + 1 谢谢@Thanks!
Huhu52pj + 1 + 1 我很赞同!
linjoon + 1 + 1 鼓励转贴优秀软件安全工具和文档!
WSLFY + 1 + 1 热心回复!
固相膜 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
不知道改成啥 发表于 2026-3-17 14:17
本帖最后由 不知道改成啥 于 2026-3-17 14:35 编辑

感谢大佬辛苦整理,想知道版本是啥我的版本是InnoSetup5.5估计是低了

最新的7版本也是卡在了:Randomize;   // 初始化随机数

已解决,楼主写了刚才没看见,用这个版本编译成功了:InnoSetup 5.5.1.ee2 ANSI版本编译器编译
3#
孤狼微博 发表于 2026-3-17 14:16
4#
Mzhang2008 发表于 2026-3-17 14:17
这个应该很方便学习了,太强大了,有你更精彩
5#
newhopegroup 发表于 2026-3-17 14:23
感谢分享,下来看看
6#
kaigh 发表于 2026-3-17 14:24
解除隐藏了吗
7#
aa868682008 发表于 2026-3-17 14:26
宝藏,收藏
8#
注册个id 发表于 2026-3-17 14:27
终于来了, 支持
9#
scxclzyzb 发表于 2026-3-17 14:28
精华之作值得收藏。
10#
hack1 发表于 2026-3-17 14:31
感谢楼主整理
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-8-6 08:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表