luodaoyi's Blog

能用就行

精通ASM/C/C++/RUST/C#/Java/JavaScript/Python/Golang/ruby 的Hello World 编写。

luodaoyisince 2014 211 篇文章

Android逆向-1 dalvik字节码

1 .dalvik字节码 1 dalvik寄存器: 32位: 所有寄存器 64位: 使用两个相邻的寄存器 2 寄存器的命名法: v : 局部变量寄存器 v0-vn 参数寄存器: vn-vn+m p : 参数寄存器 p0-pn 变量寄存器 v0-vn 第一种 第二种 3 dex文件反汇编工具 .java编译成.class 再编译成 <code>.dex 最后编 …

KiFastCallEntry Hook (利用栈回溯技术)

利用 栈回溯 技术,定位 KiFastCallEntry API 地址空间,搜索特征码后进行inline hook,KiFastCallEntry 是大多数 ring3 到 ring0 API调用必经 之路, 所以 hook之后可以 监视很多 程序行为. 基于一个前提: KiFastCallEntry 函数 作用是:初始化 kernel stack , 根据 …

硬编码-什么是硬编码

二进制编辑工具打开exe 图中可以看出程序都是由二进制数据组成 无论多么复杂的程序都只包含两部分,数据和指令。数据和指令的划分并没有明显的界限。具体取决于EIP 指令是有自己的格式。 CPU相关的指令: x86 x64 arm 硬编码就是指令集的指令

PE文件解析 入门篇

前言 - PE文件解析 系列文章的第二篇,上一篇参考:PE文件解析 基础篇 介绍区块头表和区块 解析出区段表 完成RVA转FOA的功能 解析出数据目录表各种表的位置和大小 源码放在附件 1.区块头表 - pe文件头与原始数据之间存在一个区块表,区块表包含了每个块在映像(内存)中的信息,分别指向不同的区块实体。

PE文件解析 基础篇

前言 - 之前学习了PE格式,为了更好的理解,决定写一个类似LoadPE的小工具。 编译器是VS2015,采用MFC框架。 此系列文章采用边介绍知识点,边写代码的形式,以免变的无聊丧失兴趣。 PE知识请参照《加密与解密》第10章。 PE文件格式1. PE文件基本概念 - PE文件是windows系统中遵循PE结构的文件,比如以.exe .dll为后缀名的文件 …

批量提取公众号文章的python脚本

如何获取?http://xingyue.artizen.me 1 2 3 4 5 6 7 8 9 10 11 12 coding:utf-8 import json import pprint links_array = [] with open('msg.txt',encoding='utf-8') as file: for line in file: s …

C++ 标准库中缺少的字符串函数:`starts_with` 和 `ends_with`

C++ 标准模板库的 std::string 很好很强大,但是并没有提供判断一个字符串是否以另一个字符串开始/结束的接口。这里为 std::basic_string<charT> 提供这两个接口。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 …

Linux统计文件夹下的文件数目

Linux下有三个命令:ls、grep、wc。通过这三个命令的组合可以统计目录下文件及文件夹的个数。 统计当前目录下文件的个数(不包括目录) 1 $ ls -l | grep "^-" | wc -l 统计当前目录下文件的个数(包括子目录) 1 $ ls -lR| grep "^-" | wc -l 查看某目录下文件夹(目录)的个数(包括子目录) 1 ls …

Linux 命令行下下载 Google Drive/Docs

转载自 https://onebox.site/archives/250.html 说到如何在Linux命令行下下载Google网盘(云端硬盘)的文件,第一个想到的应该是gdrive(prasmussen/gdrive),这个脚本可以下载、上传、同步等功能,当然需要事先命令gdrive about关联网盘,显然适合自己使用。

简单的GDI操作

简单的GDI操作 窗口程序的本质 :GUI GDI GDI: Graphics Device Interface,图形设备接口,这是Windows提供的一组用于绘制图像的API GUI: Graphical User Interface,图形用户界面,是指用户操作软件的界面方式,以区别于字符方式 说白了 GDI是一套实打实的接口,真实存在 GUI只是一个概念 …

消息机制与模拟消息

消息机制与模拟消息 消息机制 硬件产生事件 被操作系统捕获,封装成消息 操作系统发送到系统消息队列 再由操作系统由系统消息队列发送到 对应的线程内核对象中的线程消息队列 线程消息队列处理完毕后,将时间送回操作系统 由操作系统调用窗口回调函数 => WindowProc() 线程消息队列 处理 GetMessage() => 取出消息 …

新建一个窗口程序

新建一个窗口程序 消息机制 创建窗口的几个步骤 创建窗口类 注册窗口类 创建窗口 显示窗口 构建消息循环 创建过程 demo : https://github.com/luodaoyi/cpp_code/tree/master/MemoryInjectTool/CreateWindows //1 创建窗口类型模板 WNDCLASS wndclass = { …