首页
学习
活动
专区
工具
TVP
发布

nim语言木马开发初探

nim语言木马开发初探 [TOC] 说明 本文参考至 Nim之套接字免杀学习 (qq.com) 一、前言 在经过一段时间研究使用go语言进行shellcode加载器免杀之后发现go语言的效果并没有以前那么好了...,在近一段时间看公众号文章时发现了nim语言,该语言很小众,杀软对其针对的力度可能比较小,在教育护网前做一个初步的研究。...二、nim介绍安装 Nim 是一种静态类型的、编译型、系统编程语言。它结合了其他成熟语言的成功概念(如 Python、Ada 和 Modula)。...其实从这里就并不难看出在进行免杀上使用nim语言和使用go语言在原理上并没有很大的不同,区别主要在于语法调用方式。...,而是将其保持在另外的文件中,在上传木马的时候同时上传shellcode文件,只在写入内存的情况下再进行读取。

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

编程语言shell脚本

一、编程语言介绍 编程语言是指计算机能理解的语言,人类通过使用计算机语言可以给计算机批量下达任务,让其按照人类的思想去完成工作。...最常见的语言有:汇编语言、C语言、java语言、php语言、Python语言、golang语言等等。...编程语言分类: 编译型语言 程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。...它既是一种命令语言,又是一种解释性的编程语言。通过一个图表来查看一下shell的作用。...表示读取文件,执行文件里的命令 – 命令式脚本执行方法: 定义命令路径变量 PATH PATH=$PATH:脚本路径 备注:脚本必须给执行权限 三、学习视频 视频:编程语言介绍 视频:shell介绍

36210

编程语言Python介绍

一、编程语言的分类 1.机器语言:计算机能直接理解的二进制指令  (10101010101)     优点:执行速度快  缺点:开发效率非常低   2.汇编语言:通过英文字符组成代表一组二进制指令...    优点:开发效率相较于机器语言略高     缺点:执行效率相较于机器语言略低   3.高级语言 (C、C++、Java、PHP、Python、go)     优点:开发效率高  缺点:执行效率低...    编译型:谷歌翻译  如(C语言)     解释型:同声翻译  如(Python)   开发效率:  解释型>编译型>汇编语言>机器语言   执行效率:  解释型<编译型<汇编语言<机器语言

43410

Go语言面向对象编程

对于曾经搞过java的人来说,去学习任何一门新的语言,首先会问,是否是面向对象的语言。刚接触GO的几天,曾经带我的师傅问我go是不是一门面向对象的语言,我闪烁其词,因为我还没有搞清楚到底是不是。...Java中,每个class都有其属性和方法,在go中,没有class的概念,C语言一样,有struct的概念。C语言不同的是,可以定义只用于这个struct的方法。看个例子会清晰很多。...对于一些冲突的处理包括:像本例中,director中包含了GetName方法和Name属性,Student中是完全一样的,因为这个没有出现在同一个level(何为同一个lever呢?...即使接口这个struct不在同一个包中,也会认为是实现了这个接口。...ii.SetName("test") fmt.Println(ii.GetName()) } 一个struct可以实现多个接口,一个接口也可以被多个struct实现,这些大家熟知的面向对象语言相同

1.3K70

Go语言面向对象编程

对于曾经搞过java的人来说,去学习任何一门新的语言,首先会问,是否是面向对象的语言。刚接触GO的几天,曾经带我的师傅问我go是不是一门面向对象的语言,我闪烁其词,因为我还没有搞清楚到底是不是。...Java中,每个class都有其属性和方法,在go中,没有class的概念,C语言一样,有struct的概念。C语言不同的是,可以定义只用于这个struct的方法。看个例子会清晰很多。...对于一些冲突的处理包括:像本例中,director中包含了GetName方法和Name属性,Student中是完全一样的,因为这个没有出现在同一个level(何为同一个lever呢?...即使接口这个struct不在同一个包中,也会认为是实现了这个接口。看下主函数中: [java] view plain copy print?...ii.SetName("test") fmt.Println(ii.GetName()) } 一个struct可以实现多个接口,一个接口也可以被多个struct实现,这些大家熟知的面向对象语言相同

1K80

编程语言计算机

