去除install4j学习版生成的安装程序和主程序的neg弹窗的解决思路

文章目录

    • 去除install4j学习版生成的安装程序和主程序的neg弹窗的解决思路
    • 概述
    • 笔记
        • 打补丁之前
        • 打补丁之后
      • 效果
      • 备注
    • END

去除install4j学习版生成的安装程序和主程序的neg弹窗的解决思路

概述

最近可能有修改openpnp源码并打包的需求。
openpnp2.2 用 install4j 10.0.5 来打包,有install4j的工程。
官方现在已经11.x了,为了保险,还是下载官方的10.x的最后版本,版本为 10.0.9. 打开编译10.0.5的install4j的工程应该没问题。

安装完官方的install4j 10.0.9, 去网上找了10.0.8的注册机,注册完,使install4j 10.0.9 成为学习版。
查看关于菜单,可以看到表面上已经是正式版了。
在这里插入图片描述

关于对话框这里,只判断主要规则,所以就看到合规的注册码。
但是实际上,install4j还有后手,还会判断注册码中的细节。
在打包时,会打进带弹窗(提醒大家去买正版)的启动EXE, 会导致使用安装程序的人和用户都会遇到弹窗警告。

  1. 安装程序启动时,会有弹窗(提醒大家要掏钱).
    在这里插入图片描述

  2. 安装完后,启动桌面上主程序时,会有弹窗(提醒大家要掏钱).
    在这里插入图片描述
    这2个弹窗的问题,估计遇到的人都会有想法将他去掉。但是网上没啥人将思路放出来。

网上的技术流大神,一般只关心注册码,将注册流程搞定后,他们就不管了。因为他们不是软件的最终用户,所以他们也发现不了作者还有后手。

那剩下的这2个弹窗,怎么弄?如果我以后要用install4j打包了自己实现的软件来卖钱,这2个弹窗不能接受的。

对于这2个弹窗,我感觉作者的路子有点歪。
用install4j做完的打包,已经是用户自己的东西了,你作为厂家,怎么能在用户的东西上标记自己的出处?那用户自己想将你做的标记撕下来行不?
如果是在install4j上做文章,让使用install4j的软件时,让学习版和正式版有价值的区别,感觉这样比较合适,也让install4j的用户能接受一些。且不影响打包后的程序,作者的路子为啥那么招人恨啊?

去买授权?不太现实,我很想自己搞他一下,干不过再考虑其他方法(如果干不过,大概率是忍了)。
对于软件学习来说,干不过也没损失,也学了东西。算是在网上大神给出注册工具基础上的二次烹饪。

笔记

install4j打包是做的windows程序来启动java的gui框架,然后干活。
看过安装程序和安装后的主程序,也就是在WinMain()中加入了一段无害的弹窗代码, 这种窗口的作用就是烦用户,让试用版的用户跪下买东西。

如果是在install4j打包完成后,再去patch安装程序和安装后的程序,这样就本末导致了,不可行。
最好的方法,是在install4j打包前,就能搞定这个事情。

俺主要搞c++, 对java不是很熟,又想搞他,咋弄?看完c++的DLL, 没发现明显线索。
那我只能当作自己是install4j的作者,如果我想在启动java的gui框架的启动程序中想弹窗,我会怎么干?
那我可能会准备一个模板程序(嵌在exe里面,或者放在数据目录中),在需要的时候,操作PE(这个很成熟,库很多),将需要的东西换了(图标,版本啥的),那么这个弹窗的代码,也可以重新编译链接成一个新程序(隐藏命令行),这也不难。

作者具体咋弄的,只能去install4j程序本身的目录去观察和猜测,如果能在.jar, .dll, exe中能看到一些线索就更好。
实际上,我确实没找到线索。
但是我根据自己的编程经验,在install4j目录中找到了作者的大致实现思路。

