Python基础-思维导图
综述由于需要用到Python,最近也是稍作复习,将常规的基础知识整理概括,并作了个思维导图,主要参考了廖雪峰的教程以及官方文档3.7.7,这两个教程的内容都比较基础,学完后基本上日常使用Python是没问题了,想要进一步提高可以参考Python3-cookbook的在线中文版。
这篇文章忙了3天,写 ...
Android程序分析入门(破解程序)
前言在前面的篇章中做好了Android程序分析的准备工作,编写了一个可以用来破解的入门程序,配置了右键命令行的快捷键以及逆向分析需要用到的工具Apktool和AndroidKiller。本篇就来用这些工具对Android程序进行一次简单的破解。
破解入手我们之前编写的程序是一个简单的注册的页面程序, ...
Frida简要安装教程(2021.3.14更新)
概述Frida是个轻量级别的hook框架。用Roy_Chen的话来说,说的专业一点,Frida是一种动态插桩工具,可以插入一些代码到原生app的内存空间去(动态地监视和修改其行为),这些原生平台可以是Win、Mac、Linux、Android或者iOS。
Frida使用Python 注入 JavaS ...
多核同步之自旋锁
前一篇关于临界区的文章中,提到了临界区的概念,它可以帮助我们在多核的情况下,实现多行代码/指令的线程同步,本篇来探索一下Windows提供的一种实现多核同步的机制,自旋锁。
不同版本的内核文件c1234567//单核ntkrnlpa.exe 2-9-9-12分页ntoskrnl.exe ...
多核同步之临界区
本篇来说一下多核同步相关联的知识,原本这是位于滴水教程中驱动部分的内容,但实际上更偏向于同步的知识点,同步相关的内容会在APC更新完后再作更新。这里也算是简单的作个预习。
并发与同步并发是指多个线程在同时执行:
单核(是分时执行,不是真正的同时)
多核(在某一个时刻,会同时有多个线程在执行)
同 ...
Android程序分析入门(准备工作)
前言停更了一周,其实前些天倒是也学了点,但是五一假期太诱人了,都想把事情放在假期来做,然而前两天基本上就睡过去了,所以拖到了今天。Android这部分,2月份疫情期间学了不少,不过之后开始更新Windows内核的内容了,也就没续上,之前又做了一遍实验,发现很多坑都没有再踩。所以这篇可能会漏掉部分我以 ...
全局句柄表
基本概念
进程的句柄表是私有的,每个进程都有一个自己的句柄表
系统拥有一个全局的句柄表,通过全局变量PspCidTable获取到全局句柄表的地址
每个进程和线程都有一个唯一的编号:PID和CID,这两个值就是该内核对象在全局句柄表中的索引
与局部句柄表的差异
全局句柄表的句柄直接指向内核对象;局部 ...
句柄表
句柄今天来介绍一个熟悉的概念,句柄。早在Win32编程时,海哥曾提到,我们不必去理解句柄是什么,只要记住它是一个4字节的DWORD数即可。但是到了内核层面,就有必要深入了解一下这个概念了。
一直以来,我们接触到的句柄主要分为两种:
1)窗口句柄c1HWND hwnd = FindWindow(NUL ...
Inline Hook SSDT
一个月前,曾更过一篇博客,简要介绍了使用Hook手段实现对某社交软件实时聊天内容的输出打印。那次实践使用的手段就是Inline Hook,在那篇文章中也比较详细的介绍了如何编写Inline Hook的代码。本篇不再赘述Hook具体细节,简要说明原理并演示Hook过程。
Inline Hook原理无论 ...
SSDT Hook
经过IRP那一章,发现如果文章篇幅过长(那篇我粘了很多结构定义的代码),网页端是无法显示出来博客内容的,只能分篇,看起来会比较麻烦,以后会尽量讲的精炼,也方便自己以后查看。虽然现在依然是4月19日,但是代码是4月17日写的,就算作是那天的博客吧。这一篇主要讲解一下SSDT Hook的手法,并实现一个 ...