XCTF 攻防世界 Reverse新手题(no-strings-attached)-爱代码爱编程
XCTF 攻防世界 Reverse新手题(no-strings-attached) 和之前的题目一样,先用exeinfoPE查看一下文件有没有被加壳,发现并没有加壳,并且是一个32位的elf文件 接下来,直接用IDA32打开即可,先找main函数,F5反编译查看源代码: int __cdecl main(int argc, const char **a
代码编织梦想
XCTF 攻防世界 Reverse新手题(no-strings-attached) 和之前的题目一样,先用exeinfoPE查看一下文件有没有被加壳,发现并没有加壳,并且是一个32位的elf文件 接下来,直接用IDA32打开即可,先找main函数,F5反编译查看源代码: int __cdecl main(int argc, const char **a
XCTF 攻防世界 Reverse新手题(logmein) 首先,先用exeinfoPE查看程序有无加壳,得知无壳,并且是一个elf文件,即linux下的文件 利用linux的file命令来查看文件,发现是一个64位的程序 接下来,直接用IDA64打开分析,找到main函数,进行反编译: void __fastcall __noreturn main(
XCTF 攻防世界 Reverse新手题(open-source) 这道题主要是分析代码,因为源代码已经直接给出了: #include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { if (argc != 4) { print
XCTF 攻防世界 Reverse新手题(Hello,CTF) 首先,先利用exeinfoPE看一个附件的exe程序是多少位的,有没有加壳。 发现程序是32位的,没有加壳 之后便可以用IDA32打开 和之前几道题的思路一样,首先还是查看main函数,将main函数进行反编译,查看源代码分析: int __cdecl main(int argc, con
详解格式化字符串漏洞利用 最近看了很多格式化字符串漏洞利用的文章,发现写得都差那么点意思,所以决定自己写一篇,结合实例,好好地把这个知识点捋一捋。 1、漏洞产生原理 对于一般的函数而言,应该按照cdecl (C Declaration) 函数调用规定把函数的参数从右到左依次压栈,**但是printf并不是一般的函数,它是C语言中少有的支持可变
XCTF 攻防世界 Reverse新手题(game) 这道题目按照一般IDA静态分析的思路走,应该不难做出来 首先,找到main函数,F5反编译一下 发现main_0()函数,进入此函数,反编译一下 对main_0()的代码进行分析,可以看到最后一部分的if段,当8个值都为1时,调用sub_457AB4()函数,代码如下: if ( byte_532E
XCTF 攻防世界 Reverse 新手题(re1) re1 首先,可以看到附件是一个exe程序,可以先执行一下看看(一般CTF的题目是不会有什么病毒的,如果有杀毒软件显示有木马的话,允许执行就可以了,因为目前大部分exe文件的特征码都很容易被识别)。执行完之后,若是没发现什么有用的信息,可以尝试用IDA(32)打开 F5键进行反编译找到main函数的
XCTF 攻防世界 Reverse新手题(insanity, python-trade) 1. insanity 这一题十分的简单,将下载下来的附件直接用IDA打开,查看Hey-View,在最右侧一栏进行查找,大概在后半部分,可以直接看到flag 2. python-trade 首先,这个题目没有用到IDA,因为看到下载的附件是.pyc后缀的,是p
从今天开始,大旗子也要开始写博客了。记录一下自己的学习轨迹,也希望分享的内容能够帮到别人,不正确的部分欢迎指正。 mov eax,ebx 将寄存器ebx的内容放到寄存器eax 一般的反汇编引擎(OD)都是以十六进制表示二进制的 数据寄存器:保存操作数,计算结果 有以下四种: EAX:累加寄存器,也称之为累加器 EBX:基地址寄存器
linklab实验记录 实验题目及材料:https://github.com/qmj0923/NJU-ICS-linklab 实验环境:debian-10.5.0-i386-netinst虚拟机 参考书目: 1.《计算机系统基础(第2版)》(袁春风、余子濠 编著)第4章 2.《深入理解计算机系统(原书第3版)》第7章 网络课程参考:中国
c语言 调用约定(32位) 裸函数 void __declspec(naked) Function() { __asm ret } 无参数无返回值的结构框架 void __declspec(naked) Function() { __asm push ebp mov ebp,esp sub e
大多数情况下,通过诸如javap等反编译工具来查看源码的字节码已经能够满足我们的日常需求,但是不排除在有些特定场景下,我们需要通过反汇编来查看相应的汇编指令。本文我们就来介绍两个很好用的工具——HSDIS、JITWatch HSDIS HSDIS(HotSpot disassembler),一个Sun官方推荐的HotSpot虚拟机JIT编
x86寄存器体系 汇编基础 ; EAX EBX ECX EDX - 通用寄存器 ; ESP - 堆栈指针,指向当前栈帧的栈顶(底地址) ; EBP - 基指针,指向当前栈帧的栈底(高地址) ; EIP - 指令指针,指向CPU要执行的下一条指令的地址 ; 标志寄存器 ; ZF - 零标志,当一个操作的结果为0时,设置为1 ; CF - 进位标志,当
section描述 section是nasm汇编编译器的关键字。首先nasm可以理解以汇编编译器程序,主要进行汇编语言的编译,也就是生成机器码。section成为节,主要是为了对程序进行模块化的划分,是汇编程序的结构更加的清晰。section的几个参数我们要着重了解一下。 section参数 section sec_name align=十进制对齐长
因家人住院到医院陪护,仅以此文记录此刻乱七八糟,无以复加的心情。 11月初的时候,我妈给我发了一份她的MR诊断报告,显示腰椎锥体向前一度滑脱,医生建议手术。我在网络上搜索了关于这个手术的相关信息,一般来说,根据手术的难度,风险级别的高低分为1到4级,腰椎滑脱手术就属于4级手术,也就是我们平时所认为的大手术。 大概在十年前,我也曾做过手术
6.常用汇编指令的认识 软件破解常用汇编指令 cmp a,b // 比较a与b mov a,b // 把b值送给a值,使a=b ret // 返回主程序 nop // 无作用 call /
描述 CTF做题时会遇见MIPS汇编的题目,而我们接触的是8086汇编,IDA是不能反汇编的需要自己了解一些MIPS方面的知识;1. List 1 在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。 1. List 1.5 8086 CPU
@[TOC]汇编笔记:jcc:修改eip eip寄存器 eip寄存器内存储一个地址,这个地址决定cpu下一步要执行的代码 断点 断点功能:让cpu逐条执行指令,便于调试 修改eip内地址的指令:jmp jmp指令 jmp 地址 注:①jmp与跳转无关,jmp只修改eip的值(存入jmp的地址),cpu根据eip的值进行跳转 ②jmp指令不对
1、压缩壳原理 所有的文件在存储中都是以0和1的形式存在的。 比如说一个文件的字节内容是“111111100000000000000000000000000000000000000000000000001111”,你要完全写出来的话,会很长很长, 但如果你用“1{7}0{49}1{4}”来描述它(当然这只是为方便说明这样写,并不是真的是一种压缩算法)
靶机地址:https://www.vulnhub.com/entry/tr0ll-2,107/ 靶机难度:中级(CTF) 靶机描述:Tr0ll系列VM中的下一台计算机,这比原始的Tr0ll难度有所提高,但是解决所需的时间大致相同,并且毫无疑问,巨魔仍然存在! 难度是从初学者到中级。 目标:得到root权限&找到proof.txt 作者:嗯嗯呐