首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

LinuxShellcode编写

db 'hello world',0xa ;字符串hello world以及换行 length: equ $-hello_world ;获取字符串长度 把代码保存为...就没有后面什么事情了,所以要想办法消除这些 bad character bad character 列表00\0null0A\n回车换行FF\f换页0D\r回车 消除bad character 来看一这些...针对这种的 mov eax,0x1,可以使用对寄存器的一部分赋值实现,比如:mov al,0x1 还可以通过 xor rax,rax 先把 rax 置为 0,然后 add rax,0x1 实现 看一效果...xor rax,rax add rax,60 xor rdi,rdi syscall string: call code ;call会把返回地址压栈,然后执行code的代码...可以使用 GDB 调试看一 C 语言程序内存的值(gcc 加上 -g 参数可以直接 b 15 断在代码的第 15 行) Breakpoint 1, main () at 1.c:15 15 bind

2.1K31
您找到你想要的搜索结果了吗?
是的
没有找到

如何看待编写业务代码

业务代码的要求和常规意义上的编程有很多不一样的地方。我们在学习编程的时候往往被教导: 代码要有良好的设计。...要抽象和封装,要尽量减少重复代码代码要有良好的建模,概念清楚,不同实体的关系清晰; 代码要高效,有O(1)的别用O(log n),有O(log n)的不用O(n); …… 但是到了业务上。...ACID事务、隔离性、锁和相关的数据操作 …… 有人觉得写业务代码非常low,因为就是一堆if,太没有技术含量了。但我觉得业务逻辑有时比所谓什么高并发,每秒多少多少数据处理要难得多。...PM们都是骗人的 在这么难的情况,能把业务流程拆解为很清晰的组件,并能灵活的组合,还可以表达的很清晰。...我给自己的准则是,业务逻辑是怎样的,业务代码就应该差不多是怎样的。以贴合业务需求为主,以满足软件工程需要为辅。

1.1K70

如何编写可靠的代码

978年我写了第一行代码。可能有人会说我在1988年第一次得到这样做,我没有做其他。,阅读数百万行代码之后,我可以告诉你的是,大多数是可怕的,可怕的,可怕的,痛苦的。这是为什么和如何解决这个问题。...编写测试失败是浪费时间。为什么失败时您可以编写代码,编写代码不失败或几乎是对吗?重要的是,你写单元测试几乎在同一时间你写代码测试。更重要的是,你写的代码覆盖率,为每一行代码或测试和大部分的排列。...有工具可以衡量你的代码覆盖率。 编写单元测试覆盖率是很重要的,因为你必须测试所有的代码或者你将有更多的bug和行没有测试可能会有严重的错误。...代码覆盖率,你可以改变你的代码不受惩罚和编写固体代码需要写,重写,编辑、代码重构,重组,改变。 规则4:编写单元测试代码覆盖率。 规则5:警惕任何尖锐的经理认为你将只编写一次代码;这些人都是危险的。...你还会知道你如何使用(错误地)金锤或火炉管(反模式)或正确状态(模式)如果你不知道这些是什么。(如果你不知道模式和反模式,你不是架构师)。 规则15:老板叫人建筑师并不是为了省钱。

1.3K80

如何编写代码审查文档

最近功能开发完毕需要做代码审查,发现国内很多公司不强制要求编写代码审查文档,很多人并不会认真思考代码审查文档需要包括哪些内容,大概该怎么写。...单元测试和集成测试代码:对于每一个功能,都应该编写相应的单元测试或集成测试代码,这能够帮助审查者验证功能是否正常。..."改进建议"是对如何改进代码的具体建议。 "问题严重级别"表示问题的重要程度,可以依据问题的性质和影响程度进行分级,如:低、中、高。 "提出人"是指出这个问题的人。...代码审查文档也有助于功能开发时间过长之后,快速找到功能的入口、核心代码的位置等。 如果周围的人都不编写代码审查文档你写对应的文档,如果被主管“发现”或许会有更多“机会”。...总之,希望大家尤其是大的项目开发完毕进行线下代码评审时积极编写代码审查文档,方便自己也方便他人。

49730

