上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 34 下一页
摘要: 多线程中的线程同步可以使用,CreateThread,CreateMutex 互斥锁实现线程同步,通过临界区实现线程同步,Semaphore 基于信号实现线程同步,CreateEvent 事件对象的同步,以及线程函数传递单一参数与多个参数的实现方式。 阅读全文
posted @ 2020-09-14 11:19 lyshark 阅读(2749) 评论(0) 推荐(0)
摘要: 算术运算通常是指,加减乘除四则运算,而计算机中的四则运算与数学中的有所不同,同样是实现算术运算,高级语言与汇编语言的实现思路完全不同,往往一个简单的减法运算,都要几条指令的配合才能得出计算结果,而为了保证程序的高效率,编译器会对其进行最大限度地优化,这就涉及到汇编代码的逆推,如下笔记则是整理的逆推常用手法。 阅读全文
posted @ 2020-09-12 22:12 lyshark 阅读(1688) 评论(0) 推荐(0)
摘要: 前面的那一篇文章中所使用的技术只能有效抵抗解密者直接修改硬盘文件,当我们使用动态补丁的时候,那么内存中同样不存在校验效果,也就无法抵御对方动态修改机器码了,为了防止解密者直接对内存打补丁,我们需要在硬盘校验的基础上,增加内存校验,防止动态补丁的运用。 阅读全文
posted @ 2020-09-12 16:57 lyshark 阅读(2095) 评论(0) 推荐(0)
摘要: 当软件被开发出来时,为了增加软件的安全性,防止被破解,通常情况下都会对自身内存或磁盘文件进行完整性检查,以防止解密者修改程序,我们可以将exe与dll文件同时做校验,来达到相互认证的目的,解密者想要破解则比较麻烦,当我们使用的互认证越多时,解密者处理的难度也就越大。 阅读全文
posted @ 2020-09-12 12:58 lyshark 阅读(2617) 评论(0) 推荐(0)
摘要: 今天在复习《加密与解密》时,在软件保护这一章中有一个代码与数据结合的案例,其原理是将代码段中的代码进行xor异或加密处理以后回写到原始位置,当程序运行后将此处的内容动态的进行解密,解密后回写替换回原始内存位置,这样就能实现内存加载。 阅读全文
posted @ 2020-09-11 23:18 lyshark 阅读(1506) 评论(0) 推荐(0)
摘要: 在上面的各种Hook挂钩方式中,我们都是在手写封装代码,但这样的方式并不高效,真正的生产环境中我们必须使用现成的Hook库,常用的Hook库有免费开源的MinHook和商业的Detours Hook,这里我们就选择介绍MinHook这个迷你函数库,该Hook库是完全开源免费的,使用起来也非常的简单. 阅读全文
posted @ 2020-09-11 18:57 lyshark 阅读(8031) 评论(0) 推荐(0)
摘要: Hook 技术常被叫做挂钩技术,挂钩技术其实早在DOS时代就已经存在了,该技术是Windows系统用于替代DOS中断机制的具体实现,钩子的含义就是在程序还没有调用系统函数之前,钩子捕获调用消息并获得控制权,在执行系统调用之前执行自身程序,简单来说就是函数劫持. 阅读全文
posted @ 2020-09-11 18:53 lyshark 阅读(4034) 评论(0) 推荐(2)
摘要: Hook 技术常被叫做挂钩技术,挂钩技术其实早在DOS时代就已经存在了,该技术是Windows系统用于替代DOS中断机制的具体实现,钩子的含义就是在程序还没有调用系统函数之前,钩子捕获调用消息并获得控制权,在执行系统调用之前执行自身程序,简单来说就是函数劫持. 阅读全文
posted @ 2020-09-11 12:15 lyshark 阅读(1130) 评论(0) 推荐(0)
摘要: 异或加密ShellCode: #include <stdio.h> #include <Windows.h> unsigned char buf[] = "\xba\xa9\xb0\x07\x68\xdd\xc3\xd9\x74\x24\xf4\x5e\x31\xc9\xb1"; int main( 阅读全文
posted @ 2020-09-11 12:02 lyshark 阅读(3120) 评论(0) 推荐(0)
摘要: C++ 标准模板库STL,是一个使用模板技术实现的通用程序库,该库由容器container,算法algorithm,迭代器iterator,容器和算法之间通过迭代器进行无缝连接,其中所包含的数据结构都是目前最优解,该库既能保证软件代码的高可复用性,又能保证代码具有相当高的执行效率,STL库是ANSI 阅读全文
posted @ 2020-09-10 15:13 lyshark 阅读(938) 评论(0) 推荐(0)
摘要: C++ 标准模板库STL,是一个使用模板技术实现的通用程序库,该库由容器container,算法algorithm,迭代器iterator,容器和算法之间通过迭代器进行无缝连接,其中所包含的数据结构都是目前最优解,该库既能保证软件代码的高可复用性,又能保证代码具有相当高的执行效率,STL库是ANSI 阅读全文
posted @ 2020-09-10 15:10 lyshark 阅读(1581) 评论(0) 推荐(0)
摘要: C++ STL模板是惠普实验室开发的标准开发模板,STL是C++的一部分,STL可分为容器(containers)、迭代器(iterators)、空间配置器(allocator)、配接器(adapters)、算法(algorithms)、仿函数(functors)六个部分,以下案例是针对算法中的非变 阅读全文
posted @ 2020-09-09 19:21 lyshark 阅读(655) 评论(0) 推荐(0)
摘要: 整理复习汇编语言的知识点,以前在学习《Intel汇编语言程序设计 - 第五版》时没有很认真的整理笔记,主要因为当时是以学习理解为目的没有整理的很详细,这次是我第三次阅读此书,每一次阅读都会有新的收获,这次复习,我想把书中的重点,再一次做一个归纳与总结(注:16位汇编部分跳过),并且继续尝试写一些有趣的案例,这些案例中所涉及的指令都是逆向中的重点,一些不重要的我就直接省略了,一来提高自己,二来分享知识,转载请加出处,敲代码备注挺难受的。 阅读全文
posted @ 2020-09-04 09:38 lyshark 阅读(1865) 评论(0) 推荐(0)
摘要: 整理复习汇编语言的知识点,以前在学习《Intel汇编语言程序设计 - 第五版》时没有很认真的整理笔记,主要因为当时是以学习理解为目的没有整理的很详细,这次是我第三次阅读此书,每一次阅读都会有新的收获,这次复习,我想把书中的重点,再一次做一个归纳与总结(注:16位汇编部分跳过),并且继续尝试写一些有趣的案例,这些案例中所涉及的指令都是逆向中的重点,一些不重要的我就直接省略了,一来提高自己,二来分享知识,转载请加出处,敲代码备注挺难受的。 阅读全文
posted @ 2020-08-30 12:45 lyshark 阅读(1085) 评论(0) 推荐(0)
摘要: 整理复习汇编语言的知识点,以前在学习《Intel汇编语言程序设计 - 第五版》时没有很认真的整理笔记,主要因为当时是以学习理解为目的没有整理的很详细,这次是我第三次阅读此书,每一次阅读都会有新的收获,这次复习,我想把书中的重点,再一次做一个归纳与总结(注:16位汇编部分跳过),并且继续尝试写一些有趣的案例,这些案例中所涉及的指令都是逆向中的重点,一些不重要的我就直接省略了,一来提高自己,二来分享知识,转载请加出处,敲代码备注挺难受的。 阅读全文
posted @ 2020-08-29 12:12 lyshark 阅读(906) 评论(0) 推荐(0)
摘要: 整理复习汇编语言的知识点,以前在学习《Intel汇编语言程序设计 - 第五版》时没有很认真的整理笔记,主要因为当时是以学习理解为目的没有整理的很详细,这次是我第三次阅读此书,每一次阅读都会有新的收获,这次复习,我想把书中的重点,再一次做一个归纳与总结(注:16位汇编部分跳过),并且继续尝试写一些有趣的案例,这些案例中所涉及的指令都是逆向中的重点,一些不重要的我就直接省略了,一来提高自己,二来分享知识,转载请加出处,敲代码备注挺难受的。 阅读全文
posted @ 2020-08-27 19:09 lyshark 阅读(1227) 评论(0) 推荐(0)
摘要: C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。他是从C和C++派生而来的,其与C/C++语法非常相似,并依附于.NET虚拟机的强大类库支持,各方面对强于C/C++. 阅读全文
posted @ 2020-08-26 08:27 lyshark 阅读(909) 评论(0) 推荐(0)
摘要: 当今的Web安全行业在进行渗透测试时普遍第一步就是去识别目标网站的指纹,从而进一步根据目标框架进行针对性的安全测试,指纹识别的原理其实很简单,目前主流的识别方式有下面这几种。 阅读全文
posted @ 2020-08-25 13:24 lyshark 阅读(2008) 评论(0) 推荐(1)
摘要: 多线程是一种复杂的编程技术,可以同时运行多个独立的线程来处理各种任务。在C#中,可以使用Thread类和ThreadPool类来实现多线程编程。Thread类用于创建和控制线程。可以使用Thread.Start()方法启动一个新的线程,并使用Thread.Join()方法等待线程完成。 阅读全文
posted @ 2020-08-22 13:36 lyshark 阅读(918) 评论(0) 推荐(0)
摘要: 通常服务器是放在内网中,内部局域网中,并且分配了私有IP地址,而如果想要在外部直接访问内部服务器则需要端口映射,端口映射也叫做端口转发,或者叫做虚拟服务器,在渗透时当我们拿到目标机器权限以后,目标机器实在内网环境中,如果想要外部直接访问内部的特定机器的特定端口,则需要使用映射来实现,常用的映射工具是LCX,或者自己实现。 阅读全文
posted @ 2020-08-21 16:16 lyshark 阅读(2749) 评论(0) 推荐(0)
摘要: C/C++ 要实现程序反调试有多种方法,BeingDebugged,NtGlobalFlag,ProcessHeap,CheckRemoteDebuggerPresent,STARTUPINFO,IsDebuggerPresent,父进程检测,TLS 线程局部存储,RDTSC时钟检测反调试,MapFileAndCheckSum,等都可实现反调试,这里我分别编写了一些案例,基本上一锅端了。 阅读全文
posted @ 2020-08-18 20:50 lyshark 阅读(3148) 评论(3) 推荐(1)
摘要: C/C++ 通过搜索PE结构中的空隙部分,对指定文件写入感染标志,作用是,如果程序被感染过则不再继续感染,而搜索空字节,则是要将恶意代码动态的填充到可执行文件中,并劫持执行流,以下代码就是这两种代码的具体实现方式。 阅读全文
posted @ 2020-08-18 11:32 lyshark 阅读(824) 评论(0) 推荐(0)
摘要: npcap 是Nmap自带的一个数据包处理工具,Nmap底层就是使用这个包进行收发包的,该库,是可以进行二次开发的,不过使用C语言开发费劲,在进行渗透任务时,还是使用Python构建数据包高效,唯一的区别是使用Python的库,可以节约我们寻找数据包结构的时间. 阅读全文
posted @ 2020-08-18 08:43 lyshark 阅读(2093) 评论(0) 推荐(0)
摘要: 异或,加解密shellcode代码的简单分析方法。 #include <stdio.h> #include <Windows.h> unsigned char buf[] = "\xba\xa9\xb0\x07\x68\xdd\xc3\xd9\x74\x24\xf4\x5e\x31\xc9\xb1" 阅读全文
posted @ 2020-08-12 12:12 lyshark 阅读(1202) 评论(0) 推荐(1)
摘要: 关于请求头中注入问题的演示,这里我写了一些测试案例,用来测试请求头中存在的问题。我们常见的会发生注入的点有 Referer、X-Forwarded-For、Cookie、X-Real-IP、Accept-Language、Authorization,User-Agent HTTP Referer:是 阅读全文
posted @ 2020-08-12 10:10 lyshark 阅读(3170) 评论(0) 推荐(0)
摘要: 只验证MIME类型: 代码中验证了上传的MIME类型,绕过方式使用Burp抓包,将上传的一句话小马*.php中的Content-Type:application/php,修改成Content-Type: image/png然后上传. <?php header("Content-type: text/ 阅读全文
posted @ 2020-08-03 14:30 lyshark 阅读(549) 评论(0) 推荐(0)
摘要: 各种API远程线程注入的方法,分别是 远程线程注入,普通消息钩子注入,全局消息钩子注入,APC应用层异步注入,ZwCreateThreadEx强力注入,纯汇编实现的线程注入等。 阅读全文
posted @ 2020-08-03 08:27 lyshark 阅读(4594) 评论(0) 推荐(0)
摘要: 针对注册表恶意修改: #include <stdio.h> #include <Windows.h> // 禁用系统任务管理器 void RegTaskmanagerForbidden() { HKEY hkey; DWORD value = 1; RegCreateKey(HKEY_CURRENT 阅读全文
posted @ 2020-08-02 20:11 lyshark 阅读(6475) 评论(6) 推荐(1)
摘要: 创建测试数据: 首先我们需要创建一些测试记录,然后先来演示一下数据库的基本的链接命令的使用. create table username ( uid int not null,name varchar(50), sex varchar(10),age int ); insert into usern 阅读全文
posted @ 2020-07-27 23:08 lyshark 阅读(289) 评论(0) 推荐(0)
摘要: 定义基本的类: 在类中我们可以定义各种数据成员和成员函数,其中public修饰的函数与变量可以在任何地方被调用,而private修饰的函数只能在本类中被调用子类不可调用,而protected修饰的则可以在本类和子类中被调用但不可以在外部调用. <?php class SportObj { publi 阅读全文
posted @ 2020-07-27 10:22 lyshark 阅读(292) 评论(0) 推荐(0)
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 34 下一页