软件逆向原理与实践 复习-编程思维

一、IA-32的内存模型和内存管理 区分三个概念:物理地址、线性地址和逻辑地址 物理地址:CPU地址总线传来的地址。 线性地址:空间是连续的,从0到FFFFFFFFH,虚拟地址不是被直接送到内存地址总线上,而是送到存储器管理单元MMU,把虚拟地址映射为物理地址。 逻辑地址:在有地址变换功能的计算机中,访内指令给出的地址 (操作数) 叫逻辑地址,也叫相对地址,也就是是机器语言指令中,用来指定一个操

flash 游戏分析-编程思维

游戏 我们就以《猎人的生存日记》(Orion Sandbox)这款游戏来分析。 下载链接 用FlashStart打开Orion Sandbox 1.swf 我们需要反复进入游戏,可以先打开一次游戏,以此进行:文件 \(\rightarrow\)游戏路径\Orion Sandbox 1.swf。 工具 可以看16进制的软件(我用的是HxD) 数字 因为这是个本地游戏,所以在本地要有个储存的位置

cycript-编程思维

Cycript Cycript 是一种运行时的动态分析工具,它可以在运行的 iOS 应用程序中注入代码,并与其交互。使用 Cycript,你可以在运行时检查和修改应用程序的状态、调用其方法、查看和修改变量值等。 Cycript 的语法类似于 JavaScript,它包含了一些特殊的命令和语法,用于与 iOS 应用程序进行交互。也可以用使用OC的语法。 可以使用 Cycript 来执行以下操作:

逆向工程核心原理(1)逆向基础-编程思维

所有资源可以在官网下载 代码逆向工程 逆向分析法 静态分析 不执行代码,观察外部特征,获取其文件类型、大小、PE头、Import/Export API、字符串、是否运行时解压缩、注册信息、调试信息、数字证书、反汇编代码等 动态分析 在程序文件执行的过程中对代码进行分析。 一般首先静态分析,再进行动态分析。 逆向Hello World 代码如下: #include<windows.h>

799. 香槟塔 ----- 动态规划、模拟、逆向_slowlydance2me-编程思维

我们把玻璃杯摆成金字塔的形状,其中 第一层 有 1 个玻璃杯, 第二层 有 2 个,依次类推到第 100 层,每个玻璃杯 (250ml) 将盛有香槟。 从顶层的第一个玻璃杯开始倾倒一些香槟,当顶层的杯子满了,任何溢出的香槟都会立刻等流量的流向左右两侧的玻璃杯。当左右两边的杯子也满了,就会等流量的流向它们左右两边的杯子,依次类推。(当最底层的玻璃杯满了,香槟会流到地板上) 例如,在倾倒一杯香槟后,

114. 二叉树展开为链表 ----- 子树拼接类莫里斯morris 算法、变相后序遍历解决右子树丢失问题、先序遍历栈储存右结点解决右子树丢失问题_slowlydance2me-编程思维

给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。  示例 1:     输入:root = [1,2,5,3,4,null,6]输出:[1,null,2,null,3,null,4,null,5,null,6]示

141. 环形链表 ----- 哈希表、逆向思维、快慢指针_slowlydance2me-编程思维

给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。 如果链表中存在环 ,则返回 true 。 否则,返回 false 。   示例 1:

【c++】从零开始的cs:go逆向分析3——写出一个透视_水风井-编程思维

【C++】从零开始的CS:GO逆向分析3——写出一个透视   本篇内容包括:   1. 透视实现的方法介绍   2. 通过进程名获取进程id和进程句柄   3. 通过进程id获取进程中的模块信息(模块大小,模块地址,模块句柄)   4. 读取游戏内存(人物ViewMatrix,敌人坐标,敌人生命值,敌人阵营)   5. 三维坐标转二维坐标(游戏内人物坐标转换成屏幕上的坐标)   6. glfw+

【c++】从零开始的cs:go逆向分析2——配置glfw+imgui环境并创建透明窗口_水风井-编程思维

【C++】从零开始的CS:GO逆向分析2——配置GLFW+IMGUI环境并创建透明窗口   使用的环境:Visual Studio 2017,创建一个控制台程序作为工程文件 1.配置glfw 在github上下载GLFW https://github.com/glfw/glfw,github上的版本会比官网的高 解压后使用Visual Studio打开文件夹     选择生成32位项目  

