草庐IT

netdev_dbg

全部标签

4.5 x64dbg 探索钩子劫持技术

钩子劫持技术是计算机编程中的一种技术,它们可以让开发者拦截系统函数或应用程序函数的调用,并在函数调用前或调用后执行自定义代码,钩子劫持技术通常用于病毒和恶意软件,也可以让开发者扩展或修改系统函数的功能,从而提高软件的性能和增加新功能。4.5.1探索反汇编写出函数原理钩子劫持技术的实现一般需要在对端内存中通过create_alloc()函数准备一块空间,并通过assemble_write_memory()函数,将一段汇编代码转为机器码,并循环写出自定义指令集到堆中,函数write_opcode_from_assemble()就是我们自己实现的,该函数传入一个汇编指令列表,自动转为机器码并写出到堆

4.3 x64dbg 搜索内存可利用指令

发现漏洞的第一步则是需要寻找到可利用的反汇编指令片段,在某些时候远程缓冲区溢出需要通过类似于jmpesp等特定的反汇编指令实现跳转功能,并以此来执行布置好的ShellCode恶意代码片段,LyScript插件则可以很好的完成对当前进程内存中特定函数的检索工作。一般而言远程缓冲区溢出攻击通常利用的是一些具有缓冲区溢出漏洞的函数或是特定的汇编指令片段,如:strcpy:该函数将一个字符串复制到另一个字符串缓冲区中,但不会检查缓冲区的大小,因此很容易导致缓冲区溢出。gets:该函数将用户输入的数据读入字符串缓冲区中,但不会检查缓冲区的大小,因此很容易导致缓冲区溢出。sprintf:该函数将一个字符串

4.2 x64dbg 针对PE文件的扫描

通过运用LyScript插件并配合pefile模块,即可实现对特定PE文件的扫描功能,例如载入PE程序到内存,验证PE启用的保护方式,计算PE节区内存特征,文件FOA与内存VA转换等功能的实现,首先简单介绍一下pefile模块。pefile模块是一个用于解析Windows可执行文件(PE文件)的Python模块,它可以从PE文件中提取出文件头、节表、导入表、导出表、资源表等信息,也可以修改PE文件的一些属性。可以用于分析针对Windows平台的恶意软件、编写自己的PE文件修改工具等场景。使用pefile模块可以快速方便地定位到PE文件的一些关键信息,例如程序入口点、程序头、代码的开始和结束位置

1.1 熟悉x64dbg调试器

x64dbg是一款开源、免费、功能强大的动态反汇编调试器,它能够在Windows平台上进行应用程序的反汇编、调试和分析工作。与传统的调试器如Ollydbg相比,x64dbg调试器的出现填补了Ollydbg等传统调试器的不足,为反汇编调试工作提供了更高效、更可靠的解决方案。正是因为有了这些优点,才能使其成为当今最受欢迎的反汇编调试软件之一。x64dbg官方地址:https://x64dbg.com/x64dbg和Ollydbg虽都是Windows平台上的调试器工具,但它们有一些不同之处:支持架构:Ollydbg仅支持x86架构,而x64dbg支持x86和x64架构,因此x64dbg可以调试64位

linux - 启用 linux 内核驱动程序 dev_dbg 调试消息

是否有一种最简单的方法来启用linux内核驱动程序dev_dbg调试消息(实际上它是一个trace样式的消息),希望不会搞乱内核修补/重新编译或驱动程序实现了一些额外的东西,比如debugfs?也许有一种方法可以在内核中启用一些简单的东西(比如一个标志?)触发特定驱动程序或所有驱动程序dev_dbg(它可以用`dmesg|grep"driverName")输出过滤?内核版本是4.14。根本没有syslog/daemonlog/system日志在运行。没有网络接口(interface),只有一个串行端口可用。目标系统非常慢而且非常紧凑,所以没有办法添加syslog/etc,除了dmesg

linux - 启用 linux 内核驱动程序 dev_dbg 调试消息

是否有一种最简单的方法来启用linux内核驱动程序dev_dbg调试消息(实际上它是一个trace样式的消息),希望不会搞乱内核修补/重新编译或驱动程序实现了一些额外的东西,比如debugfs?也许有一种方法可以在内核中启用一些简单的东西(比如一个标志?)触发特定驱动程序或所有驱动程序dev_dbg(它可以用`dmesg|grep"driverName")输出过滤?内核版本是4.14。根本没有syslog/daemonlog/system日志在运行。没有网络接口(interface),只有一个串行端口可用。目标系统非常慢而且非常紧凑,所以没有办法添加syslog/etc,除了dmesg

用x32/x64dbg脱DLL壳(IAT表修复和重定位表修复)

exe脱壳一直搜到的都是看雪论坛上用的lordPE和ImportREC进行脱壳和修复,感觉有点过时了.记录一下x32/x64dbg的脱壳和IAT修复方法.首先用esp定律等方法找到程序的入口点,然后使用Scylla插件并填写其中的OEP地址.然后用IATAutosearch去找可能的IAT表,dump并fixpe文件即可.DLL脱壳和exe脱壳不同,exe因为是第一个装载的模块,因此不需要进行重定位操作,它的base地址一定在0x400000.但是DLL因为装载的冲突,会需要进行重定位,如果脱壳后重定位表缺失,重定位发生错误.不过这个错误也不是一定会发生,万一DLL就装载到它原本预设的Imag

linux - *-dev *-dbg 和 *-utils 是什么意思?

当我想在ubuntu上安装像libxml2这样的库时,我输入sudoapt-getinstalllibxml2并输入tab键。libxml2、libxml2-dev、libxml2-dbg和libxml2-uils等几个名字出来了。这些后缀的全称是什么?我需要安装哪一个? 最佳答案 libxml2-util:这个包提供了xmllint,一个用于验证和重新格式化的工具XML文档和xmlcatalog,一种用于解析和操作XML或SGML目录文件。libxml2-dev:如果您希望使用GNOMEXML库开发自己的程序,请安装此包。libx

linux - 偏好顺序 - printk() vs dev_dbg() vs netdev_dbg()

我最近在linux源代码树中运行了scripts/checkpatch.pl脚本并收到了这个警告:WARNING:Prefernetdev_dbg(netdev,...thendev_dbg(dev,...thenpr_debug(...toprintk(KERN_DEBUG...printk(KERN_DEBUG"HelloWorld!\n");据我所知,pr_debug和dev_dbg提供的动态调试接口(interface)比printk有明显的优势,因此比printk更喜欢它们。即使在dev_dbg和pr_debug之间,如果我们有一个结构设备来标准化设备信息输出以及我们的调试消

x64dbg 插件开发SDK环境配置

x64dbg是一款开源的应用层反汇编调试器,旨在对没有源代码的可执行文件进行恶意软件分析和逆向工程,同时x64dbg还允许用户开发插件来扩展功能,插件开发环境的配置非常简单,如下将简单介绍x64dbg是如何配置开发环境以及如何开发插件的。默认情况下当你下载好x64dbg时,在pluginsdk目录下都会包含lib库,这个库可以直接引用到项目内的。插件库的引入也很简单,在vs中只需要配置include引用,以及lib库位置即可,x64dbglib库的配置非常简单。引入后,我们去官方下载好插件模板文件:https://github.com/x64dbg/PluginTemplate此处为了开发方便