0%

前言

对于分析 IOT 的安全工程师来说,模拟调试一个非本机架构的 binary/rootfs 是很常见的需求,今天介绍一种我本人觉得虽然稍微有点扭曲但是效果最好的办法:用 qemu-system 模拟运行异构的 Debian,并且相比常见的 network install 的方法有很大的改进。

本文主要介绍用 qemu-system-arm 来安装运行 arm Debian,对于 mips Debian 步骤基本是一样的。

阅读全文 »

前言

分析一个实模式二进制文件,比如 DOS 可执行文件或者 MBR 代码从来不是一个简单的任务。目前最好的办法是先用 Bochs, QEMU 或者 Dosbox 模拟运行,然后再使用 gdb, debug.exe 或者 IDA Pro来远程调试。但是这都是在没有麒麟框架(Qiling Framework)的情况下。现在我们想骄傲的宣布,麒麟框架正式支持 16bit 二进制的模拟运行,并且与之伴随的还有麒麟框架多维度分析二进制文件的能力。

本文在介绍实模式模拟实现细节的同时也会作为一篇教程来介绍麒麟框架的使用。

For English version, see here.

阅读全文 »

前言

最近终于稍微闲了一点可以花点时间把博客整理一下了你鸽了多久心里没数吗,这篇文章算是这个过程中的一些碎碎念吧。

本文为非技术文章。

阅读全文 »

前言

最近研究 Chromium 和 HTML 标准,不可避免的就接触到了 Web IDL,这里就总结性的聊聊吧,也当是学习笔记了。

本文几乎就是照搬现在 Web IDL 的标准,但也不是简单的翻译也翻译不准

阅读全文 »

前言

本文其实是软工课程的一次作业,算是对自己之前使用 Git 的一些心得体会的总结吧。

阅读全文 »

前言

最近用旧笔记本装了个 ESXi 当 NAS 用,其中有一个功能是我期待很久的:离线下载,但是当我挂公网 bt 的时候发现速度实在感人,然而由于某种原因 ESXi 的物理网卡接口上又拿不到 ipv6 但是我可以控制的某台机器有一段 /64,所以就开始琢磨着怎么偷一段回来了。

阅读全文 »

前言

这次湖湘杯真的是无力吐槽了,因为 PWN 学的太菜只好当 web 手结果整场比赛服务器都卡的要命,感觉还没隔壁 10 刀一年超售大王卖的 VPS 快,最后摸了个第十一名也是很气。

不过这道堆的 PWN 算是很基础了,也算是学习的起步吧,之前虽然看过 ptmalloc 的源代码也分析过内存分配流程了但是有很多东西还是得调过才能理解透彻。

阅读全文 »

前言

其实很早就有把 fish 交叉编译到 OpenWrt 上的想法了,但是尝试过一次踩了坑就放弃了。前段时间折腾 golang 交叉编译的时候进一步学习了一波 GNU 工具链的用法,感觉对 GNU 的扭曲哲学又了解一点,于是又尝试着填这个坑,总算是成功把 fish 比较完整的移植到 OpenWrt 了,这里算是记录下踩的坑和一些心得吧。

阅读全文 »

起因

最近在填坑(CTBX)的时候发现以前 Log 是这样写的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Logging.h
// Declaration

namespace logging{
void debug(const std::string&, const std::string&);
void warning(const std::string&, const std::string&);
// and more
}

// Logging.cpp
// Implementation

namespace logging{
void debug(const std::string& tag, const std::string& msg){ /* one-line implementation */ }
void warning(const std::string& tag, const std::string& msg){ /* one-line implementation */ }
// and more
}

我一看,这实现不就一行嘛,遂改成了

阅读全文 »