摘要:
Input your lucky number 要求输入一个数字。 程序有ASLR,可以去掉便于分析。 F5 关键函数401100,传了0x61、0x401013、我们输入的值 反汇编时看到用到了XMM0、XMM1寄存器,用WinDBG调试。 我输的是189,16进制是0xBD。 从上面可以看出,4 阅读全文
摘要:
accept 用来监听入站网络连接,这个函数预示着程序会在一个套接字上监听入站网络连接。 AdjustTokenPrivileges 用来启用或禁用特定的访问权限。执行进程注入的恶意代码会经常调用这个函数 ,来取得额外的权限。 AttachThreadInput 将一个线程处理的输入附加到另一个线程 阅读全文
摘要:
一、RSA 题目给出flag1.enc、flag2.enc、pubkey1.pem、pubkey1.pem四个文件 使用以下指令提取pem文件中的n和e rsa -pubin -text -modulus -in pubkey1.pem rsa -pubin -text -modulus -in p 阅读全文
摘要:
创建主机网络模式: 主机模式(Host-only)网络,可以在宿主操作系统和客户操作系统之间创建一个隔离的私有局域网,在进行恶意代码分析时,这是通常采用的联网方式。主机模式的局域网并不会连接到互联网,这意味着恶意代码会被包含在虚拟机里,同时也允许某些网络连接。 自定义配置: 让两个虚拟机相互连接。一 阅读全文
摘要:
题目:http://uaf.io/exploitation/2017/03/19/0ctf-Quals-2017-BabyHeap2017.html 0x00:运行程序 0x01:IDA分析 1、Allocate函数: 这个函数通过calloc可以申请大小0x1000以内的内存。 看得出每次在最后会 阅读全文
摘要:
0x0: 在linux里跑一下 要求输入用户名 密码 0x1: 拖进IDA 查看关键字符串,找到关键函数F5查看伪代码。 0x2:400C9A函数 跑出结果 字符串长度若为12 或 8 符合00400C9A函数的校验。(8要舍去) 0x3:400CDD函数 三元二次方程 x - y + z = 0x 阅读全文
摘要:
栈帧就是利用EBP(栈帧指针,注意不是ESP)寄存器访问栈内局部变量、参数、函数返回地址等的手段。 调用某函数时,先要把用作基准点(函数起始地址)的ESP值保存到EBP中,并维持在函数内部。 这样无论ESP的值如何变化,以EBP的值作为基准(base)能够安全访问到相关函数的局部变量、参数、返回地址 阅读全文
摘要:
题目地址:http://www.shiyanbar.com/ctf/2020 拖到IDA里进行反汇编查看伪代码 循环结束后,建立了一个链表。一共十个元素。 qword_601080里的值是个地址,该地址指向链表第一个元素。 链表的每一个数据域的前一个双字里是序号(从0Ah一直到01h)后一个双字存放 阅读全文
摘要:
0x1: 调试前运行此程序 单击确定 单击确定 程序退出 0x2: 开始调试,使用OD载入该程序 EP代码非常短,这是因为abex'crackme程序是使用汇编语言编写出来的可执行文件。 使用VC++ VC Delphi等开发工具编写程序时,除了自己编写的代码外,还有一部分启动函数是由编译器添加的, 阅读全文