1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。...1.2 计算机语言 计算机语言指用于人计算机之间通讯的语言,它是人计算机之间传递信息的媒介。 计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言和高级语言三大类。...1.3 编程语言 编程语言: 可以通过类似于人类语言的“语言”来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming Language)。...编程语言是用来控制计算机的一系列指令,它有固定的格式和词汇(不同编程语言的格式和词汇不一样),必须遵守。 如今通用的编程语言有两种形式:汇编语言和高级语言。...类似于请客吃饭: ​ 编译语言:首先把所有菜做好,才能上桌吃饭 ​ 解释语言:好比吃火锅,边吃边涮,同时进行 1.5 编程语言和标记语言区别 语言 说明 编程语言 编程语言有很强的逻辑和行为能力

1.3K40

函数式编程面向对象编程: 静态类型语言的表达力 静态类型语言动态类型语言函数式编程面向对象编程: 静态类型语言的表达力 静态类型语言动态类型语言

函数式编程面向对象编程[2]: 静态类型语言的表达力 静态类型语言动态类型语言 之剑 2016.5.3 21:43:20 ---- 像Java或者C#这样强类型的准静态语言在实现复杂的业务逻辑、开发大型商业系统...有三个名词容易混淆: Dynamic Programming Language (动态语言或动态编程语言) Dynamically Typed Language (动态类型语言) Statically...不过,是不是动态类型语言这门语言是不是类型安全的完全不相干的,不要将它们联系在一起!...另外一个答案是,动态类型解除了程序员的束缚,可以最大的 发挥程序员的编程技能,能最有效的利用编程语言里的各种特征和模式。...其实我个人认为: 动态类型语言,特别是高级动态类型语言,反而能够让人们不需要分心去考虑程序编程问题,而集中精力思考业务逻辑实现,即思考过程即实现过程,用DSL描述问题的过程就是编程的过程,这方面像Unix

1.4K10

C语言高效编程代码优化

来源:公众号(c语言cpp编程) 在本篇文章中,我收集了很多经验和方法。应用这些经验和方法,可以帮助我们从执行速度和内存使用等方面来优化C语言代码。...应用这些经验和方法,可以帮助我们从执行速度和内存使用等方面来优化C语言代码。 尽管在C代码优化方面有很多的指南,但是关于编译和你使用的编程机器方面的优化知识却很少。...同时,我还修改了其中的一些方法,使他们适用于所有的编程环境,而不是局限于ARM环境。 哪里需要使用这些方法? 没有这一点,所有的讨论都无从谈起。...C语言中,处理器中的N和Z标志位下面的指令联系在一起:有符号关系运算x=0,x==0,x!=0;无符号关系运算x==0,x!=0(或者x>0)。...C语言没有借位和溢出位的概念,因此,如果不借助汇编,不可能直接使用借位标志C和溢出位标志V。

3.2K10

硬件编程语言的内存模型

本文将从硬件出发进行介绍,然后看看一些「现代」编程语言规范中定义的内存模型,最后简单聊聊Go 1.19内存模型的更新。...Acknowledgement本文所举例子均为说明硬件编程语言的内存模型,不构成任何编程建议,不保证所有硬件或编译器可复现该行为,也不建议在任何环境编译运行。...本文讨论的编程语言内存模型,均在讨论对应编程语言的specification,而不是在讨论编译器的实现。本文对编程语言specification和编译器行为不做判断。...Take-Home Message硬件内存模型和编程语言的内存模型使得多线程程序可以饱含不符合预期的地方。为使得多线程程序运行符合预期,我们需要保证程序无数据竞争。...编程语言提供了一系列机制使得我们可以编写出无数据竞争的程序——但在我们没有使用这些机制时,编译器的「优化」可能会使得看起来应该行为正常的程序变得不正常。

36650

影响众多编程语言、引发供应链攻击,剑桥大学发布「木马源」漏洞

漏洞攻击无处不在。最近,剑桥大学的两位研究人员发现了一个可以影响计算机代码编译器和软件开发环境的漏洞——Trojan Source(木马源) 。...该漏洞几乎影响所有计算机语言,包括对 C、C++、C#、JavaScript、Java、Rust、Go 和 Python 。 此外,恶意代码可以将 Trojan Source 用于供应链攻击。...语法依从性 大多数设计良好的编程语言不允许在源代码中使用任意控制字符,因为它们被视为影响逻辑的 token。因此,在源代码中随机放置 Bidi 覆盖字符通常会导致编译器或解释器语法错误。...为了避免这种错误,我们可以利用编程语言的以下两个原则: 注释:大多数编程语言都允许编译器和解释器忽略所有文本(包括控制符)注释; 字符串:许多编程语言允许字符串可以包含任意字符,同理也包括控制符。...虽然这可以为大家节省一笔注册、机票、住宿开支,但不能线下参与这场一年一度的学术会议、学术大咖近距离交流讨论还是有些遗憾。