我先安装好install4j, 然后将install4j备份成.7z, 拷贝到自己的学习目录,解压开,也是可以正常运行的,功能都在。
翻了install4j的目录,没发现啥gcc之类的编译器,只有java的JRE. 这说明启动的EXE模块有可能不是编译出来的,更像是在一个固定模板上改出来的东西。
这说明,好像这启动的EXE是个模板,也许注册版和学习班分别有1个模板也说不定,那我就有更换模板的机会了。
在这里插入图片描述
在install4j/resource目录下看到了可疑的东西。
x.bin, x.bin.64, svc.bin 这些咋这么像自己分析思路中的启动EXE的模板呢?
打开看了一下,果真,都是EXE.
因为install4j可以打包x86, x64, 服务,所以有这些不同种类的EXE模板。
莫非正式版和非正式版的区别除了厂家会卖授权,还会提供一个单独的安装包么(在安装包内换上无弹窗的EXE模板)?
因为咱也不可能看到正式版程序是啥样子,所以,就事论事,尝试改这几个EXE模板试试。
经过试验,如果打x64的包,只需要改2个EXE模板。

winins.bin.64 是安装程序的exe模板
winln.bin.64  是安装后的主程序的exe模板

打补丁的方法可以参考另外一个笔记(IDM 6.40.11.2 弹窗的解决思路).
打补丁的点都一样,都在winMain中,很容易就翻到地方,如下:

打补丁之前

在这里插入图片描述

打补丁之后

将jnz loc_14001B178改为 jmp loc_14001B178
这个判断在弹窗之前,用图形化方式看的很清楚,改完之后,就不走neg弹窗流程了
改完之后,再用图形化窗口看就看不清了,用文本方式看。
在这里插入图片描述

效果

改完之后,原有的install4j工程不用修改,直接打包就ok.
打包完的安装程序,直接运行,不会弹框,会正常将程序安装完。
运行安装完的主程序,会直接进入GUI和逻辑,不会弹框。

备注

DIY的思路每个人都不一样,也不是每个人都能想出DIY实现的思路。
有了思路之后,DIY都不难.
如果自己真的想DIY, 但是自己思路不好使,也不损失啥,当学习了。

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/967033.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前后端服务配置

1、安装虚拟机(VirtualBox或者vmware),在虚拟机上配置centos(选择你需要的Linux版本),配置如nginx服务器等 1.1 VMware 下载路径Sign In注册下载 1.2 VirtualBox 下载路径https://www.virtualbox.org/wiki/Downloads 2、配置服…

