首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

ARM Linux ELF壳方案

早期的壳产品主要利用压缩加密技术对文件进行整体性保护,但随着逆向技术的提升,整体性的文件保护方案已经被攻克,于是壳产品引入虚拟机概念,可以实现函数级的代码控制流保护,加密的颗粒度更加细致,激活成功教程难度呈几何级增加...压缩加密 技术原理类似桌面应用的「压缩壳」,将 SO 文件中的代码段压缩或加密,在入口函数中解密再执行。...基于LLVM的代码保护方案 由于在Android下实现原生的函数级代码控制流保护技术难度太大,所以大部分的产品,都采用了弯道超车的方案,基于开源的OLLVM「由瑞士西北应用科技大学安全实验室在2010年发起的一个项目...」进行改造,以实现函数级的代码混淆,在相当长的一段时间内,基于LLVM的代码保护技术,成为函数级保护的主流方案。...支持工具推荐 支持ARM 虚拟化保护方案的工具:Virbox Protector 开发环境支持 Windows、Linux、macOS。

5.4K30

代码之间为什么要空格?

据我观察,大多数人写代码喜欢在符号两侧空格,而且还会嘲讽不加空格的人。这些支持者认为,空格可以让代码美观,增强代码的可读性。但是我不喜欢空格,因为这么写对代码含义没有影响,浪费空间还很麻烦。...在我写代码一两年里,写代码也不习惯空格,觉得很麻烦,并且不加空格,真的不影响代码的运行效果。...// 空格的写法 int a = 5; int b = 3; a = a + b; // 不加空格的写法 int a=5; int b=3; a=a+b; 想知道为什么后来我开始刷牙了呢?...但我就特别讨厌一些题目,让标点符号断句的那些,很无聊。 所以,别任性,该加空格就空格,你写的代码可不只是给你一个人看的,负责任点。 换句话说,我也可以写文章不换行,对吧?...isFlase),搞那些无病呻吟的代码,真的很掉档次。 无规矩不成方圆,你如果不想遵守代码规约的话,不想团队协作的话,请随意处置你的代码,谁也拿你没办法。逃逃逃)

1.2K20

GitHub Copilot代码笔刷火了,一刷修bug文档,特斯拉AI总监:我现在80%的代码由AI完成

梦晨 发自 凹非寺 量子位 | 公众号 QbitAI 用VS Code写代码和用Photoshop画图有什么共同点? 现在,它们都有了“笔刷”。...一段难以读懂的单行代码,一刷就变成了朴实无华的”if…else if”。 这是GitHub为AI编程插件Copilot的增加的试验性新功能。...此外还有一刷拆分代码等实用功能,如果有个性化需求,甚至可以自定义笔刷。 自定义的方法也很简单,就是直接告诉AI你想做什么即可。...还有人觉得,这让一些编程任务像给照片滤镜一样简单。 要使用代码笔刷,需要在VS Code里同时安装GitHub Copilot和GitHub Copilot Labs。...最近他在与网友的讨论中透露,现在他80%的代码都是由Copilot完成的,有80%的准确率。写提示词-编辑代码的工作流程已经代替了一行一行自己写。

1K30

巧用 gitHooks 提交校验代码

这些 Hooks 在 git 操作 commit、push、merge 等得时候,可以做前置或者后置的操作,例如 pre-commit 在 git commit 可以做代码校验,校验代码的时候使用的ESLint...,git commit -m 'test'就会发现 eslint 代码检查通过了,能正常提交了,以上实践能很好解释 commit 怎么检验代码,但是有个缺点就是别人 pull 你的代码要执行git config...,git commit -m 'test'发现代码已经被拦截,没有提交,因为index.js代码不符合规范 遗留问题就是 git hooks 不会编写怎么办,下面 lint-staged 出来了 lint-staged...,git commit -m 'test',可以发现调用了 eslint 去检查代码,检查不通过就退出commit 综上,代码检测规范有了,现在也需要规范一下提交规范; commitlint github...用于标识此次提交主要涉及到代码中哪个模块。 description:一句话描述此次提交的主要内容,做到言简意赅。

3.9K31

进入Linux内核的准备

最近看到这个github仓库flash-linux0.11-talk,觉得还算是蛮有意思的,加上网络编程的课程又有抄写一段tcp协议实现代码或者交一篇linux内核源码阅读的笔记,还是比较讨厌这种低效率的抄写的所以就想写篇文章记录一下粗浅阅读源码后的大概了解...进入linux内核的准备 开机 如果问电脑是如何一步一步开始运行操作系统的,那么第一件事情当然是按下开机键啦。...由于计算机在电自检后会自动初始化到文字模式,这时屏幕可以显示25行 x 80列的字符数量。...,可读可执行,第二项是数据段描述符,是可读可写段,段基址都是0.所以我们这里取的第一项段描述符就是代码段描述符,它现在的段基址是0,我们的偏移也是0,所以这个jump 0,8会跳转到内存地址的0x0处开始执行...前面的mov语句表示,页目录表的4个页目录项,分别指向4个页表。

