背景前段时间为了迁移一个旧服务到新项目,由此产生了一个巨大的PR,为了方便CodeReview,最终基于文件夹,将其拆分成了多个较小的PR;现在这里记录下,后面可能还会需要。演示为了方便演示,我创建了如下一个large_pr_branch到main的大PR,99+的文件修改通过观察,我们可以将这个大PR,基于项目的分层结构,拆成5个较小的PR,即NewApi、Core、Infrastructure、UnitTest/IntegrationTest。第一步获取差分文件首先通过gitdiff命令得到指定文件夹在large_pr_branch分支相较于main分支的差分文件(difffile),以N
OpenAtomOpenHarmony(以下简称“OpenHarmony”)工作委员会首度发起「OpenHarmony开源贡献者计划」,旨在鼓励开发者参与OpenHarmony开源建设、贡献代码或者帮助社区提交和修复Bug,与OpenHarmony社区共同成长。 本期「OpenHarmony开源贡献者计划」以“战码先锋,PR征集令”为主题,围绕OpenHarmony401个主干仓,发起奖励提交PR(PullRequest)的活动。您可在GiteeOpenHarmony代码仓提交PR参与活动(https://gitee.com/openharmony),和大家同台竞技,比拼技艺。 活动规则
OpenAtomOpenHarmony(以下简称“OpenHarmony”)工作委员会首度发起「OpenHarmony开源贡献者计划」,旨在鼓励开发者参与OpenHarmony开源建设、贡献代码或者帮助社区提交和修复Bug,与OpenHarmony社区共同成长。 本期「OpenHarmony开源贡献者计划」以“战码先锋,PR征集令”为主题,围绕OpenHarmony401个主干仓,发起奖励提交PR(PullRequest)的活动。您可在GiteeOpenHarmony代码仓提交PR参与活动(https://gitee.com/openharmony),和大家同台竞技,比拼技艺。 活动规则
本文是深入浅出ahooks源码系列文章的第八篇,该系列已整理成文档-地址。觉得还不错,给个star支持一下哈,Thanks。本篇文章算是该系列的一个彩蛋篇,记录一下第一次给开源项目提PR的过程(之前好像也有过,不过那个非常小的一个改动),希望能够帮助更多的人参与到开源项目中来。起因在写了几篇关于ahooks的文章之后,收到了官方同学的私信。这让我受宠若惊的同时也有点小兴奋和惶恐。兴奋是,之前感觉参与开源是一件遥不可及的事情,现在似乎我也能够去做了。当然也有私心,假如我的简历上有给开源项目做贡献的经历,那岂不是一个不错的加分项?惶恐的是,我之前没有参与过开源项目,担心自己不能做好这件事。根据大佬
本文是深入浅出ahooks源码系列文章的第八篇,该系列已整理成文档-地址。觉得还不错,给个star支持一下哈,Thanks。本篇文章算是该系列的一个彩蛋篇,记录一下第一次给开源项目提PR的过程(之前好像也有过,不过那个非常小的一个改动),希望能够帮助更多的人参与到开源项目中来。起因在写了几篇关于ahooks的文章之后,收到了官方同学的私信。这让我受宠若惊的同时也有点小兴奋和惶恐。兴奋是,之前感觉参与开源是一件遥不可及的事情,现在似乎我也能够去做了。当然也有私心,假如我的简历上有给开源项目做贡献的经历,那岂不是一个不错的加分项?惶恐的是,我之前没有参与过开源项目,担心自己不能做好这件事。根据大佬
查壳发现无壳。 IDA检查main函数显然先检查了输入是否以 actf{ 开头进入sub_83A无法进入 点不进去是因为IDA限制了解析函数的长度,可以修改IDA下cfg目录的hexrays.cfg文件,如图没有改动前,1024应该是64,可以改成更大的数值。函数分析函数共计有3000行多,无法完全展示,这里节选部分。-------------------------省略-——---------------------不难发现,函数首先是进行了加密,然后是一个比较。我们注意到函数的加密很有规律:只使用了异或运算和自增运算符。这说明这个函数是可逆的,只要把结果反过来运算一遍就是flag。
查壳发现无壳。 IDA检查main函数显然先检查了输入是否以 actf{ 开头进入sub_83A无法进入 点不进去是因为IDA限制了解析函数的长度,可以修改IDA下cfg目录的hexrays.cfg文件,如图没有改动前,1024应该是64,可以改成更大的数值。函数分析函数共计有3000行多,无法完全展示,这里节选部分。-------------------------省略-——---------------------不难发现,函数首先是进行了加密,然后是一个比较。我们注意到函数的加密很有规律:只使用了异或运算和自增运算符。这说明这个函数是可逆的,只要把结果反过来运算一遍就是flag。
ApacheAPISIX默认密钥漏洞(CVE-2020-13945)复现一、 实验所需环境1、Ubuntu2、vulhub3、apisix/CVE-2020-13945二、 漏洞介绍ApacheAPISIX是一个高性能API网关。在用户未指定管理员Token或使用了默认配置文件的情况下,ApacheAPISIX将使用默认的管理员Tokenedd1c9f034335f136f87ad84b625c8f1,攻击者利用这个Token可以访问到管理员接口,进而通过script参数来插入任意LUA脚本并执行。三、 漏洞复现(1)进入vulhub,选择apisix/CVE-2020-13945漏洞环境,输
ApacheAPISIX默认密钥漏洞(CVE-2020-13945)复现一、 实验所需环境1、Ubuntu2、vulhub3、apisix/CVE-2020-13945二、 漏洞介绍ApacheAPISIX是一个高性能API网关。在用户未指定管理员Token或使用了默认配置文件的情况下,ApacheAPISIX将使用默认的管理员Tokenedd1c9f034335f136f87ad84b625c8f1,攻击者利用这个Token可以访问到管理员接口,进而通过script参数来插入任意LUA脚本并执行。三、 漏洞复现(1)进入vulhub,选择apisix/CVE-2020-13945漏洞环境,输
前言秒杀和高并发是面试的高频考点,也是我们做电商项目必知必会的场景。欢迎大家参与我们的开源项目,提交PR,提高竞争力。早日上岸,升职加薪。知识点详解秒杀系统架构图秒杀流程图秒杀系统设计这篇文章一万多字,详细解答了大家在面试中经常被问到的秒杀问题,对做秒杀项目的朋友也应该有帮助。欢迎大家交流讨论、点赞、收藏、转发。本文除了结合我的项目经验、也感谢GoFrame作者强哥的帮助、我的好友苏三哥的帮助(公众号:苏三说技术)、以及机械工业出版社的《Go语言高级开发与实战》的帮助。1.瞬时高并发瞬时高并发是秒杀项目的典型问题,常规的架构设计和代码实现在一般活动中可以应对,但是却经受不住瞬时高并发的考验。这