Uniapp 写的项目原代码没了打成h5的包还在,有没有人知道怎么找回,或者包能不能反编译回来
可以参考这篇文章 手动调整
https://blog.csdn.net/qq_35744728/article/details/123783667
如果您已经把Uniapp项目打包成了H5,那么可以通过查找相应的H5的资源文件或者代码文件,来找回或者还原原代码。
首先,您可以查找之前生成的H5包所在的电脑或者服务器,看是否还能找到相应的文件,包括 HTML、CSS、JavaScript、图片等资源文件以及各页面的代码文件。如果这些文件还能找到的话,就可以把它们重新整合到Uniapp项目中,还原之前的项目。
另外,对于已经生成的H5包,通过反编译还原Uniapp项目并不容易,因为Uniapp项目包含的是原生移动应用和H5应用,需要将两者混合编译、打包。但是,也有一些反编译工具可以用于反编译H5应用,例如JebDecompiler等,但是反编译后还原的代码经常会出现各种问题和bug,因此不是很推荐这种方法。
从 H5 包中提取源代码:H5 包实际上是一组 HTML、CSS、JavaScript 文件,可以使用解压工具(如 WinRAR、7-Zip 等)解压 H5 包,然后从解压后的文件中提取源代码。一般来说,Uniapp 生成的 H5 包会包含一个 index.html 文件,这个文件中包含了项目的入口 HTML 文件,可以通过查看这个文件以及其他的 CSS 和 JavaScript 文件,逐步提取源代码。
反编译 H5 包:H5 包中的 JavaScript 代码可以通过一些工具进行反编译,将压缩过的 JavaScript 代码还原为可读性较高的源代码。一些常用的 JavaScript 反编译工具包括 UglifyJS、Terser、JS Beautifier 等。通过这些工具,可以还原部分或全部的源代码,但可能无法完全还原原始的源代码。
需要注意的是,无论是从 H5 包中提取源代码还是进行反编译,都可能无法完全还原原始的源代码,并且提取的代码可能会缺失一些元信息、注释、变量名等,导致代码可读性降低。此外,反编译 H5 包可能涉及到法律和道德方面的问题,应遵循相关法律法规和道德规范。在进行任何操作之前,建议先备份好原始的 H5 包,以防止数据丢失或其他不可逆操作。
最好的方式是在项目开发阶段时做好代码的版本控制和备份,确保源代码安全,以便在丢失代码或出现其他问题时能够轻松找回和恢复。
以下答案由GPT-3.5大模型与博主波罗歌共同编写:
如果你丢失了Uni App项目的原代码,但是拥有打好的 H5 包,可以通过借助第三方工具来反编译H5包,尝试恢复源代码。
这里推荐一个比较好用的工具,名字叫做 JTool,是一款基于 Java 开发的工具,可以用于反编译 H5 包和尝试恢复源代码。
使用步骤如下:
1.首先确保你已经安装了 JDK 环境和 Java 开发工具。
2.下载 JTool 工具,可以在 GitHub 上找到相关资源。
3.将你打好的 H5 包解压到一个文件夹中。
4.打开命令行工具,进入到 JTool 的解压目录。
5.执行以下命令进行反编译,其中 “yourWebappFolder” 是你解压后的 H5 包所在的文件夹名称。
java -jar jtool.jar -d yourWebappFolder
6.等待反编译完成,你应该可以在你的解压目录中找到一个名为 “source” 的文件夹,里面应该包含了反编译出来的源代码。
注意:
引用chatGPT作答,如果你的Uniapp项目原代码不见了,但是你仍然有打包成H5的包,那么你可以使用反编译工具尝试将H5包还原成源代码。不过需要注意的是,反编译可能会导致代码不完整或无法编译,因为编译器生成的代码通常会被优化、压缩或混淆。
如果你想尝试反编译H5包,你可以使用一些开源的反编译工具,例如Jadx、apktool等等。这些工具可以将H5包反编译成Java或XML等源代码格式,然后你可以手动将其转换回原来的代码。
另外,你也可以尝试使用一些反混淆工具来解除代码的混淆,这样可以使得代码更易读,更容易还原。例如Proguard等混淆工具。
无论哪种方法,都需要注意保护好源代码的安全性,避免泄露或被不法分子利用。
如果没有备份原代码,而且只有打包好的H5包,那么找回原代码的可能性比较小。因为H5包只是前端打包后的静态文件,是无法还原回原始代码的。
1️⃣获取字体图标文件
首先,我们要到iconmoon网站上获取我们需要的字体图标。
进入它的官网,点击上图红圈的按钮,之后就进入了下图字体图标的选择页面。
这时候我们根据自己的需要,点击选中它们即可。
选择完成之后,点击右侧的 Generate Font 按钮,生成字体图标的文件。
最后,点击 Download 按钮,下载字体图标文件到本地。
2️⃣字体图标文件放在合适的位置
上一步Download后,会下载这样一个压缩包:
解压后,找到 style.css 并在子文件夹 fonts 里找到这四个文件:iconmoon.eot、iconmoon.svg、iconmoon.ttf、iconmoon.woff,选中这5个文件并复制:
之后在自己的uniapp工程文件夹的子文件夹static中,新建一个font文件夹,把五个文件放进去:
3️⃣修改CSS文件代码
放完了字体图标文件,进入倒数第二步,修改style.css文件里的路径:
在uniapp中打开我们的style.css文件,可以看到它的第一大段代码是这样的:
@font-face {
font-family: 'icomoon';
src: url('fonts/icomoon.eot?r6t106');
src: url('fonts/icomoon.eot?r6t106#iefix') format('embedded-opentype'),
url('fonts/icomoon.ttf?r6t106') format('truetype'),
url('fonts/icomoon.woff?r6t106') format('woff'),
url('fonts/icomoon.svg?r6t106#icomoon') format('svg');
font-weight: normal;
font-style: normal;
font-display: block;
}
将这一段中所有的路径url的最前面添加一个 ~@/,表示相对路径的意思。
@font-face {
font-family: 'icomoon';
src: url('~@/fonts/icomoon.eot?r6t106');
src: url('~@/fonts/icomoon.eot?r6t106#iefix') format('embedded-opentype'),
url('~@/fonts/icomoon.ttf?r6t106') format('truetype'),
url('~@/fonts/icomoon.woff?r6t106') format('woff'),
url('~@/fonts/icomoon.svg?r6t106#icomoon') format('svg');
font-weight: normal;
font-style: normal;
font-display: block;
}
⛔️注意千万不要直接复制我上面这一段,而是老老实实在自己的代码中一行一行修改,我这一段是针对我上一段的部分加的~@/,但是因为我们选择的字体图标不同,我们的style.css文件内容是不同的。
4️⃣在页面上生成图标
完成了上面三个步骤,就可以享用字体图标了。回到刚才下载字体图标的iconmoon网站,在Download页面,选择自己下载的其中一个字体图标,点击Get Code:
在弹出的页面中,复制第一行的HTML代码,是一个span标签:
复制之后,需要在哪里放置它,就把它copy到哪里即可。(修改样式时,直接用类名icon-xxxx在css中书写代码即可)
完结撒花!🌸🌸🌸
很遗憾,如果你之前没有做备份,丢失的代码是无法找回的。但是你可以尝试将已有的打包文件反编译回原代码,具体操作如下:
以上是反编译h5包的方法,如果你有原生应用的话,也可以尝试使用其他反编译工具。需要注意的是,反编译后的代码可能无法完全还原原始代码,而且还可能包含一些错误,需要你手动修改。