个人开发记录
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

逆向基础3. 结构体数组的汇编结构

结构体数组的汇编结构 在栈上的数组数据结构 测试使用结构体如下 123456typedef struct { int id; int count; int count2; int count3;} GameObject; 测试代码如下 123456789101112131415161718192021int main()
2024-07-29
逆向 > 学习 > 汇编
#逆向 #汇编

逆向基础2. C语言数据结构的汇编结构

C语言数据结构的汇编结构 局部变量的分配和访问 12345678910long long var(){ char a = 0x1; short b = 0x10; int c = 0x11; long d = 0x100; long long e = 0x101; return a + b + c + d + e;} 已剔除保
2024-07-27
逆向 > 学习 > 汇编
#逆向 #汇编

在Hexo中使用Asciidoc格式编写文章

在Hexo中使用Asciidoc格式编写文章 前言 虽然markdown简单易懂, 但是其功能有时非常有限, 例如自定义的表格, mark等, 需要使用三方语法甚至内嵌html来实现, 于是打算使用asciidoc来编写文章, 但是hexo默认不支持asciidoc, 本文记录hexo适配asciidoc的过程. 安装asciidoc 虽然已经有了 hexo-renderer-as
2024-07-27
笔记
#笔记 #Hexo

逆向基础1. C语言函数调用

C语言函数调用 1.简单调用 总览 对于一个简单的C语言程序, 其代码如下 123456789101112#include <iostream>int plus(int a, int b){ auto data = a + b; return data;}int main(){ auto data = plus(1, 2)
2024-07-26
逆向 > 学习 > 汇编
#逆向 #笔记 #汇编

x64汇编常用寄存器

寄存器 名称 描述 RAX 累加器寄存器 运算/存储返回值 RBX 基址寄存器 存储内存地址, 数据操作 RCX 计数寄存器 常用于字符串和循环操作 RDX 数据寄存器 常用于输入/输出操作 RSI 源索引寄存器 常用于字符串操作 RDI 目的索引寄存器 常用于字符串操作 RBP 基址指针寄存器 指向栈底 RSP 栈指针寄存器 指向栈顶
2024-07-25
#汇编 #寄存器

通过调用栈确定逻辑位置

通过调用栈确定逻辑位置 输入错误的名称和注册码, 点击注册后弹出注册失败的信息框后, 在od中暂停程序 切换到调用栈窗口, 寻找MessageBox的调用 对其进行跟踪目标可以看到其调用者 可以看见程序断在 call MessageBoxA, 在MessageBoxA下下断, 点击继续运行并继续程序, 返回到程序点击信息框中的确定 此时程序中断, 然后运行到程序领空, 即可看到对应
2024-07-13
逆向 > 学习 > 栈
#逆向 #栈

逆向常见指令笔记

test eax, eax 用来判断eax是否为0, 为0则跳转 和 cmp eax, 0 在比较时几乎一样 123if (eax == 0) { // do something} eax = eax == 0 ? 1 : 0 123neg eax ; cf = if eax != 0 { 1 &
2024-07-13
逆向 > 学习 > 汇编
#逆向 #汇编

Imgui hook 注入 DirectX 和 OpenGL

0x01 Imgui 工作流程Imgui 的工作流程简单来说分为下面三步: 初始化 渲染 释放 下面以D3d11 Imgui Example为例解释需要获取的参数: Imgui 初始化123456789101112131415161718192021222324// 创建WindowsWNDCLASSEXW wc = { sizeof(wc), CS_CLASSDC, WndProc
2024-02-12
逆向 > Hook
#逆向 #Imgui

逆向call栈追踪

参数传递在函数调用时, 使用栈传递参数, 其汇编如下 123push 参数2push 参数1call xxxxx 调用call后, 会将返回地址也压入栈中, 此时栈中结构如下 esp 返回地址 esp+4 参数1 esp+8 参数2 函数开头push的作用1. 局部变量开辟12push xxxsub esp, 0x10 2. 保存寄存器查看call的结尾, 查找对应的pop
2024-01-12
逆向 > 学习 > 栈
#逆向 #栈

在Flutter项目使用FFI调用Golang项目全记录

前言目前有一个项目涉及到html的解析, js执行等. 由于dart的库并不是很完善, 于是打算使用golang来实现这部分功能, 然而在过程中遇到了许多坑, 特此记录过程 0x01 go代码编写这里使用go的otto做一个javascript解析器, 项目代码如下: 12345678910111213141516171819202122232425262728293031323334353637
2022-02-03
开发
#笔记 #flutter #go
123

搜索

Hexo Fluid
总访问量 次 总访客数 人
鄂ICP备19005239号-2