1.vue反编译dist包到源码
2.app安全之反编译(一)
3.GitHub ä¸diståsrcï¼destç®å½çåºå«
4.Vue项目的源码部署
vue反编译dist包到源码
在处理老项目源码缺失问题时,可以通过反编译dist包获取部分源码。源码以下是源码具体步骤:
当面临源码缺失的挑战时,可以通过反编译dist包来补全代码。源码首先,源码需要在管理员权限下启动命令行工具(cmd)。源码gammainv源码 在dist包的源码static/js目录下,找到如0.7ab7dffccc1ca.js.map这样的源码编译映射文件。以这个文件为例,源码执行反编译操作,源码可以全局安装reverse-sourcemap插件,源码然后执行命令:reverse-sourcemap --output-dir source 0.7ab7dffccc1ca.js.map 为了自动化这个过程,源码可以编写脚本利用Node.js的源码child_process模块。通过fs模块遍历文件夹,源码找出所有.map文件,源码将其存入数组,然后使用递归调用reverse-sourcemap命令。以下是黑猫源码分享关键步骤的脚本编写方法:创建一个函数,用于执行反编译命令(reverse-sourcemap)。
使用fs模块读取文件并使用正则表达式匹配.map文件。
遍历匹配到的.map文件,并调用执行函数。
通过这些步骤,你将能够从dist包反编译出部分源码,尽管可能只限于Vue文件,但这已能满足基本需求。最终,你会看到source目录下反编译得到的源码文件。app安全之反编译(一)
以往安全研究者关注的多是移动应用的本地安全,例如远程控制、应用破解及信息窃取等,然而忽视了服务端安全。服务端的安全问题普遍存在,如SQL注入、文件上传、公证系统源码中间件或服务器漏洞等。移动应用通过web API服务与服务端交互,这种模式将移动安全与web安全紧密相连。然而,部分应用不直接嵌入网页,而是通过API接口返回JSON数据,这使得扫描器和爬虫无法获取链接。
在iOS系统中,由于无法进行反编译,安全专家通常借助反汇编工具,如IDA,来分析应用逻辑。对于已越狱的iOS设备,IDA、classdump等工具可以辅助进行分析。在Android系统中,应用反编译则更为常见,或公式源码通常使用apktool、dex2jar和jd-gui等工具。为了检测Android应用的安全性,通常会先判断是否被加壳,之后尝试脱壳并反编译代码,结合上下文分析代码位置,有时还需进行动态调试。
以下是针对应用反编译的一般思路及工具使用方法:
脱壳通常使用DexHunter,这是一款用于通用自动脱壳的Android工具,由大牛zyqqyz于年下半发表在看雪论坛,详情见《Android dex文件通用自动脱壳器》。接下来是反编译流程:
1. 使用apktool将APK文件反编译成源代码、、XML配置、语言资源等文件。下载apktool,解压后得到三个文件:aapt.exe、gg登录源码apktool.bat、apktool.jar。将待反编译的APK文件放入指定目录,打开命令行界面输入命令:apktool.bat d -f test.apk test(test.apk为APK文件全名,test为输出文件夹名称)。执行后会在指定文件夹生成反编译资源。
2. 若要将反编译的文件重新打包成APK,可输入命令:apktool.bat b test(test为编译文件夹)。执行后在指定文件夹下会生成build和dist文件夹,dist中存放着打包后的APK文件。
3. 反编译得到的Java源代码可通过dex2jar和jd-gui工具进一步分析。将classes.dex文件解压并转换为jar文件,然后使用jd-gui打开查看源码。
4. 对于混淆过的应用,类文件名称和方法名称会以a、b、c等样式命名,需要仔细分析。
为了简化反编译过程,还提供了图形化工具,如Androidfby。使用该工具进行APK反编译更为直观方便。
在进行APK修改时,了解未加密资源的修改方法至关重要。非res文件夹下的资源及res中的可直接解压缩修改。具体操作包括解压缩APK包、修改指定文件、删除签名文件夹、重新打包并签名后安装。
为确保分享的资源与工具的时效性与实用性,我运营着一个公众号,每日分享安全资料与工具,欢迎关注。
GitHub ä¸diståsrcï¼destç®å½çåºå«
distæ¯ç¼è¯åçæ件ï¼å缩çï¼
srcæ¯æºç æ件ï¼
å缩æºï¼srcï¼æ件ï¼çæå缩å å°ï¼destï¼ï¼destä¸è¬åsrcé 对åºç°ã
Vue项目的部署
近期我完成了一个基于Vue的记账项目,下面我将分享我的远程部署过程。
一、本地预览
源代码编写完成后,首先将其上传至GitHub,例如:git@github.com:Xin-hai/haiqing-1.git。这个仓库称为源代码仓库,其中dist目录默认不会上传。根据Vue CLI部署指南,需要进行本地预览,确保yarn build打包后的dist目录正确无误。在终端执行官方推荐的命令,启动HTTP服务器访问dist目录。
由于我使用yarn进行包管理,因此使用yarn命令进行安装。在新的预览地址中,我比较了文件,发现打包后的css和js文件体积比yarn serve得到未打包的体积更小。检查完dist目录打包无误后,可以关闭预览。
二、GitHub Pages手动推送更新
新建一个远程仓库地址用于存放dist目录的相关代码,这个仓库仅用于网页展示,如git@github.com:Xin-hai/haiqing-1-website.git。此仓库最好与源代码仓库名称相似,例如在后面加上-website。
在vue.config.js中设置正确的publicPath。找到vue.config.js并添加如下代码,将'/my-project/'修改为新建的仓库地址名'/haiqing-1-website/'。
在项目目录上创建deploy.sh并按照官方写入相关代码。我使用的是yarn,进行了一点小的修改。主要修改的是git push -f git@github.com:Xin-hai/haiqing-1-website.git master:gh-pages这句代码,其中的haiqing-1-website是前面新建的存放dist的仓库,也是用于网页展示的仓库。
在终端运行sh deploy.sh即可自动部署。代码会上传到haiqing-1-website仓库的gh-pages分支上,此分支会自动开启GitHub的pages功能,稍等片刻就能看到网页链接。注意,源代码仓库不会自动更新,需要自己git push相关代码。
三、码云部署
为了优化访问速度,我使用了码云gitee。同样,在码云上新建好仓库后,复制ssh地址,将deploy.sh中的git push -f git@github.com:/.github.io.git master修改为码云的。
在gitee的服务选项中查看Gitee pages功能。
------------------------------------------..补充
在经历一个星期的实名认证之后,我的码云终于可以使用Gitee page功能了。在推送时,除了修改deploy.sh为如下,还需要将vue.config.js中的仓库地址改为码云中的远程仓库地址如下。
注意,gitee需要手动更新,每次git push后需要手动更新才能看到效果。
最后,是我最近做的海青记账的GitHub源代码仓库和Gitee源代码仓库,欢迎大家体验和提出建议。