自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

转载 apk解包+修改源码+重新打包 修改Android端app教程 修改apk文件教程

修改之前一定要先安装java开发环境,不会装的去自行百度。文章较长,耐心阅读。一直在做Android应用开发,但对于从自己手中输出的apk包,了解并不是很深。最近想研究一下,消除下自己的一些技术盲点。好吧,废话少说,先切入主题。这篇文章主要介绍如何获取apk包中的dex文件,并简单修改里面的源码,再重新打包生成apk文件。下面提供对HelloWorld.apk的解包,修改源码,重新打包的过程。1 需要用到的工具:baksmali:把dex文件转换成smali文件的工具(dex文件无.

2021-04-30 16:02:40 19722 8

转载 已混淆和未混淆对Apk反编译后的影响

这里做个测试使用Smali2Java工具对apk进行反编译未混淆 如 ↓已混淆 如 ↓可以看出来未混淆后很多工具类反编译可以直接看出你的命名规则,甚至内部变量参数赋值也能很直观的看到,所以混淆很有必要!而混淆之后所有的类都会被打乱成a b c增加了理解难度。增加了破解的难度,防止不必要的危险发生......

2021-04-30 13:18:06 501

转载 Android逆向世界之一:smali文件

一直对android的逆向分析很感兴趣,这些年也陆陆续续反编译了一些android的项目,今天开始对这方面的知识做一下总结。先从android的apk文件开始讲起。APK文件android工程编译完成会得到我们想要的apk安装包,apk文件其实是一个压缩包,可以直接用解压缩软件解压,解压后的文件如下图所示:assets文件夹保存一些额外的资源文件,如游戏的声音文件,字体文件等等,在代码中可以用AssetManager获取assets文件夹的资源。lib文件夹存放用C/C++编写的,用NDK

2021-04-30 13:15:22 2260

转载 Smali基础知识

Smali是什么?简介Smali是用于Dalvik(Android虚拟机)的反汇编程序实现,汇编工具(将Smali代码汇编为dex文件)为smali.jar,与之对应的baksmali.jar则是反汇编程序(下载地址),官方所说的基于Jasmin/dedexer语法,实际根不知道是什么鬼……Smali支持注解、调试信息、行数信息等基本Java的基本特性,可以说是很接近Java编译在JVM上的中间语言了,一般用来做Android程序的逆向工程,还可以。。搞搞小名堂个人认为Smali只是用于做反汇编

2021-04-30 13:11:26 3340

转载 Mysql 集群环境搭建

在上一篇文章中已经详细的写了关于Mysql的安装步骤。这一篇文章在上一篇文章的基础之上接着写集群的安装与部署。安装地址:https://www.cnblogs.com/ming-blogs/p/10962554.htmlMySQL主从复制配置主节点服务器 地址 192.168.0.105从节点服务器 地址 192.168.0.107主节点服务器安装好之后,直接clone 一个即可,不需要重复安装2次。主节点服务器配置1.进入配置页面命令 vi /etc/my.cnf...

2021-04-29 19:44:52 329

转载 IDEA配置maven本地仓库

(windows系统)使用maven时,不想在使用IDEA开发时,使用maven的默认仓库,C:\Users\yxs19\.m2\repository,而是想使用自己创建的仓库地址,那么我们需要进行如下操作:1.找到maven的安装目录,复制settings.xml文件至 C:\Users\yxs19\.m2 路径下2.修改setting.xml文件3.在idea中导入新项目时,不用再修改其maven路径信息。......

2021-04-29 19:36:38 1187

转载 本地安装maven仓库以及IDEA的maven配置

1.需要事先准备好JDK和IDEA和maven的安装的包https://maven.apache.org/download.cgi这个网址可以下载最新的maven的安装包,但是不推荐用最新的版本,建议使用3.2.1的,目前企业在用这个版本。2.将文件解压到任意的一个文件夹下,但是最好路径不要有中文3.配置好环境变量:在Path中添加maven的环境变量4.配置本地的maven仓库:在apache-maven-3.2.1文件的同级目录下建立repository文件夹,用于存放maven

2021-04-29 19:19:55 459

转载 canvas获取视频第一帧设置为视频封面

function vSetImg(obj) { const canvas = document.createElement("canvas"); canvas.width = obj.videoWidth; canvas.height = obj.videoHeight; canvas.getContext('2d').drawImage(obj, 0, 0, canvas.width, canvas.height); obj.setAttribute('poster', canvas.

2021-04-29 15:12:27 1134

转载 52条SQL语句,性能优化,干货必收藏 !

SQL语句性能优化1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2,应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默 认值。3,应尽量避免在 where 子句中使用!=或<>操作符, MySQL只有对以下操作符才使用索引:<,<=,=,>,>=,BETWEEN,IN...

2021-04-29 10:31:52 230

转载 Vue项目中如何禁止不规范的代码提交Git

Vue项目中如何禁止不规范的代码提交Git首先,如果要检验vue代码,我们需要安装eslint、vue-eslint-parser和eslint-plugin-vue,安装这三个包之后,我们就可以配置自己的代码规范,并使用ESLint来校验我们项目中的代码了。如果需要我们还可以通过安装VSCode的ESLint插件和通过VSCode的一些配置来实现编码过程中实时提示警告跟错误,并且在保存代码的时候自动修复部分错误接着上面的说,虽然有部分错误ESLint能够帮我们自动修复,但是ESLint不是万能的,有

2021-04-29 07:32:52 1825

转载 vue实现锚点跳转之scrollIntoView()方法

滚动到某个特定元素 :scrollIntoView();这个方法不用获取右边小标题的高度,啥都不用,有id或者class就行啦,几乎可以满足你锚点跳转的所有需求,对齐方式,以及平滑滚动了这里是v-for循环出来需要点击跳转到对应div的事件<p> v-for="(value,index) in data" @click="scrollToPosition(index)">{{...}}</p> 这就是你点击scrollToPosition事件需要滚动对应的div.

2021-04-28 17:22:31 4542

转载 Android aar 包修改源代码和布局资源id

Android aar 包修改源代码和布局资源id原文地址https://www.jianshu.com/p/bdb62f36bc62注:本项目基于 Android Studio 讲解,IntelliJ IDEA 类同修改 aar 代码层业务逻辑修改 aar layout 布局文件重新打包 aar修改 aar 需要用到的工具(就一个工具,使用方式非常简单,别担心)注:(下面工具,点击名称可进入下载链接,如果链接失效,请百度搜索下载)Bandizip,一款非常好用的解压缩工具,安装的时

2021-04-27 20:55:33 991

原创 rxeasyhttp 采用 multipart/form-data 方式上传视频文件

采用自定义Body方式:(https://github.com/zhou-you/RxEasyHttp) File file = new File(dataM.get("path").toString());//imgUrl为图片位置 RequestBody fileBody = RequestBody.create(MediaType.parse("application/json"), file); RequestBody requestBody = new Mult.

2021-04-27 14:19:54 773

转载 implementation和api的区别

关于implementation和api的区别,一共分为两个方面:一、编译范围关于这一部分,[参考官网],说的很清楚:implementation:Gradle 会将依赖项添加到编译类路径,并将依赖项打包到构建输出。不过,当您的模块配置 implementation 依赖项时,会让 Gradle 了解您不希望该模块在编译时将该依赖项泄露给其他模块。也就是说,其他模块只有在运行时才能使用该依赖项。使用此依赖项配置代替 api 或 compile(已弃用)可以显著缩短构建时间,因为这样可以减少

2021-04-27 09:05:33 621

原创 视频播放-java.lang.NoSuchMethodException: cn.jzvd.v.<init> [class cn.jzvd.Jzvd]

视频播放 引用https://github.com/lipangit/JiaoZiVideoPlayer.git报错java.lang.NoSuchMethodException: cn.jzvd.v.<init> [class cn.jzvd.Jzvd]解决办法:-keep public class cn.jzvd.JZMediaSystem {*; }

2021-04-26 22:13:22 336

转载 Gradle插件的引用:apply plugin和apply from

Gradle是一款帮助开发人员更快更好的编译、自动化运行和分发软件的工具。Gradle具有无与伦比的通用性,可以编译Java、C++,Python或者任何其他你使用的语言。与Maven类似,Gradle本质上也是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成。Gradle插件大致分为两种:(1)二进制插件。二进制插件一般都是被打包在一个Jar里独立发布的,比如我们自定义的插件,在发布的时候我们也可以为其指定plugin id,这个plugin id最好是一个全限定

2021-04-26 19:25:11 9591

转载 mysql 启动不了了的解决方法

系统: centos7本地的环境,mysql启动不了,查看/var/log/mysqld.log有以下内容2018-12-24T08:05:38.090527Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).2018-1..

2021-04-26 13:14:35 917

原创 uniapp Android离线打包SDK升级3.1.11

1.拷贝本地library库,setting.gradle配置library库2.app 的gradle引入library库3.dcloud_control.xml 修改appid 以及assets相关目录名称4.dcloud_uniplugins.json 增加本地原生插件5.app gradle android脚本中增加: compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targe.....

2021-04-26 10:00:30 1873

原创 模块封装

export function uploadVideo() {return new Promise(resolve => {uni.chooseVideo({sourceType: ["album", "camera"],success: path => {// console.log(path);const tempFilePath = path.tempFilePath;showLoading("视频上传中...", 20000);uni.uploadFile({url:.

2021-04-25 10:04:25 211

原创 Android studio 编译项目 报 Task :library:compileDebugJavaWithJavac FAILED

这边项目是多人开发,使用SVN服务器,部分人不太按照规定办事,代码再本地没跑通那个就直接提交了,导致了代码出现各种问题。出现上面这种错误,编译都是没问题的,就是跑起来的时候,出问题比较多,而且没有更多的提示。解决方案:打开项目的根目录,打开Android studio 终端,输入gradlew compileDebugJavaWithJavac --stacktrace查看更详细的信息:Welcometo Gradle 6.5!Here are the highlights o.

2021-04-23 17:26:31 4437

原创 钉钉微应用内网穿透 映射本地H5页面

内网穿透之HTTP穿透更新时间:2021-01-28鉴于很多开发者在临时体验开发时往往没有公网域名或者公网IP,本工具提供了一个公网代理服务,目的是方便开发测试。注意本工具不保证稳定性,仅适用于开发测试阶段,禁止当作公网域名使用。如线上应用使用本工具造成稳定性问题,后果由自己承担。如使用本工具传播违法不良信息,钉钉将追究法律责任。内网穿透示意图场景介绍案例一:ISV三方企业小程序的回调地址必须是公网域名或IP,对于大部分开发者来说,开发者无法在本地调试远程代码,对于回调URL.

2021-04-23 11:20:42 1518

原创 Could not create task ‘:app:minifyReleaseWithR8‘. Cannot query the value of this provider because it

In my case I've just needed to download the correct sdk. Go to SdkManager (for example tap shift key twice and type "sdk manager") and be sure to download the SDK Platform that corresponds to your buildToolsVersion defined in your project's build.gradle(

2021-04-20 19:06:36 3574

转载 gojs去除logo

7eba17a4ca3b1a8346

2021-04-15 10:47:33 338

转载 解决if not defined npm_config_node_gyp

node-gyp安装 报错if not defined npm_config_node_gyp解决if not defined npm_config_node_gyp第一步npm install -g node-gyp1第二步npm config set node_gyp "node C:\Users\me\AppData\Roaming\npm\node_modules\node-gyp\bin\node-gyp.js"......

2021-04-15 10:45:07 881

转载 什么是node-gyp?

GYP是一种构建自动化工具。node-gyp:node下的gyp。为什么要有node-gyp?npm 为了方便干脆就直接源码分发,用户装的时候再现场编译。因为node程序中需要调用一些其他语言编写的 工具 甚至是dll,需要先编译一下,否则就会有跨平台的问题,例如在windows上运行的软件copy到mac上就不能用了,但是如果源码支持,编译一下,在mac上还是可以用的。node-gyp在较新的Node版本中都是自带的(平台相关),用来编译原生C++模块。......

2021-04-15 09:15:22 7197

转载 node http传输解析

一次 HTTP 传输解析本指南的宗旨将让你对 HTTP 传输处理有一个清晰完整的了解。在不考虑特定编程语言及开发环境下,我们假设你已经知道在一般情况下 HTTP 是如何进行工作的。我们同样假定你熟悉 Node.js 的EventEmitters和Streams。当然,如果你确实不了解它们,我们强烈建议你把以上列出的内容快速而完整地阅读一遍。创建一个后台服务任何网络服务应用程序总是要先创建一个服务对象。这在 Node.js 中通常通过createServer方法。const htt.....

2021-04-15 09:11:29 604

转载 springboot-jjwt

jwt和传统session的区别?传统的session认证1、用户向服务器发送用户名和密码。2、服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色、登录时间等等。3、服务器向用户返回一个 session_id,写入用户的 Cookie。4、用户随后的每一次请求,都会通过 Cookie,将 session_id 传回服务器。5、服务器收到 session_id,找到前期保存的数据,由此得知用户的身份。基于session认证所显露的问题。这种模式的问

2021-04-15 09:11:18 769

原创 Redis Desktop Manager的下载及安装

一、下载Redis Desktop Manager1. Redis Desktop Manager 的下载路径(1)链接:https://pan.baidu.com/s/1zmHQBaaVFqht6VDKpLCONQ 提取码:n301二、安装Redis Desktop Manager傻瓜式安装,点击下一步即可(注意更改安装目录)三、连接Redis服务器详见:https://www.jianshu.com/p/6895384d2b9eredis命令中心:http:......

2021-04-15 09:11:04 4714 1

转载 vue重置data或者获取data初始值

在某些情况我们可能要重置data上面的某些属性,比如在表单提交后需要清空formthis.$data // 组件当前data对象this.$options.data() // 组件初始化状态下的data对象Object.assign(this.$data, this.$options.data()) // 重置data对象到初始化状态......

2021-04-15 09:10:24 810

转载 moment通过时间戳获取星期几

moment通过时间戳获取星期几getWeek (date) { // 参数时间戳 let week = moment(date).day() switch (week) { case 1: return '周一' case 2: return '周二' case 3: return '周三' case 4: return '周四' ......

2021-04-15 09:02:18 5796

转载 服务器并发数和访问量计算与服务器配置

并发访问量是10分钟100人在线?还是每秒100个并发请求?如果是前者,以在10分钟内,100人每人平均访问10个pv,那么每秒请求数就是100*10/10/60=1.66,对服务器压力几乎就没有啦,用个单路双核的服务器轻松搞定。如果是后者,至少就得一个四核处理器,2G内存,10M独享带宽以上,才可以流畅。如果数据库的文件在1G或更多,那么建议你扩展至两颗处理器,达成8颗处理核心,4G内存,用SAS15000的硬盘。因为SQLServer的工作流程是必须是把SQLServer的页面文件读进内存.....

2021-04-15 09:00:51 3503

转载 微信小程序数据分析之自定义分析

https://www.jianshu.com/p/37ff85877ba0

2021-04-15 08:58:13 267

转载 Node.js:浅析高并发与分布式集群

Node特性:高并发在解释node为什么能够做到高并发之前,不妨先了解一下node的其他几个特性:单线程我们先来明确一个概念,即:node是单线程的,这一点与JavaScript在浏览器中的特性相同,并且在node中JavaScript主线程与其他线程(例如I/O线程)是无法共享状态的。单线程的好处就是:无需像多线程那样去关注线程之间的状态同步问题 没有线程切换所带来的开销 没有死锁存在当然单线程也有许多坏处:无法充分利用多核CPU 大量计算占用CPU会导致应用阻塞(即不适用

2021-04-14 16:08:42 1487 1

转载 oss web直传 服务器签名 - vue版本

前言:为了减轻服务器压力,采用web直传的方式,直接把资源(图片,文件,视频等)上传到阿里云oss服务器。但是阿里只提供 plupload.js 环境下的 demo,看着脑壳生疼。顿时觉得xx云无耻至极,极度不友好。原本这个事情没必要浪费时间写一篇博客来记录,这下好了,坑够大,为减少广大前端朋友少踩坑,请往下看。开始:我当时用vue做的demo,其实是互通的。angular,react自己思考。废话不多说,直接上代码// vue 采用的是 axios 环境发起的 post 请求,其实就一个

2021-04-14 16:03:42 598

转载 nodejs负载均衡(一):服务负载均衡

什么是负载均衡负载平衡(Load balancing)是一种计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。 使用带有负载平衡的多个服务器组件,取代单一的组件,可以通过冗余提高可靠性。负载平衡服务通常是由专用软件和硬件来完成。 主要作用是将大量作业合理地分摊到多个操作单元上进行执行,用于解决互联网架构中的高并发和高可用的问题。 - wiki负载均衡(Load Balance)是建立在

2021-04-14 16:02:30 1548

转载 nodejs负载均衡(二):RPC负载均衡

简介这一篇确实拖的比较久,上节《nodejs负载均衡(一):服务负载均衡》讲了服务负载均衡实现,但是如果需要调用远程服务,如何保证不是调用不会集中在一台服务上,如何确保远程服务调用的负载均衡?这就要实现Consumer端调用rpc的负载均衡。所以本文章主要讲解RPC负载均衡算法实现。算法下面介绍几个主要的负载均衡算法如何实现,可以看下我写的NPM包load-balancer-algorithm。const LBA = require('load-balancer......

2021-04-14 16:01:26 726

转载 负载均衡集群(LBC)

一、LVS简介及工作模式1. LVS简介Linux Virtual Server,该软件的功能是实现LB(load balance)2.LVS的三种工作模式1)NAT模式(NAT)LVS 服务器同时充当一台NAT 网关,拥有公有IP ,同时负责将针对此公共IP的请求依据算法将请求转发给LAN 中的某台真实服务器(node) ,node 处理完成请求后将结果返回至LVS Server(调度器), 在由LVS Server 将结果返回给用户。可以将内部网络隐藏 (VIP虚拟IP,RIP真实IP),适用

2021-04-14 15:43:00 896

转载 NodeJS集群Cluster模式,负载均衡策略设置

NodeJS集群Cluster模式,负载均衡策略设置参考地址:https://nodejs.org/api/cluster.html#cluster_cluster1. RoundRobin简称:RR设置的时候使用: cluster.SCHED_RR代码实现:cluster.schedulingPolicy = cluster.SCHED_RR;2. Shared Socket简称: SS设置的时候使用: cluster.SCHED_NONEcluster.schedulingP

2021-04-14 15:39:42 589

转载 常用的web服务器都支持一定的并发用户数,这个并发用户数可以通过配置文件参数来进行配置

前言:最近看了《构建高性能web站点》一书,觉得很有收获。这本书涉及了高性能web站点设计的方方面面,作为一本入门指南级的书籍非常的不错。这篇文章尝试对该书做一个摘要,便于查阅。  对于web服务器,不断得挖掘潜力和优化服务是工程师的一直孜孜不倦的目标。优化的方法和思路其实很简单,分析应用的瓶颈在哪里?然后用合适的策略来解决它。下面就分析一下服务器可能会出现什么问题?如何解决这些问题,解决这些问题的关键技术是哪些?有些什么样的结论?  1如何提高web服务器并发处理能力  对于一台服务器,我.....

2021-04-14 15:37:17 945

转载 Android Studio正确添加so库的两种方式

以下两种方式二选一方法一:1.在src/main中新建jniLibs文件夹 ,把.so复制进去即可方法二:1.在app/中新建libs文件夹,把.so复制进去2.在app/build.gradle中添加以下五行脚本即可(注:以下脚本意思是会把libs文件夹当成jniLibs文件夹,可以直接用so库了)sourceSets { main { jniLibs.srcDirs = ['libs'] }}贴上完整的app/build.gradl......

2021-04-14 13:46:27 9870

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除