x84

内存保护机制及绕过方案——从堆中绕过safeSEH

喜你入骨 提交于 2020-04-25 18:43:42
1.1 SafeSEH内存保护机制 1.1.1 Windows异常处理机制 Windows中主要两种异常处理机制,Windows异常处理(VEH、SEH)和C++异常处理。Windows异常处理结构未公开的,包含向量化结构异常VEH及结构化异常处理SEH。由操作系统提供的服务,当一个线程出现错误时,操作系统调用用户定义的一个回调函数_exept_handler。回调函数接收到操作系统传递过来的许多有价值的信息,例如异常的类型和发生的地址。使用这些信息,异常回调函数就能决定下一步做什么。 C++异常处理是C++语言的特性,在Windows平台上由系统提供支持。 Windows异常处理顺序流程 l 终止当前程序的执行 l 调试器(进程必须被调试,向调试器发送EXCEPTION_DEBUG_EVENT消息) l 执行VEH l 执行SEH l TopLevelEH(进程被调试时不会被执行) l 执行VEH l 交给调试器(上面的异常处理都说处理不了,就再次交给调试器) l 调用异常端口通知csrss.exe 1.1.2 SafeSEH工作原理 异常处理链(SEH)结构在通过SHE链绕过/GS中已经介绍过了,这里接直接说safeSEH了, i. SafeSEH工作流程: ii. RtlIsVaildHandler() 函数校验流程: 1.1.3 SafeSEH绕过思路 那么有3种情况

Amlogic电视盒子红外遥控适配笔记

天大地大妈咪最大 提交于 2020-04-19 23:03:08
前一阵做了个安卓6的固件, 在R3300L和Q7上跑的, 其他问题没有, 但是有用户反映原来的遥控器用不了了, 于是检查了一下遥控器配置, 顺便学习一下此类设备的红外遥控机制. 为了方便测试还上淘宝买了六个遥控器. Amlogic电视盒子的红外遥控配置 相关的配置文件有 /system/usr/keylayout/Generic.kl /system/usr/keylayout/Vendor_0001_Product_0001.kl /system/etc/remote.conf 或 /system/etc/remote1.conf Generic.kl文件 Generic key layout file for full alphabetic US English PC style external keyboards. This file is intentionally very generic and is intended to support a broad rang of keyboards. Do not edit the generic key layout to support a specific keyboard; instead, create a new key layout file with the required keyboard

MySQL利用mysqlbinlog命令恢复误删除数据(运维技术交流群:926402931,欢迎大家一起来交流。)

这一生的挚爱 提交于 2020-04-11 11:01:19
目录 1.MySQL开启binlog功能 2.登录到数据库 3.创建与删除数据库 4.查看binlog日志 5.恢复数据 1.MySQL开启binlog功能 log-error=/var/log/mysql.log log-bin=/data/binlog/mysql-bin sync_binlog=1 binlog_format=row 2.登录到数据库 [root@db01 ~]# mysql -uroot -p123 3.创建与删除数据库 mysql> create database xiaohai; mysql> drop database xiaohai; 4.查看binlog日志 [root@db01 binlog]# mysqlbinlog mysql-bin.000008 # at 1200 #200409 16:41:36 server id 10 end_log_pos 1297 CRC32 0x84e92ac7 Query thread_id=8 exec_time=0 error_code=0 SET TIMESTAMP=1586421696/*!*/; create database xiaohai /*!*/; # at 1297 #200409 16:42:24 server id 10 end_log_pos 1384 CRC32