5.5K20

代码保护(一) 几款壳工具

支持多种文件格式,在保护代码中插入不同的处理器指令或代码片段,并使用其它指令替换,这些指令的运算结果都是相同的。是在 CPU 指令层面上混乱代码而不是在应用层上。...VProject(有激活成功教程版) 原创虚拟机保护引擎、随机指令集、随机填充代码代码乱序执行、外壳保护、反内存转储存、区段合并、资源加密、反调试、防修改。...Virbox Protector(商用) 碎片代码执行、外壳加密、混淆、数据加密,推广阶段暂时不收费 服务商提供了较为完善的文档以及加密方式,提供了较为充分的产品管理平台,以及云端网络加密,并且对于开发者免费使用...该技术目前支持多种操作平台,诸如Windows,Linux,Mac OS,.NET 及Java应用程序等等。所有的用户收到的是相同的被保护软件版本。...VMProtect确保它实际上无法运行没有一个序列号代码。 网络评价: 加密的安全级别很高,激活成功教程难度很大,但是加密数据多,可能会影响系统的性能。

2.5K40

Linux安全运维公配置.md

[TOC] 0x00 前言简述 描述:Linux系统加固往往是下面几个方面入手,配置完成后将大大的提升机器的安全性,同时满足等保合规的要求; 系统加固分类: 用户加固管理 用户权限 口令增强 日志加固管理...etc/rsyslog.conf 历史命令设置: #Centos7 /etc/profile #比如登陆过系统的用户、IP地址、操作命令以及操作时间--对应可以通过在/etc/profile里面加入以下代码实现...即用户除了能执行sftp中允许的命令外,其他命令啥也执行不了 PS:采用sftp软件登录:sftp -i 密匙path [email protected] 则进入交换式; ssh服务应用加固: # SSH登录警告...Banner echo echo \*\*\*\* 设置ssh登录警告Banner echo "**************WARNING**************" >> /etc/issue;echo

3.7K20

趣图 | 代码重构vs代码重构后

前言 今天跟大家聊一下关于代码重构的话题。 话说,很多程序员对自己写的代码平时很随心所欲(各种魔法变量,一个方法几十上百行代码,还有各种让人崩溃的变量或方法命名)。...当有一天让他维护他人的代码,他就会抓狂,很容易激发他体内重构的瘾。...重构三技巧 x 一、结构化你的代码 大家看下下面截图assembleOffer这个方法,一个方法内部有很多段代码,比如1.核心商品信息代码片段,2.产品属性信息片段等等。...关于发布,这里提醒一下:如果你此次改动内容比较多,比如新增了数据库表的字段、新增了配置中心新的选项等,建议大家提前准备一份发布计划,大致内容如下: 发布,每执行完一项,就标注一下Done。...x 三、对修改关闭,对新增开放 大家如果在重构的时候,面对被修改的代码,其多个地方引用,这个时候一定要小心了,很有可能你改了某一处,但影响了其他功能代码

6210

Linux 系统开机电后发生了什么?

BIOS是如何启动的,CPU硬件逻辑设计为在电瞬间强行将CS值置为0XF000,IP为0XFFF0,这样CS:IP就指向0XFFFF0这个位置,这个位置正是BIOS程序的入口地址。...BIOS是如何启动的 CPU硬件逻辑设计为在电瞬间强行将CS值置为0XF000,IP为0XFFF0,这样CS:IP就指向0XFFFF0这个位置,这个位置正是BIOS程序的入口地址。...然后将控制权交给主引导代码。...主引导代码的任务包括 扫描分区表,找到一个激活(可引导)分区; 找到激活分区的起始扇区; 将激活分区的引导扇区装载到内存7C00处; 将控制权交给引导扇区代码; 加载次引导记载程序–高级装载程序bootload...转交其他Loader:将引导加载功能转交给其他loader负责 上面的两点还容易理解,但是第三点很有趣!那表示你的计算机系统里面可以具有两个以上的引导加载程序呢。有可能吗?

1.9K40

linux系统开机电后发生了什么?

BIOS是如何启动的,CPU硬件逻辑设计为在电瞬间强行将CS值置为0XF000,IP为0XFFF0,这样CS:IP就指向0XFFFF0这个位置,这个位置正是BIOS程序的入口地址。...BIOS是如何启动的 CPU硬件逻辑设计为在电瞬间强行将CS值置为0XF000,IP为0XFFF0,这样CS:IP就指向0XFFFF0这个位置,这个位置正是BIOS程序的入口地址。...然后将控制权交给主引导代码。...主引导代码的任务包括 扫描分区表,找到一个激活(可引导)分区; 找到激活分区的起始扇区; 将激活分区的引导扇区装载到内存7C00处; 将控制权交给引导扇区代码; 加载次引导记载程序–高级装载程序bootload...转交其他Loader:将引导加载功能转交给其他loader负责 上面的两点还容易理解,但是第三点很有趣!那表示你的计算机系统里面可以具有两个以上的引导加载程序呢。有可能吗?

2.5K30
领券