07 2022 档案
摘要:题目描述 给定一个正整数N代表火车数量,0<N<10,接下来输入火车入站的序列,一共N辆火车,每辆火车以数字1-9编号,火车站只有一个方向进出,同时停靠在火车站的列车中,只有后进站的出站了,先进站的才能出站。 要求输出所有火车出站的方案,以字典序排序输出。 数据范围:1\le n\le 10\1≤n
阅读全文
摘要:题目描述 输入一个表达式(用字符串表示),求这个表达式的值。 保证字符串中的有效字符包括[‘0’-‘9’],‘+’,‘-’, ‘*’,‘/’ ,‘(’, ‘)’,‘[’, ‘]’,‘{’ ,‘}’。且表达式一定合法。 数据范围:表达式计算结果和过程中满足 |val| \le 1000 \∣val∣≤
阅读全文
摘要:一、介绍 Linux系统的用户层(也就是ring3)使用操作系统提供的各种服务(ring0),需要通过软件中断(0x80,中断描述符表中对应系统调用处理),从ring3切换到ring0,通过系统调用来获取对应系统服务。 二、实现 1.基于修改 sys_call_table 的hook方式 系统调用表
阅读全文
摘要:C++逆向总结 一、call前的this指针参数传递 Windows和Linux下的大部分编译器将this指针存放到ecx寄存器中传递,就是在call某个对象成员函数时。但是,也有部分编译器使用rdi寄存器传递的。 如上图所示,第一个参数是用ecx寄存器传递的,后面的两个参数都是栈传递。我们可以通过
阅读全文
摘要:一、概念 ntoskrnl.exe(Windows 启动内核)是用于基于 NT 的 Microsoft 操作系统的启动过程中的重要组件。它还负责一系列系统服务,例如进程和内存管理、安全管理、对象管理、硬件虚拟化等。它包含几个子系统:缓存管理器、I/O 管理器、配置管理器、本地过程调用、内存管理器、进
阅读全文