基于javaweb的SpringBoot+MyBatis毕业设计选题答辩管理系统(源码+文档+部署讲解)

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 运行环境开发工具技术框架适用功能说明eclipse/MyEclipse运行: ![在这里插入图片描述](https://i-blog.csdnimg.cn/dir…

【Elasticsearch】nested聚合

在 Elasticsearch 中,嵌套聚合(nestedaggregation)的语法形式用于对嵌套字段(nestedfields)进行聚合操作。嵌套字段是 Elasticsearch 中的一种特殊字段类型,用于存储数组中的对象,这些对象需要独…

Linux第106步_Linux内核RTC驱动实验

1、了解rtc_device结构体 1)、打开“include/linux/rtc.h” rtc_class_ops是需要用户根据所使用的RTC设备编写的,其结构体如下: struct rtc_class_ops { int (*ioctl)(struct device *, unsigned int, unsigned long);/*函数指针ioctl*/ int (*read_time)(struct device *,…

微信小程序案例2——天气微信小程序(学会绑定数据)

文章目录 一、项目步骤1 创建一个weather项目2 进入index.wxml、index.js、index.wxss文件,清空所有内容,进入App.json,修改导航栏标题为“中国天气网”。3进入index.wxml,进行当天天气情况的界面布局,包括温度、最低温、最高温、天气情况、城市、星期、风行情况,代码如下…

Linux系统-centos防火墙firewalld详解

Linux系统-centos7.6 防火墙firewalld详解 1 firewalld了解 CentOS 7.6默认的防火墙管理工具是firewalld,它取代了之前的iptables防火墙。firewalld属于典型的包过滤防火墙或称之为网络层防火墙,与iptables一样,都是用来管理防火墙的工具&a…

Sealos的k8s高可用集群搭建

Sealos 介绍](https://sealos.io/zh-Hans/docs/Intro) Sealos 是一个 Go 语言开发的简单干净且轻量的 Kubernetes 集群部署工具,能很好的支持在生产环境中部署高可用的 Kubernetes 集群。 Sealos 特性与优势 支持离线安装,工具与部署资源包分离&#…

算法篇——动态规划

核心思想: 将问题分解为重叠的子问题,并储存子问题的解(使用字典、数组或哈希表),避免重复计算,从而提高效率。 题目特点:重叠子问题(特殊地,是最优子结构) …

一个基于ESP32S3和INMP441麦克风实现音频强度控制RGB灯带律动的代码及效果展示

一个基于ESP32S3和INMP441麦克风实现音频强度控制RGB灯带律动的代码示例,使用Arduino语言: 硬件连接 INMP441 VCC → ESP32的3.3VINMP441 GND → ESP32的GNDINMP441 SCK → ESP32的GPIO 17INMP441 WS → ESP32的GPIO 18INMP441 SD → ESP32的GPIO 16RG…

零基础学习书生.浦语大模型--基础岛

第二关:玩转书生[多模态对话]和[AI搜索]产品 任务一:使用MindSearch 任务二:尝试使用书生.浦语 尝试让其写一段Self-Attention网络模块代码 import torch import torch.nn as nn import torch.nn.functional as Fclass SelfAttention(nn.Module):def _…

AWS Fargate

AWS Fargate 是一个由 Amazon Web Services (AWS) 提供的无服务器容器计算引擎。它使开发者能够运行容器化应用程序,而无需管理底层的服务器或虚拟机。简而言之,AWS Fargate 让你只需关注应用的容器本身,而不需要管理运行容器的基础设施&…

启明星辰发布MAF大模型应用防火墙产品,提升DeepSeek类企业用户安全

2月7日,启明星辰面向DeepSeek等企业级大模型业务服务者提供的安全防护产品——天清MAF(Model Application Firewall)大模型应用防火墙产品正式发布。 一个新赛道将被开启…… DeepSeek的低成本引爆赛道规模 随着DeepSeek成为当前最热的现象级…

Excel大数据量导入导出

github源码 地址(更详细) : https://github.com/alibaba/easyexcel 文档:读Excel(文档已经迁移) B 站视频 : https://www.bilibili.com/video/BV1Ff4y1U7Qc 一、JAVA解析EXCEL工具EasyExcel Java解析、生成Excel比较…

Coze(扣子)+ Deepseek:多Agents智能体协作开发新范式

前言 在当今数字化浪潮中,人工智能(AI)技术的迅猛发展正深刻改变着我们的生活和工作方式。从智能语音助手到自动化流程机器人,AI 的应用无处不在,为我们提供了更加便捷、高效的服务。然而,对于非专业人士来…

Spring AI -使用Spring快速开发ChatGPT应用

前言 Spring在Java生态中一直占据大半江山。最近我发现Spring社区推出了一个Spring AI项目,目前该项目还属于Spring实验性项目,但是我们可以通过该项目,可以非常快速的开发出GPT对话应用。 本篇文章将会对SpringAI进行简单的介绍和使用&#…

Unity项目接入xLua的一种流程

1. 导入xlua 首先导入xlua,这个不用多说 2. 编写C#和Lua交互脚本 基础版本,即xlua自带的版本 using System.Collections; using System.Collections.Generic; using UnityEngine; using XLua; using System; using System.IO;[Serializable] public…

LM Studio 部署本地大语言模型

一、下载安装 1.搜索:lm studio LM Studio - Discover, download, and run local LLMs 2.下载 3.安装 4.更改成中文 二、下载模型(软件内下载) 1.选择使用代理,否则无法下载 2.更改模型下载目录 默认下载位置 C:\Users\用户名\.lmstudio\models 3.搜…

route 与 router 之间的差别

简述&#xff1a; router&#xff1a;主要用于处理一些动作&#xff0c; route&#xff1a;主要获得或处理一些数据&#xff0c;比如地址、参数等 例&#xff1a; videoInfo1.vue&#xff1a; <template><div class"video-info"><h3>二级组件…

DeepSeek-V2 论文解读:混合专家架构的新突破

论文链接&#xff1a;DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model 目录 一、引言二、模型架构&#xff08;一&#xff09;多头部潜在注意力&#xff08;MLA&#xff09;&#xff1a;重塑推理效率&#xff08;二&#xff09;DeepSeekM…

Android修行手册-五种比较图片相似或相同

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材…