这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助前言我以前很喜欢封装组件,什么东西不喜欢别人的,总喜欢自己搞搞,这让人很有成就感,虽然是重复造轮子,但是能从无聊的crud业务中暂时解脱出来,对我来说也算是一种休息,相信有很多人跟我一样有这个习惯。这种习惯在独立开发时无所谓,毕竟没人会关心你咋实现的,但是在跟人合作时就给别人造成了很大的困扰了,毕竟每个人封装的东西都是根据自己习惯来的,别人看着多少会有点不顺眼,而且自己封装的组件大概率也是没有写文档和注释的,所以项目其他成员的使用率也不会太高,所以今天,我试着解决这个问题。另外,我还在一些群里看到有人抱怨vue3不如vue2好用,主要
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助前言我以前很喜欢封装组件,什么东西不喜欢别人的,总喜欢自己搞搞,这让人很有成就感,虽然是重复造轮子,但是能从无聊的crud业务中暂时解脱出来,对我来说也算是一种休息,相信有很多人跟我一样有这个习惯。这种习惯在独立开发时无所谓,毕竟没人会关心你咋实现的,但是在跟人合作时就给别人造成了很大的困扰了,毕竟每个人封装的东西都是根据自己习惯来的,别人看着多少会有点不顺眼,而且自己封装的组件大概率也是没有写文档和注释的,所以项目其他成员的使用率也不会太高,所以今天,我试着解决这个问题。另外,我还在一些群里看到有人抱怨vue3不如vue2好用,主要
cron有2种表达形式 6个时间刻度的话 ****** 分别对应 秒分时日月星期;7个时间刻度的话 ******* 分别对应 秒分时日月星期年;>>>注意时间刻度之间得用‘空格’分隔 对应的通配符有:* ? / - ,星号(*):指的是该时间刻度的所有时间,即全匹配。问号(?):指的是该时间刻度不指定值,注意只有日和星期对应的位置可以使用,一般日和星期选择时会二选一使用免得产生冲突。斜杆(/):指的是该时间刻度的时间间隔,就比如 */2****** 相当于每2秒执行一次。横杆(-):指的是该时间刻度的选定范围。可以3-20这样写,就是再这个时间范围区间的都符合表达式条件。 逗号(
cron有2种表达形式 6个时间刻度的话 ****** 分别对应 秒分时日月星期;7个时间刻度的话 ******* 分别对应 秒分时日月星期年;>>>注意时间刻度之间得用‘空格’分隔 对应的通配符有:* ? / - ,星号(*):指的是该时间刻度的所有时间,即全匹配。问号(?):指的是该时间刻度不指定值,注意只有日和星期对应的位置可以使用,一般日和星期选择时会二选一使用免得产生冲突。斜杆(/):指的是该时间刻度的时间间隔,就比如 */2****** 相当于每2秒执行一次。横杆(-):指的是该时间刻度的选定范围。可以3-20这样写,就是再这个时间范围区间的都符合表达式条件。 逗号(
FridaHook可变参数0x00前言:可变参数Hook原理可以参考下我的这篇文章:C++逆向可变参数Hook我在网上搜了好久,都没找到有人写过FridaHook可变参数.........0x01FridaHook可变参数argsOK回归正题,Frida如何Hook可变参数。首先可变参数意味着,他的参数个数不确定,参数类型不确定。在frida中,函数的参数都在args上。我看了官网资料,他说args是一个NativeObject的Array。可是当我用JS去遍历这个Array的时候,总是会报错。。。。(如果有大神知道,请告诉我如何去遍历。谢谢!)而且我就这样直接输出args,他也会报一个arr
FridaHook可变参数0x00前言:可变参数Hook原理可以参考下我的这篇文章:C++逆向可变参数Hook我在网上搜了好久,都没找到有人写过FridaHook可变参数.........0x01FridaHook可变参数argsOK回归正题,Frida如何Hook可变参数。首先可变参数意味着,他的参数个数不确定,参数类型不确定。在frida中,函数的参数都在args上。我看了官网资料,他说args是一个NativeObject的Array。可是当我用JS去遍历这个Array的时候,总是会报错。。。。(如果有大神知道,请告诉我如何去遍历。谢谢!)而且我就这样直接输出args,他也会报一个arr
目录C++逆向可变参数Hook0x00前言:0x01C++可变参数:可变参数简介可变参数代码实战0x02逆向分析C++可变参数原理0x03printfHook实战Pwn菜鸡学习小分队C++逆向可变参数Hook0x00前言:我们在做逆向分析的时候,经常会需要去Hook一个程序的日志输出函数。而这种日志输出函数一般参数都不确定,这就会引起一个问题。我们如何知道参数个数?如何知道他有哪些参数呢?0x01C++可变参数:可变参数简介在C++中,可变参数的函数定义可以写成如下格式。用...来声明可变参数。voidtest(inta,intb,...){//Code...}在调用可变参数的函数时,可以在后
目录C++逆向可变参数Hook0x00前言:0x01C++可变参数:可变参数简介可变参数代码实战0x02逆向分析C++可变参数原理0x03printfHook实战Pwn菜鸡学习小分队C++逆向可变参数Hook0x00前言:我们在做逆向分析的时候,经常会需要去Hook一个程序的日志输出函数。而这种日志输出函数一般参数都不确定,这就会引起一个问题。我们如何知道参数个数?如何知道他有哪些参数呢?0x01C++可变参数:可变参数简介在C++中,可变参数的函数定义可以写成如下格式。用...来声明可变参数。voidtest(inta,intb,...){//Code...}在调用可变参数的函数时,可以在后
前言上篇文章《Android安卓进阶技术分享之AGP工作原理》和大家分析了AGP(AndroidGradlePlugin)做了哪些事,了解到AGP就是为打包这个过程服务的。那么,本篇文章就和大家聊一聊其中的Transform,解决一下为什么在AGP3.x.x的版本可以通过反射获取的transformClassesWithDexBuilderForXXXTask在4.0.0的版本就不灵了?源码走起!Transform的流程读本篇文章以前,相信同学们已经具备Transform的使用基础。相信很多人都看过这张图:Transform过程正如上图中展示的,我们可以看到:•在一个项目中,我们可能既会有自定
前言上篇文章《Android安卓进阶技术分享之AGP工作原理》和大家分析了AGP(AndroidGradlePlugin)做了哪些事,了解到AGP就是为打包这个过程服务的。那么,本篇文章就和大家聊一聊其中的Transform,解决一下为什么在AGP3.x.x的版本可以通过反射获取的transformClassesWithDexBuilderForXXXTask在4.0.0的版本就不灵了?源码走起!Transform的流程读本篇文章以前,相信同学们已经具备Transform的使用基础。相信很多人都看过这张图:Transform过程正如上图中展示的,我们可以看到:•在一个项目中,我们可能既会有自定