ICode9

精准搜索请尝试: 精确搜索
  • IF多分支逆向分析2021-08-23 03:00:07

    IF多分支逆向分析 案例 CPP代码 #include "stdafx.h" int cnt; void Function(int x, int y) { if (x == 1) { cnt = 1; } else if (y == 1) { cnt = 1; } else { cnt = 0; } } int main(int argc, char* argv[]) { Function(2,3); return 0; } 反汇编代码 00401068

  • 逆向脱壳分析基础学习笔记九 C语言内联汇编和三种调用协定 裸函数2021-08-14 12:32:17

    本文为本人在 大神论坛 学习逆向破解脱壳学习笔记之一,为本人对以往所学的回顾和总结,可能会有谬误之处,欢迎大家指出。 陆续将不断有笔记放出,希望能对想要入门的萌新有所帮助,一起进步 C语言内联汇编和调用协定 前面我们通过分析反汇编分析了C语言,现在我们来探究如何在C语言里直接

  • 滴水逆向-switch语句反汇编分析2021-08-12 14:04:30

               switch语句相关练习代码 switch语句反汇编 正常switch语句在VC6++的编译器环境下,3个或者3个一下的条件,反汇编语句跟if else if ......没啥区别,也是一个一个比较,看下面例子 源代码 #include "stdafx.h" #include <string.h> void fun(int x) {

  • 最干货+新手向!最详细的一文上手函数栈帧的创建和销毁2021-08-07 20:02:10

    文章目录 前言引子:一、局部变量是如何创建的?二、为什么局部变量的值是随机值?三、函数是如何传参的?传参的顺序呢?四、形参与实参的关系?函数调用是如何实现的?五、函数调用后是如何返回的?总结 前言 提示:这里采用的是vs2013的编译器,越高级的编译器函数的栈帧越不容易观察与学

  • 逆向脱壳分析基础学习笔记八 反汇编分析C语言2021-08-07 11:34:50

    本文为本人在大神论坛破解脱壳学习笔记之一,为本人对以往所学的回顾和总结,可能会有谬误之处,欢迎大家指出。 陆续将不断有笔记放出,希望能对想要入门的萌新有所帮助,一起进步 反汇编分析C语言 环境:VC6.0 为什么不使用Visual Studio? Visual Studio的反汇编代码更复杂一些,如下为VS2019

  • 哈工大-操作系统-HitOSlab-李治军-实验4-基于内核栈切换的进程切换2021-08-01 22:04:32

    实验4-基于内核栈切换的进程切换 实验内容请查看蓝桥云课实验说明 一、实验内容 1.schedule 与 switch_to 目前 Linux 0.11 中工作的 schedule() 函数是首先找到下一个进程的数组位置 next,而这个 next 就是 GDT 中的 n,所以这个 next 是用来找到切换后目标 TSS 段的段描述符

  • CTF-二进制从入门到放弃(一)--汇编与概述2021-08-01 15:03:11

    1.文件信息判别 工具:peid、exeinfope DIE 判断运行系统:win/linux 运行位数(32/64) 保护(Pack/ASLR/Nx……) checksec --file= 2.汇编 (1)寄存器       X86 x64 作用 标准寄存器 eax rax 返回值 ebx ebx 计次 ecx rcx 计次 edx rdx

  • 逆向脱壳破解分析基础学习笔记七 堆栈图(重点)2021-08-01 11:03:20

    本文为本人 大神论坛 逆向破解脱壳学习笔记之一,为本人对以往所学的回顾和总结,可能会有谬误之处,欢迎大家指出。 陆续将不断有笔记放出,希望能对想要入门的萌新有所帮助,一起进步 堆栈图 首先给定一段反汇编代码,分析该段代码的堆栈的变化情况,并绘制出堆栈图 函数调用 00401168 |.

  • 滴水逆向-数据类型-C代码是怎么变成汇编2021-07-28 11:34:55

    通过调试发现,默认情况下写的C代码通过编译会自动变成汇编代码,但是如果写入下面裸函数代码则C代码不会变成汇编语言 // dstest1.cpp : Defines the entry point for the console application. // #include "stdafx.h" // 空函数 void Function() { } // 编写一个函数能够对

  • CrackMe302021-07-23 03:00:06

    定位问题一步步分析    先获取长度 接着循环输入密码长度        后面发现调用了2个一样函数 都是取一个字节 又是循环 大概就是  把输入字符串循环取出来 和 7d0 做算法 进去调用了widechartomultibyte    把unicode 转ascii  后面也是系统操作         让后

  • CPU的工作原理2021-07-16 18:31:08

    一、CPU的组成部分 1.1、计算机五大部件 ​​ ​ ​ ​ ​ ​ ​ ​ ​ ​ 说起计算机五大件,笔者想起在大学的时候,老师问我们计算机硬件的五大部件有什么,然后听到有同学回答说鼠标,键盘,显示器什么的,把老师逗乐了,说我们计算机系的还这么小白。其实也正常,谁不是从小白慢慢成为技术大

  • 【汇编语言与计算机系统结构笔记06】地址计算指令,lea / leal,x86-32与x86-64下的swap对比,汇编的格式对比(Intel/Microsoft Differs from GAS)2021-06-22 16:05:50

    本次笔记内容: 07.寻址模式与数据传输指令等-2 文章目录 变址寻址 寻址模式实例 总结mov指令 地址计算指令 lea 整数计算指令 将leal指令用于计算 实例1 实例2 x86-32与x86-64的数据类型宽度 x86-64的通用寄存器 x86-32与x86-64下的swap对比 小结:x86指令的特点 扩展:x86汇编的格

  • 【汇编语言与计算机系统结构笔记05】汇编的系统结构,从C代码生产汇编代码,一个具体的、经典的数据传送指令(mov)实例与分析2021-06-22 16:05:39

    本次笔记内容: 06.寻址模式与数据传输指令等 文章目录 汇编程序员眼中的系统结构 如何从C代码生产汇编代码 如何装gcc? 汇编语言数据格式 第一条汇编指令实例 数据传送指令(mov) 语法与操作数类型 不同的操作数类型组合 简单的寻址模式 间接寻址 基址+偏移量寻址 寻址模式使用实

  • c 语言中对字符串常量修改的错误原因解析2021-06-12 10:06:06

    对字符串常量进行修改 #include <stdio.h> int main() { char *a = "hello"; // 字符串常量 a[0] = 'w'; printf("%s\n", a); return 0; } 运行以上代码会出现如下错误: Segmentation fault,即段错误。 错误解析 将上述代码编译成汇编代码如下。从中可以看出

  • BUUCTF Reverse刷题笔记03——刮开有奖2021-06-11 13:31:01

    一、运行程序 二、拉入ExeinfoPe分析 三、拉入32位IDA分析 进入main函数,F5查看伪代码 int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { DialogBoxParamA(hInstance, (LPCSTR)0x67, 0, DialogFunc, 0); return

  • 汇编语言 子程序设计2021-05-23 18:58:54

    1.编写一个求n!的子程序,利用它求1!+2! +3! +4! +5! +6! +7! +8! 的和(=46233 )并输出。要求参数的传递分别采用:寄存器传递、全局变量传递,堆栈传递三种不同的方法实现。 代码 ; 寄存器传参 include io32.inc .data sum dword 0 .code start: main proc mov ebx, 1 .whil

  • 帧栈2021-05-22 23:34:07

    栈帧的简单介绍:         当某个函数运行时,机器需要分配一定的内存去进行函数内的各种操作,这个过程中分配的那部分栈称为栈帧。下图描述了栈帧的通用结构。栈帧是一段有界限的内存区间,由最顶端的两个指针界定,寄存器%ebp为帧指针,而寄存器%esp为栈指针(也就是说寄存器%ebp

  • buuctf pwn1_sctf_20162021-04-27 23:00:29

    checksec一下子,开了NX保护,栈不可执行,也就是说不能往栈上写东西。 拖进ida,看vuln()函数: 给s分配了0x3C空间的内存,但是只允许输入32个字节 但是“you”会把“I”替换掉,所以只要输入20个“I”,替换之后,输入的字符就变成了60个字节,就可以写到栈底从而把ebp覆盖掉,到达eip的地方。 2

  • C++ 底层分析 2.构造-析构,继承2021-04-27 22:02:04

    构造函数(初始) 与类同名没有返回值创建对象的时候执行主要用于初始化可以有好多个(最好有一个无参)编译器不要求必须提供 重载:函数名字一样 参数个数或者类型不一样 析构函数(清理) 只能有一个析构函数,不能重载不能带任何参数不能带返回值主要用于清理工作编译器不要求必须提供 如

  • 急性髓细胞白血病新进展:欧盟项目发现治疗急性髓细胞白血病新靶标2021-04-27 17:01:13

    奥地利维也纳兽医大学科研团队在欧盟资助的ONCOMECHAML和ARCH项目支持下,发现结合蛋白MSI2可作为急性髓细胞白血病(AML)的新治疗靶标。该发现发表在《白血病》杂志上。 现有研究已发现约10%-15%的AML患者编码C/EBPα转录因子的CEBPA基因存在突变。CEBPA突变的最常见类型导致C/EBPα的

  • PE可执行文件的镶入式程序后门开发2021-04-25 21:07:19

       PE可执行文件的镶入式程序后门开发      /*      利用异常结构处理搜索GetProcAddress入口地址  */   #include   #include   main()   {          _asm       {           call ex//取得当前地址以计算异常结构开

  • 《深入理解计算机系统》(CSAPP)实验三 —— Buf Lab2021-04-16 17:55:53

    这是CSAPP的第三个实验,主要让我们熟悉GDB的使用,理解程序栈帧的结构和缓冲区溢出的原理。实验目的  本实验的目的在于加深对IA-32函数调用规则和栈结构的具体理解。实验的主要内容是对一个可执行程序“bufbomb”实施一系列缓冲区溢出***(buffer overflow attacks),也就是设法通过造成

  • 反汇编分析C++代码2021-04-15 13:33:38

    编译环境:Windows 10 + VS2015 1、问题引入 在Win32环境下,CPU小端模式,参数用栈来传递,写出输出结果。 代码如下: int main() { long long a = 1; long long b = 2; long long c = 3; printf("%d%d%d", a, b, c);//输出结果102 return 0; } 反汇编代码如下:

  • 逆向2--函数的调用过程2021-04-11 13:34:46

      这个程序的源代码为调用一个加法函数,打印main用来定位主函数入口,目的是分析一个函数在调用的过程中汇编中的代码是怎么样的     打开反汇编,寻找到主函数;    call 调用一个函数的过程是:push eip 先保存当前的eip指令指针,然后jum到函数的地址   下面这里是按F7进入到函

  • BUUCTF reverse26-30 WP2021-04-07 17:58:13

    写脚本技术很菜,所以和其他wp相比看起来比较麻烦 笔记是按照当时的题目排序写的,顺序可能有出入 做题是从0开始做起,所以前面部分也会尽可能写的详细一点 只要能记录并且了解到怎么做即可,所以就没有去在意排版 遇到不会的函数尽可能去百度了解 题目:[SUCTF2019]SignIn、相册、[BJ

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有