83410

CHM木马的分析利用

偶然获得了一个过X60启动的CHM木马,由于从未接触过此类木马,遂进行一番学习,并通过木马所带来的启发再创造。 ?...一、木马行为分析 CHM文件是经过压缩的各类资源的集合,使用7z解压软件直接打开木马样本,如图所示,可以发现CHM文件内部包含一个说明.html文件。 ?...由于我不懂逆向工程 但是可以做出如下推测 1.perflog.exe是具有有效签名的白文件启动时会调用edudll.dll 2.edudll.dll是黑dll 以上这应该是个一个典型的白加黑木马 水平有限就不去分析这个...perflog.exe的行为了 接下来思考如何打造属于自己的CHM后门 二、再创造 思路: 样本的JS代码基本不变,只需去掉那些无用的文件,解压缩释放出1.regpayload即可 1.反编译样本CHM...3.将自己的1.regpayload制作成压缩包 ? ? 4.编译CHM ? 5.将压缩包并写入CHM(利用C32Asm) ? 将payload.rar粘贴到CHM的最后面并保存 ? 6.测试 ?

2.4K30

对 Kotlin Java 编程语言的思考

至于Kotlin的排名,11月份在编程语言仅排41名,Ratings仅有0.216%。 ? 曾看到一个理论是说,看一个事物还能存在多久,首先要看看它已经存在了多久。...如果一门编程语言已经存在了20年,那么它在20年后也不会消失。像C、VB这样的语言,至今仍然能够在编程语言排行榜中占据非常重要的位置。...能直接Java相互调用,能与Java工程共存 大大减少样板代码 可以将Kotlin代码编译为无需虚拟机就可运行的原生二进制文件 支持协程 支持高阶函数 语言层面解决空指针问题 对字符串格式化的处理($...使用何种编程语言 总的来说,Java号称是C++ --,Kotlin就像是Java++。Kotlin没有像Java一样的历史包袱,设计之初就是为了解决Java的痛点。...但是世界上并没有完美的语言——像Python也存在版本分裂的问题。用再好的笔,也写不出更好的文章。如果单单是使用编程语言开发的话,充分利用好一门编程语言和IDE就足够了。

91240

6.计算机语言的发展 编程语言发展 编程语言类型 为什么会有编程语言 编程语言什么作用 机器语言 高级语言分类 编程语言历史 编程语言有哪些 编程语言编年史

语言 计算机语言指用于人计算机之间通讯的语言,也即是平时说的编程语言 编程 指令的概念很早就形成了,其实指令本身就是一种编程 一个指令替代了一组逻辑电路或者机电式/机械式中的一个计算单元 你只需要一个指令就相当于已经操作了一整个的模块...,完全就等同于乱码 难读、难编、难记和易出错 你根本不会知道到底是什么意思 随后,开始用代码指令实际含义相近的英文缩写词、字母和数字等符号来替代描述指令代码 出现了汇编语言,汇编语言只是机器语言的助记符语言...不同的机器有不同的汇编语言 需要汇编程序翻译成计算机可以识别的二进制机器语言 本质还是面向机器的低级语言 机器语言和汇编语言都是面向硬件的具体操作的,语言对机器过分依赖,所以称之为低级语言 高级语言...,需要翻译程序转换为机器可以执行的目标代码程序 虽然高级语言不涉及寄存器这些东西,不需要你了解硬件 但是这是高级语言隐藏了她们,而不是说这些东西不存在不重要,所有的语言都逃不过这一关 始终是要编程机器语言的...也正是由于隐藏了太多东西,就好像底层的东西隔着好几层玻璃 尽管看的见,但是自然清晰度下降 直接后果就是编译后的文件变得更大,执行速度将会变慢(相对于汇编) 从网上扒出来一份统计,或许不准,作为了解

15.3K20
领券