编写高效的PyTorch代码技巧(

PyTorch 基础 将模型封装为模块 广播机制的优缺点 使用好重载的运算符 采用 TorchScript 优化运行时间 构建高效的自定义数据加载类 PyTorch 的数值稳定性 上篇文章的链接如下: 编写高效的...构建高效的自定义数据加载类 上一节介绍了如何写出更加高效的 PyTorch 的代码,但为了让你的代码运行更快,将数据更加高效加载到内存中也是非常重要的。...下面给出一个代码例子,如何从给定的文件夹中加载图片数据: import glob import os import random import cv2 import torch class ImageDirectoryDataset...PyTorch 的数值稳定性 当使用任意一个数值计算库,比如 NumPy 或者 PyTorch ,都需要知道一点,编写数学上正确的代码不一定会得到正确的结果,你需要确保这个计算是稳定的。...那么应该如何避免这种情况,做法很简单。

1.2K10

提高代码质量:如何编写函数

写好一个函数是提高程序代码质量最关键的一步。本文就函数的编写,从函数命名,代码分布,技巧等方面入手,谈谈如何写好一个可读性高、易维护,易测试的函数。 命名 首先从命名说起,命名是提高可读性的第一步。...下面我来说说如何为函数命名的一些想法和感受: 采用统一的命名规则 在谈及如何为函数取一个准确而优雅的名字之前,首先最重要的是要有统一的命名规则。这是提高代码可读性的最基础的准则。...当你无法命名一个函数时,应该分析一,这个函数的编写是否科学,有什么办法可以去优化它。...编写函数体 函数体就是实现函数功能的整个逻辑,是一个函数最关键的地方。下面我谈谈关于函数代码编写的一些个人想法。...总结 本文从函数命名,函数参数和函数的代码编写三个方面谈了关于如何编写好一个函数的感受和想法。文中提到了很多具体的情况,当然日常编码中肯定会遇到更多复杂的情况可能我暂时没有想到。

81520

如何编写高质量代码

高质量代码具有以下几个特点: 可读性高 结构清晰 可扩展(方便维护) 代码风格统一 低复杂性 简练 编写高质量代码主要遵循以下几点: 代码规范 代码规范的好处 规范的代码可以促进团队合作 规范的代码可以降低维护成本...在这个阶段一定要多问,看完需求后,在脑里过一,把可能会涉及的情况都要问清楚。 一名好的程序员不仅仅是一名程序员,还要懂需求、业务。...重构能改善软件设计 重构使软件更易理解 重构有助于找到Bug 重构有助于提高自我编程能力 重构有助于加深理解代码 重构能适应需求变更 推荐阅读:重构 代码要求 不要编写大段代码 重复代码封装成函数 在编写代码的过程中养成不断重构的习惯...测试的过程本身就是一个自我 code review 的过程,在这个过程中,可以发现一些设计上的问题(比如代码设计的不可测试),代码编写方面的问题(比如一些边界条件的处理不当)等,做到及时发现及时修正,不需要等到测试阶段甚至上线之后再发现再修改...如果你不能以高标准来要求自己,即使你看再多的如何写出高质量代码,懂再多的代码规范,也是没有用,最终还是会写出低质量代码

75330

如何编写可怕的 Java 代码

我决定告诉你如何编写可怕的Java代码。如果你厌倦了所有这些美丽的设计模式和最佳实践,并且想写些疯狂的东西,请继续阅读。 如果你正在寻找有关如何编写良好代码的建议,请点击查看这篇文章。...让我们看看如何使用 Java 异常处理来解决该问题,而不用担心这些讨厌的差一错误! 不用担心访问修饰符 你说什么?Java 中的访问修饰符,这不是浪费时间嘛!...在我们修改代码中的 lineSeparator 之后,看看 System.out.println 发生了什么: 输出为: 看起来不错!...事实是——有时候你真的想要改变一个 final 字段的值,所以这是如何做的: 注意,在构造函数中提供最终值时,这对我很有用。如果你在类中设置了 final 值,那么它将不起作用。...永远不要编写测试,只是不要编写错误! 将所有都定义为 public -方便访问! 支持全局变量–您可能需要它们! 大型接口优于小型专用接口–可以使用的方法越多越好!

1K10

如何编写漂亮的 React 代码

如果想要更漂亮的 React 代码,每个人都应该采取行动。继续探索如何在框架领域美化 React 代码,我发现了一个死胡同。...有许多不同的方法可以编写有效的代码,但会有明显的风格差异和技术意义。许多工具可以帮助你自定义和强制你所选择风格,在这些工具中,我最喜欢:StandardJS。...就是那样,CoffeeScript 可以满足我的标准,因此我决定看看这个项目进展如何并尝试一。...我想找到一个令人愉快的美学方案,使得我可以编写看起来不错的 React 代码,同时还是 JavaScript,而不需要学习一种新语言或者框架。...总结:从代码美学的角度来看,Hyperscript 和 CoffeeScript 的结合是编写漂亮的 React 代码的一种很好的方式。

95610

如何高效编写可维护代码

接下来我们将通过实例,具体讲一讲如何在实际应用中运用上述 5 个方法。 命名 首先,看几个如何利用命名时代码变得清晰和自我文档化的例子。 1) 重命名函数可以遵守以下规则。...函数封装 接下来,看几个如何代码封装成函数的例子。封装函数的一个好处就是避免代码重复,或者说改进代码结构。 1) 将代码封装成函数。 这是最基本的:将代码封装成函数以明确其目的。...isVisible(el)) { } 引入变量 最后再讲讲如何引入变量。相较于上面两个方法,这个可能没那么有用,但是无论如何,知道比不知道好。 1) 用变量代替表达式。 看看下面的例子: if(!...我特意举这个例子是想说明公共接口如何自文档化。 你能说出这个类是如何被调用的吗?很显然,这并不明显。 这两个函数都应该换个合理的名字以表述它们的目的。但即便做到这一点,我们还是不怎么清楚如何使用。...然后就需要阅读更多的代码或者翻阅文档。 但是如果我们这样改一呢?

52730

如何编写没有bug的代码

多数小伙伴 也不是天才玩家 今天的文章 是一位年薪百万大佬所写 指导大家伙该如何 在行业中生存下去 01 最简单的事情——只要Google一 我记不了很多东西。...但请记住,注释应该描述的是代码本身 如何从头开始保持简单明了: 对变量、函数和类使用正确的名称 确保程序的每个部分只做一件事 纯函数优于正则函数 正则函数优于类 仅在强烈需求的情况使用类 03 不自信的我...好吧,那正是她为登月任务编写代码: ? 但是,每当我编写任何代码时——我都不自信。即使是项目最简单的部分,我也可以把事情搞得一塌糊涂。...关于“学习如何编写没有bug的代码”的魔法书是不存在的。因为所有软件都有bug——除了这个框架之外。遇到bug我们就应该处理掉。 关键要点是:每个人编写代码都不应该带有明显的错误。...但是我是如何保护我的项目免受我的摧残呢?方法很多。 生存指南: 编写测试。编写很多测试。从集成测试到单元测试。在每次pull请求前在CI中运行测试。

84910

提高代码质量:如何编写函数

写好一个函数是提高程序代码质量最关键的一步。本文就函数的编写,从函数命名,代码分布,技巧等方面入手,谈谈如何写好一个可读性高、易维护,易测试的函数。 命名 首先从命名说起,命名是提高可读性的第一步。...下面我来说说如何为函数命名的一些想法和感受: 采用统一的命名规则 在谈及如何为函数取一个准确而优雅的名字之前,首先最重要的是要有统一的命名规则。这是提高代码可读性的最基础的准则。...当你无法命名一个函数时,应该分析一,这个函数的编写是否科学,有什么办法可以去优化它。...编写函数体 函数体就是实现函数功能的整个逻辑,是一个函数最关键的地方。下面我谈谈关于函数代码编写的一些个人想法。...总结 本文从函数命名,函数参数和函数的代码编写三个方面谈了关于如何编写好一个函数的感受和想法。文中提到了很多具体的情况,当然日常编码中肯定会遇到更多复杂的情况可能我暂时没有想到。

91020
领券