信息安全

深度解析shellcode原理及编码技术

本篇文章深度探讨了Shellcode的原理,同时对64位和32位系统下的shellcode进行了详细解读。并详细介绍了Shellcode的编码技术,其中包括手写Shellcode的两种思路。对于编码Shellcode,本文列举了几种常见的解码器的实现,如FNSTENV XOR解码器和JMP/CALL解码器。最后,本文列举了几种常见的字符集以及Shellcode编码工具,并推荐了两个可查找现成Shellcode的数据库。
教程

将USB设备连接到WSL2:分步教程

这篇教程详细地介绍了如何在Windows Subsystem for Linux 2(WSL2)中使用USB设备。首先,我们需要安装在Windows上共享USB设备的软件usbipd-win,并进行相应的设置。接下来,我们会在WSL内部安装USB/IP的用户空间工具和USB硬件标识符的数据库。再接下来的步骤是配置udev规则以允许非root用户访问设备。最后,我们将通过使用usbipd的WSL便利命令来连接设备。在连接或断开设备后,我们可以在WSL内部检查已连接的USB设备。
开源评论

CTF比赛中的网络安全:从一场“失控”的比赛中吸取教训

在一次CTF(Capture The Flag)比赛中,出题方使用了一个真实的勒索病毒作为比赛题目,导致许多参赛者的磁盘被锁定,资料无法恢复。这一事件突显出网络安全比赛在题目设置和比赛环境管理方面的严重缺陷,因此,需要重新审视和改进比赛的设计和实施。对于组织者,他们应建立严格的题目审查制度,创建安全的比赛环境,并提供清晰的比赛规则和应急响应机制。对于参赛者,他们应持续学习并提高网络安全知识和技能,使用专用设备和网络环境,并定期备份重要数据。这样,我们可以从中吸取教训,防止类似事件的再次发生,同时提高我们的网络安全技能。
教程

安卓逆向:签名校验对抗

本文介绍了应用签名校验的原理和常见的签名校验特征,以及签名校验对抗的方法。其中包括了核心破解插件、一键过签名工具、手撕签名校验、PM代理、IO重定向和模拟器检测、反调试检测以及Frida检测等。本文为逆向爱好者提供了一些反制签名校验的思路和方法,并介绍了一些常见的签名校验技术。标签:安卓逆向、签名校验、反调试检测、IO重定向、模拟器检测、Frida检测。
开源项目

Pandora:一个让你呼吸顺畅的ChatGPT

本文介绍了一款名为Pandora的开源项目,它是一款用于解决国内用户使用ChatGPT时遇到的种种问题的客户端。本文详细介绍了Pandora的功能特性、安装方法、部署方式以及Docker部署方法。
教程

安卓逆向:动态调试指南

本文详细介绍了安卓逆向工程中的动态调试过程。通过阐述各种工具的使用、动态调试环境的配置、获取debug权限、端口转发以及开启adb调试权限、下断点和使用Jeb附加调试进程等步骤,为您提供了一份详尽的动态调试教程。
教程

掌握二分查找算法:初始化、查找区间与终止条件

本文详细介绍了二分查找算法的实现过程和关键注意事项。通过分析查找某个元素以及查找某个边界的场景,文章阐述了如何正确初始化查找区间、设置终止条件以及缩小查找范围。文章旨在帮助读者深入理解并掌握二分查找算法,提高编程效率。
教程

在 Ubuntu 22.04 上安装和配置 VNC 远程桌面

本教程详细介绍了如何在 Ubuntu 22.04.2 LTS x86_64 上安装和配置 VNC 以实现远程桌面访问。涵盖了从安装 GNOME 桌面环境、设置 TightVNC 服务器,到修改 xstartup 配置文件等关键步骤。完成本教程后,用户可通过 VNC ...
教程

USB HID 流量分析

USB HID(Human Interface Device),中文译为人机接口设备,是一种允许人与计算机交互的接口的设备,主要用于连接各种人机界面设备,如键盘、鼠标、游戏手柄、数字仪表、触摸屏等。USB HID 设备与计算机通信使用的是 USB HID 协议,这个协议规定了 USB HID 设备与主机之间的通信协议和数据格式。本文将对 USB ...
信息安全

安卓逆向:去广告和弹窗

安卓应用中常见有三种广告:启动广告、弹窗广告以及横幅广告。启动广告一般是单独的一个 Activity,对于这种广告可以通过 Activity 切换定位来加以去除。弹窗广告一般是在 Activity 方法中通过 Dialog->show() 方法调用的,这种广告可以通过 Hook、定位并修改代码方法去除。横幅广告是出现在 UI 布局中的广告,在 xml 中定位到之后可以通过修改宽高和可见性的方法去除。
内核

Linux 共享库的 soname 命名机制

Linux 有一套规则来命名系统中的每一个共享库,它规定共享库的文件命名规则如下:libname.so.x.y.z,即前缀"lib"+库名称+后缀".so"+三个数字组成的版本号,其中,x 表示主版本号,y 表示次版本号,z 表示发布版本号。SO-NAME 命名机制,就是把共享库的文件名去掉次版本号和发布版本号,只保留主版本号。在 Linux 系统中,系统会为每个共享库在它所在的目录创建一个跟它的 ”SO-NAME” 一样的软链接指向它。
开源项目

Pwnagotchi 开箱教程

Pwnagotchi 是一个由 Bettercap 驱动的 A2C 的 “AI”,它能够从周围的 WiFi 环境中学习,以最大限度地利用它捕获的可破解 WPA 密钥材料,该材料将作为可被 hashcat 破解的 PCAP 文件收集在磁盘上。 简单来说,Pwnagotchi ...
Shell

向你的命令行脚本添加 Shebang 行

#!/bin/sh 上面这行代码,常常出现在 shell 脚本中,是一个 shell 脚本的标准起始行,也被称作 Shebang 行。 Shebang 即 SHArp(#) 和 bang(!) 的组合 […]