草庐IT

query_builder

全部标签

因为 QUERY_ALL_PACKAGES 权限,我们上不了 Google Play 了

前言em…今天刚上班就被告知要移除QUERY_ALL_PACKAGES权限,做代码兼容,否则上不了GooglePlay了。这个权限最常用于判断某个应用是否已安装:publicbooleancheckAppInstall(Activityactivity,StringpageName){if(!TextUtils.isEmpty(pageName)){finalPackageManagerpackageManager=activity.getPackageManager();Listinfo=packageManager.getInstalledPackages(0);if(info==null

Android安全检测之数据库注入漏洞,扫描反编译apk后的代码文件,发现 query()的参数为拼接字符串,SQLiteDatabase的rawQuery查询漏洞

直奔主题,先看一个安全风险隐患整改通知: 被检测出风险的代码如下(通过机型过滤数据):Stringsql="select*frombehaviorwheredevice='"+et_device.getText().toString()+"'";CursorrawQuery=sQLiteDatabase.rawQuery(sql,null);产生原因:query()中使用拼接字符串组成SQL语句的形式去查询数据库,那么为什么这样做就会有注入漏洞呢,以上面被检测到有风险的代码为例:通常的情况,在编辑框里面输入的device是一个固定的型号,如“HUAWEI”,查询语句就是:select*from

Android安全检测之数据库注入漏洞,扫描反编译apk后的代码文件,发现 query()的参数为拼接字符串,SQLiteDatabase的rawQuery查询漏洞

直奔主题,先看一个安全风险隐患整改通知: 被检测出风险的代码如下(通过机型过滤数据):Stringsql="select*frombehaviorwheredevice='"+et_device.getText().toString()+"'";CursorrawQuery=sQLiteDatabase.rawQuery(sql,null);产生原因:query()中使用拼接字符串组成SQL语句的形式去查询数据库,那么为什么这样做就会有注入漏洞呢,以上面被检测到有风险的代码为例:通常的情况,在编辑框里面输入的device是一个固定的型号,如“HUAWEI”,查询语句就是:select*from

protobuf 的bug:ImportError_ cannot import name ‘builder‘ from ‘google.protobuf.internal‘

0前言今天了解到有一个很强大的数据分析工具streamlit,下载安装完发现启动不了……没错就是本文的bug.什么是protobuf?ProtocolBuffers是Google开发的一种数据交换格式,采用了一种类似于XML的简单的语法,用于定义数据结构,并且可以将这些结构序列化为二进制文件,以便在不同的编程语言之间进行数据交换。它是一种和语言无关、平台无关、可扩展的序列化结构数据的方法。它比XML更快地进行编码解码,可以用更小的文件大小来储存数据。相关环境:Windows64位Python3.9Steamlit1.16.0protobuf3.19.11场景还原安装streamlitpipin

protobuf 的bug:ImportError_ cannot import name ‘builder‘ from ‘google.protobuf.internal‘

0前言今天了解到有一个很强大的数据分析工具streamlit,下载安装完发现启动不了……没错就是本文的bug.什么是protobuf?ProtocolBuffers是Google开发的一种数据交换格式,采用了一种类似于XML的简单的语法,用于定义数据结构,并且可以将这些结构序列化为二进制文件,以便在不同的编程语言之间进行数据交换。它是一种和语言无关、平台无关、可扩展的序列化结构数据的方法。它比XML更快地进行编码解码,可以用更小的文件大小来储存数据。相关环境:Windows64位Python3.9Steamlit1.16.0protobuf3.19.11场景还原安装streamlitpipin

electron+vite+vue3.0+forge或electron builder最新打包流程

这里写自定义目录标题简介安装打包更多配置配置vue项目vue-vite的打包单页面应用vue-vite的打包多页面应用多平台打包mac、win、lunix等forge配置项electron-builder配置项简介文章更新与2023年2月12日。【打包需要连接外网的资源,需要翻墙。翻不了墙的可以自己查找一下解决方案】electron官网:https://www.electronjs.orgelectronforge官网:https://www.electronforge.ioelectronbuilder官网:https://www.electron.build/环境要求:git、node@1

electron+vite+vue3.0+forge或electron builder最新打包流程

这里写自定义目录标题简介安装打包更多配置配置vue项目vue-vite的打包单页面应用vue-vite的打包多页面应用多平台打包mac、win、lunix等forge配置项electron-builder配置项简介文章更新与2023年2月12日。【打包需要连接外网的资源,需要翻墙。翻不了墙的可以自己查找一下解决方案】electron官网:https://www.electronjs.orgelectronforge官网:https://www.electronforge.ioelectronbuilder官网:https://www.electron.build/环境要求:git、node@1

vue3的路由传参query、params以及动态路由传参

一、query传参编程式导航使用router.push或者router.replace的时候,改为对象形式新增query必须传入一个对象import{useRouter}from'vue-router';...constrouter=useRouter()consttoDetail=(item:Item)=>{router.push({path:'/info',query:item})}接受参数使用useRoute的querytemplate>div>div>ID:{{route.query?.id}}div>div>名称:{{route.query?.name}}div>div>价格:{{r

vue3的路由传参query、params以及动态路由传参

一、query传参编程式导航使用router.push或者router.replace的时候,改为对象形式新增query必须传入一个对象import{useRouter}from'vue-router';...constrouter=useRouter()consttoDetail=(item:Item)=>{router.push({path:'/info',query:item})}接受参数使用useRoute的querytemplate>div>div>ID:{{route.query?.id}}div>div>名称:{{route.query?.name}}div>div>价格:{{r

【Unity3D】使用UI Builder和GraphView创建节点编辑器,可用于状态机和对话编辑器(一)

1.前言在使用Unity过程中,你会发现Unity提供了很多好用的图形编辑窗口,在动画机Animator和ShaderGraph中只需要“连连看”就能得到效果。 但对于一些其他需求,例如状态机,对话编辑器,Unity则并没有提供官方工具。虽然我们可以通过一些成熟插件,例如NodeCanvas、BehaviorDesigner等也可以实现相同效果,但却不能深入理解,学习这类大型插件也有一定的学习成本,因此对于一些简单需求,我们完全可以自己打造一个节点编辑器,恰好Unity官方也提供了我们工具来实现该需求,那我们就以一个例子开始从零开始吧。2.从零打造状态机推荐Unity版本:2021以上2.1利