【c++】从零开始的cs:go逆向分析1——寻找偏移与基址的方法_水风井-编程思维

【C++】从零开始的CS:GO逆向分析1——寻找偏移与基址的方法   前言:此文章主要用于提供方法与思路,fps游戏基本都能如此找偏移,文章里找的偏移比较少,主要用来演示寻找思路,文章的后记中会附一个大佬的github项目,项目会定期更新CS:GO游戏中常用的偏移值,写程序的时候使用大佬项目里的内容即可。本章需要CE基础,达到会改植物大战僵尸的阳光就可以了,全称采用CE搜基址,没有使用汇编分析。

跟羽夏学 ghidra ——调试_寂静的羽夏-编程思维

写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图。本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正。 如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作。如想转载,请把我的转载信息附在文章后面,并声明我的个人信息和本人博客地址即可,但必须事先通知我。 你如果是从中间插过来看的,请仔细阅读 跟羽夏学 Ghi

跟羽夏学 ghidra ——导航_寂静的羽夏-编程思维

写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图。本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正。 如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作。如想转载,请把我的转载信息附在文章后面,并声明我的个人信息和本人博客地址即可,但必须事先通知我。 你如果是从中间插过来看的,请仔细阅读 跟羽夏学 Ghi

跟羽夏学 ghidra ——引用_寂静的羽夏-编程思维

写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图。本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正。 如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作。如想转载,请把我的转载信息附在文章后面,并声明我的个人信息和本人博客地址即可,但必须事先通知我。 你如果是从中间插过来看的,请仔细阅读 跟羽夏学 Ghi

跟羽夏学 ghidra ——数据_寂静的羽夏-编程思维

写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图。本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正。 如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作。如想转载,请把我的转载信息附在文章后面,并声明我的个人信息和本人博客地址即可,但必须事先通知我。 你如果是从中间插过来看的,请仔细阅读 跟羽夏学 Ghi

跟羽夏学 ghidra ——窗口_寂静的羽夏-编程思维

写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图。本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正。 如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作。如想转载,请把我的转载信息附在文章后面,并声明我的个人信息和本人博客地址即可,但必须事先通知我。 你如果是从中间插过来看的,请仔细阅读 跟羽夏学 Ghi

跟羽夏学 ghidra ——初识_寂静的羽夏-编程思维

写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图。本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正。 如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作。如想转载,请把我的转载信息附在文章后面,并声明我的个人信息和本人博客地址即可,但必须事先通知我。 你如果是从中间插过来看的,请仔细阅读 跟羽夏学 Ghi

跟羽夏学 ghidra ——工具_寂静的羽夏-编程思维

写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图。本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正。 如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作。如想转载,请把我的转载信息附在文章后面,并声明我的个人信息和本人博客地址即可,但必须事先通知我。 你如果是从中间插过来看的,请仔细阅读 跟羽夏学 Ghi

逆向破解异或算法的注册码_亨利其实很坏-编程思维

前言 跟着NCK大牛的视频学到了求逆向算法的部分,对于我这种小白来说还是比较难的,涉及到了异或算法的逆向,由于对没使用过IDA软件,导致花了有些许时间去填IDA的坑 本篇文章记录逆向一个用异或算法来验证注册码的程序,那么首先要了解异或算法的原理及其逆运算 异或运算 原理 A xor B = C, 即A与B进行异或运算得到结果C, 设A的二进制为110, B的二进制为101, 计算得出C为011

php伪协议的妙用_合天网安实验室-编程思维

filter协议的简单利用: php://filter 是一种元封装器, 设计用于数据流打开时的筛选过滤应用。 这对于一体式(all-in-one)的文件函数非常有用,类似 readfile()、 file() 和 file_get_contents(), 在数据流内容读取之前没有机会应用其他过滤器。 resource=<要过滤的数据流>     这个参数是必须的。它指定了你要筛

逆向入门分析实战(一)_合天网安实验室-编程思维

本文作者:xiaoyuer 1.木马分析入门   大家好,我最近从Web安全开始学习二进制安全,分享一下自己学习过程的收获和心得体会。由于是入门的内容,所以对于二进制大佬来说这很简单,所以本文主要面向的对象主要是和我一样一直做Web安全,又想入门二进制安全的人。本次我学习的案例是木马和病毒常用的一个技术:确保只有一个病毒或者木马在系统中运行,即运行单一实例。对于病毒和木马而言,如果多次重复运行