自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(238)
  • 收藏
  • 关注

原创 XCTF-攻防世界CTF平台-Reverse逆向类——57、re5-packed-movement(linux32位ELF文件、movfuscator代码混淆)

目录标题方法一:搜索字节序列方法二:IDC脚本方法三:Python脚本:方法四:bgrep工具先查看文件信息:  是linux下的32位ELF文件,且被加了UPX的壳  下载最新版的UPX脱壳,UPX脱壳的Githup地址:https://github.com/upx/upx/releases/tag/v3.91  之后脱壳,指定加壳文件57,输出脱壳文件57moveupx -d 57 -o 57move赋执行权限运行程序:用IDA打开57move,找到字符串“Guess a flag

2021-10-24 00:39:10 1934 4

原创 《逆向工程核心原理》读书笔记——第15章 调试UPX压缩的notepad程序

第15章 调试UPX压缩的notepad程序15.1 notepad.exe的EP代码15.2 notepad_upx.exe的EP代码15.3 跟踪UPX文件15.3.1 OllyDbg的跟踪命令15.3.2 循环#115.3.3 循环#215.3.4 循环 #315.3.5 循环 #415.4 快速查找UPX OEP的方法15.4.1 在POPAD指令后的JMP指令处设置断点15.4.2 在栈中设置硬件断点  本章将调试UPX压缩的notepad_upx.exe程序, 进一步了解运行时压缩的相关概念。

2021-10-21 16:22:40 477

原创 linux下出现bash: ./demov: cannot execute binary file的问题

用root权限执行程序:依旧出现bash: ./demov: cannot execute binary file赋予可执行权限: chmod 4755 demov 之后查看程序已经有了可执行权限了:ls -l但是依然提示:不能作为二进制文件执行file demov查看程序信息:发现原来是64位的ELF文件,我的这个虚拟机是32位Ubutun换成64位的Linux操作系统即可执行该程序...

2021-10-20 23:46:59 1379

原创 《逆向工程核心原理》读书笔记——第14章 运行时压缩

第14章 运行时压缩14.3 运行时压缩测试比较notepad.exe 与notepad_upx.exe文件14.3 运行时压缩测试本节将以notepad.exe为例进行运行时压缩测试。提示本节示例使用的是Windows XP SP3中的notepad.exe程序。我使用的压缩器为UPX,它操作简单、功能强大,且完全免费,受到很多人的青睐。进入https://upx.sourceforge.net网站,下载“Win32 Console Version”版upx-3.96-win32.zip后在命

2021-10-13 19:56:13 210

原创 汇编语言——实验十二

实验3(1)特定赋值子过程,对字符串STR1全部置‘*’符。(2)拷贝子过程,参数包括方向: 如,1.从左到右把BUFF中的字符串传送到STR1。2.从右到左把BUFF中的字符串传送到STR1。(3)字符串比较子过程: 比较BUFF与STR1两个字符串是否相等,如相等则DX=1, 否则DX=0。(4)匹配算法子过程: 查找BUFF中有无字符,此外,把字符,此外,把字符,此外,把字符出现的次数计入 BX寄存器定义:BUFF DB ‘ABCDEFGHIJKEFGHIJKEFGHIJK’STR1

2021-10-11 22:38:57 1762

原创 汇编语言——实验十一

实验1数据段中的4个字符串,1 Hefei City2 Anhui University3 Computer Science4 Assembly Language Programming,设计一个子程序,以每个字符串地址作为参数,将其逐个显示出来。子程序的功能是显示一个字符串代码:data segment mess1 db 'hefei city $' mess2 db 'anhui university $' mess3 db 'computer scie.

2021-10-11 22:24:14 804

原创 汇编语言——实验十四

练习 2:6行对称排列的星号,数量递增1、3、5、7、9、11用汇编语言实现上述输出图形。代码:code segment assume cs:codestart: mov bx,1 mov cx,6aa: mov ax,cx push cx mov ax,bxbb: mov ah,2 mov dl,' ' int 21h loop.

2021-10-11 15:51:24 692

原创 汇编语言——实验十三

练习题1:从键盘输入一个英文字母,如果输入字母是大写,则显示输出其小写如果输入字母是小写,则显示输出其大写。画出流程图,并编写程序段。代码:code segment assume cs:codestart: mov ah,1 int 21h cmp al,41h jl exit cmp al,5ah jle print1 cmp al,61h jl.

2021-10-11 15:47:26 514

原创 汇编语言——实验十

算法实现1: 输入8个学生的个人信息,信息的数据结构是 NO.: Name: Score1: 成绩分别输入为: 98,45,23,78,90,75,68,66根据成绩的分数,从大到小输出每一个学生的所有个人信息代码:.model small ;堆栈段名 stack,默认大小 1024 字节,这里是 200h 字节.data ;数据段名_datastudent struc ;学生的数据结构,32 字节,2^5,便于计算地址 xname db 14 dup('$'.

2021-10-09 21:32:20 559

原创 汇编语言——实验九

算法实现3:显示输出乘法口诀表代码:data segment a db 1 b db ?data endscode segment assume cs:code,ds:datastart: mov ax,data mov ds,axt1: mov al,a mov cl,al mov b,1t2: mov ah,2 add b,30h mov dl,b int 21h.

2021-10-09 20:31:35 396

原创 汇编语言——实验八

算法实现2:例7.3 根据键盘输入的一位数字(1~4),使程序转移到4个不同的分支中去,以显示键盘输入的数字。 更改,需要根据四个地址,分别对应一个显示字符 1 显示 ahu ; 2 显示 CS ;3 显示 MASM ;4 显示 Hello World代码:data segment mess1 db 'ahu $' mess2 db 'CS $' mess3 db 'MASM $' mess4 db 'Hello World $'data endsco.

2021-10-09 20:27:39 477

原创 汇编语言——实验七

算法实现1:从键盘输入一位十六进制数,并将其转换为十进制数输出显示。 注意数据区的定义和使用,存储自己所使用的数据以及如何存储访问代码:code segment assume cs:codestart: mov ah,1 int 21h cmp al,30h jl exit cmp al,39h jle dig cmp al,41h jl exit cmp al,46h jle prin.

2021-10-09 17:05:44 653

原创 汇编语言——实验六

题目6、字符串匹配算法 原码= “I am an ahuer in China!” 匹配串= “ahuer” 输出Y或N代码:data segment mess1 db 'I am an ahuer in China! $ ' mess2 db 'ahuer $'data endscode segment assume cs:code,ds:datastart: mov ax,data mov ds,ax mov es,.

2021-10-09 15:39:53 195

原创 汇编语言——实验五

题目5、(1)找出10个数(8位数)里的正数个数 (数据自己定义)代码: data segment array db 1,2,-3,-4,-5,6,-7,-8,9,-10data endscode segment assume cs:code,ds:datastart: mov ax,data mov ds,ax sub bx,bx lea si,array mov c.

2021-10-09 15:37:48 765

原创 汇编语言——实验四

题目4、用键盘分别输入3位十进制数和1位十进制数,相乘之,并输出结果。编写程序,要求在屏幕上显示如下:Input 3 bits Decimal Number is:Input 1 bits Decimal Number is:Result is:代码:data segment mess1 db 'Input 3 bits Decimal Number is:$' mess2 db 'Input 1 bits Decimal Number is:$' .

2021-10-09 15:34:40 339

原创 汇编语言——实验三

题目3、设BUF DW 123,0,-100,-50,+300以十进制形式依次输出BUF中的各个数。(对于负数,要输出负号)代码:data segment buf dw 123,0,-100,-50,+300 num db 0ah mess1 db ',$' mess2 db '-$'data endsstack segmentstack endscode segment assume cs:code,ds.

2021-10-09 15:31:54 231

原创 汇编语言——实验二

题目2、内容:Data 开始的存储单元中存放两位十六进制数值,两个数做相加后存入到SUM 存储 单元中Data DB D1,D2SUM DW ?代码:data segment d1 db 12h d2 db 34h sum dw ?data endscode segment assume cs:code,ds:datastart: mov ax,data mov ds,ax mov al,d1 add al,d2 c

2021-10-09 15:17:49 850

原创 汇编语言——实验一

题目1、数据块传送(1)将数据段中3000H单元开始存放的10个 数(8位数)传送到4200H开始的10个字节中。代码:data segment org 3000h data1 db 1,2,3,4,5,6,7,8,9,10 org 4200h data2 db 10 dup(0)data endsstack segmentstack endscode segment assume cs:code,ds:data

2021-10-09 15:14:45 2461 3

原创 《逆向工程核心原理》读书笔记——第13章 PE文件格式

第13章 PE文件格式13.1 介绍13.2、PE文件格式13.2.1基本结构13.2.2 VA&RVA13.3 PE头13.3.1 DOS头13.3.2 DOS存根13.3.3 NT头13.3.4 NT头中的文件头1.Machine2.NumberOfSections3.SizeOfOptionalHeader4.Characteristics13.3.5 NT头中的可选头1.Magic2.AddressOfEntryPoint3.ImageBase4.SectionAlignment, File

2021-09-29 22:15:04 1265

原创 数据库实验五——数据更新

这里写目录标题一级目录实验内容(1)实验内容(2)一级目录实验报告【实验名称】 实验5 数据更新 【实验目的】(1)熟练掌握使用交互式方式编辑表中的数据。(2)能够运用T-SQL语句对表中的数据进行插入、修改和删除操作。【实验原理】(1)插入数据语句INSERT(2)修改数据语句UPDATE(3)删除数据语句DELETE【实验内容】实验内容(1)针对教材中的学生_课程数据库,进行数据更新(有些删除需要分步进行):1.将选修了3号课程的学生的成绩加5分 ;UPD

2021-09-28 20:03:25 4119

原创 数据库实验三——连接查询

数据库实验三实验内容(1)实验内容(2)【实验名称】 实验3 连接查询 【实验目的】(1)熟悉基本的连接操作(2)掌握内连接与外连接的方法(3)学会应用自身连接(4)掌握多表连接【实验原理】查询语句SELECT【实验内容】实验内容(1)针对教材中的学生_课程数据库,进行各种连接查询1.查询“李勇”同学的选课情况(结果含课程号、成绩)2.查询“信息系统”课程的选课情况(结果含学号、成绩)3.查询“数学”课程的平均分4.查询“李勇”同学的平均分5.查询“

2021-09-28 16:18:12 3782

原创 数据库实验一——数据定义

这里写目录标题一级目录实验内容(一)实验内容(二)实验内容(三)实验内容(四)一级目录【实验名称】 实验一 数据定义 【实验目的】(1)掌握运用交互式方式和SQL语句创建、修改、删除数据库的方法。(2)掌握使用交互式方式和SQL语句创建、修改、删除基本表的方法。(3)理解索引的概念和索引的作用。(4)掌握创建、删除索引的方法。【实验原理】(1)使用交互式方式创建、修改、删除数据库和基本表的方法(2)创建数据库语句CREATE DATABASE(3)修改数据库语句ALTER

2021-09-28 10:48:17 2320

原创 XCTF-攻防世界CTF平台-Reverse逆向类——53、easyCpp(Linux64位ELF文件、C++逆向)

下载附件easyCpp,先查看文件信息:是Linux下的64位ELF文件,运行程序:是一个输入字符串然后判断是否正确的程序,错误就输入“You failed!”之后用IDA64打开:main函数源代码及注释:int __cdecl main(int argc, const char **argv, const char **envp){ char v3; // r15 __int64 v4; // r12 __int64 v5; // rbx __int64 v6; //

2021-09-25 18:05:50 1029

原创 《逆向工程核心原理》读书笔记——第7章 栈帧

第7章 栈帧7.1栈帧7.2调试示例:stackframe.exe7.2.1 StackFrame.cpp7.2.2开始执行main()函数&生成栈帧7.2.3 设置局部变量7.2.4 add()函数参数传递与调用7.2.5 开始执行add()函数&生成栈帧7.2.6设置 add()函数的局部变量(x, y)7.2.7 ADD 运算7.2.8删除 函数add()的栈帧&函数执行完毕(返回)7.2.9从栈中删除函数add()的参数(整理栈)7.2.10调用printf()函数7.2.1

2021-09-20 12:59:27 761 1

原创 《逆向工程核心原理》读书笔记——第10章 函数调用约定

第10章10.1函数调用约定10.1.1 cdecl10.1.2 stdcall10.1.3 fastcall其他几种类型:本章学习函数调用约定( Calling Convention)的相关知识。10.1函数调用约定  Calling Convention译成中文是“函数调用约定”,它是对函数调用时如何传递参数的一种约定。我们通过前面的学习已经知道,调用函数前要先把参数压入栈然后再传递给函数。栈就是定义在进程中的一段内存空间,向下(低地址方向)扩展,且其大小被记录在PE头中。也就是说,进程运行时确定

2021-09-18 14:10:56 204

原创 《逆向工程核心原理》读书笔记——第8章 Visual Basic编写的exe程序特征

第8章8.1运行abex'crackme #28.2 Visual Basic文件的特征8.2.1 VB专用引擎8.2.2 本地代码和伪代码8.2.3 事件处理程序8.2.4 未文档化的结构体8.3开始调试8.3.1 间接调用8.3.2 RT_MainStruct结构体8.3.3 ThunRTMain()函数  本章分析第二个crackme文件abex’crackme #2,它使用Visual Basic语言编写,你会感受到与使用Visual C++或Assembly编写的文件相比具有不同的形态。  3

2021-09-17 10:36:52 589

原创 《逆向工程核心原理》读书笔记——第6章 汇编编写的exe程序入口

第6章一级目录6.1abex' crackme #16.1.1 开始调试6.3 将参数压入栈一级目录6.1abex’ crackme #1  调试前先运行abex’crackme #1这个程序,大致了解一下它。如图6-1所示,双击运行程序后弹出一个消息窗口,显示“Make me think your HD is a CD-Rom"消息。我刚开始并不理解这句英文。图6-1运行程序  消息的最后部分出现了“CD-Rom”这个词,我们只能根据它大致推测出前面的HD为HDD(Hard Disk Dri

2021-09-15 16:58:26 385

原创 《逆向工程核心原理》读书笔记——第5章 栈

第5章 栈一级目录5.1 栈5.1.1 栈的特征5.1.2栈操作示例一级目录5.1 栈栈内存在进程中的作用如下:  (1)暂时保存函数内的局部变量。  (2)调用函数时传递参数。  (3)保存函数返回后的地址。  栈其实是一种数据结构,它按照FILO (First In Last Out,后进先出)的原则存储数据。后面会通过一个示例向大家证明这一点。5.1.1 栈的特征栈内存的结构一般如图5-1所示,下面简单讲解一下。  一个进程中,栈顶指针(ESP)初始状态指向栈底端。执行PUSH命

2021-09-15 11:08:17 211

原创 《逆向工程核心原理》读书笔记——第4章 IA-32寄存器基本讲解

第4章 IA-32寄存器基本讲解4.IA-32寄存器1.通用寄存器2.段寄存器3.程序状态与控制寄存器4.指令指针寄存器4.IA-32寄存器  IA-32是英特尔推出的32位元架构,属于复杂的指令集架构,并且支持多种寄存器。下面列出了IA-32支持的寄存器类型。  以上寄存器列表中,我们先要学习基本程序运行寄存器的相关内容,这是程序调试中最常见的寄存器,是学习程序调试初级技术必须掌握的内容。后面学习中、高级程序调试技术时,我们将继续学习有关控制寄存器(Control registers )、内存管理

2021-09-13 16:02:56 907

原创 XCTF-攻防世界CTF平台-Crypto类——4、flag_in_your_hand1(前端输入加密)

下载文件之后,发现是一道前端的题目:有一个index.html文件和一个script-min.js文件:运行html文件:要求输入一个Token,然后点Get flag!按钮:代码逻辑就是输入一个字符串,然后经过计算对比得到正确的flag我们先查看源代码:<html> <head> <title>Flag in your Hand</title> <style type="text/css"> body {

2021-09-12 14:22:34 1325

原创 XCTF-攻防世界CTF平台-Reverse逆向类——65、reverse-box(Linux32位ELF文件、gdb脚本调试)

这里写目录标题1、查看程序信息2、main函数3、sub_804858D()函数:4、程序逻辑5、方法一:gdb脚本获得内存中的数组6、gdb脚本分析:7、将输出转换会输入的flag8、C语言复现程序得到数组挑战描述$ ./reverse_box ${FLAG}95eeaf95ef94234999582f722f492f72b19a7aaf72e6e776b57aee722fe77ab5ad9aaeb156729676ae7a236d99b1df4aflag格式:TWCTF{}1、查看程序信息先

2021-09-11 21:12:46 1423 2

原创 Pwntools使用介绍

  Pwntools 是一个 CTF 框架和漏洞利用开发库。它用 Python 编写,专为快速原型设计和开发而设计,旨在使漏洞利用编写尽可能简单。  Pwntools 分为两个模块,一个是 pwn,简单地使用 from pwn import * 即可将所有子模块和一些常用的系统库导入到当前命名空间中,是专门针对 CTF 比赛的;而另一个模块是 pwnlib,它更推荐你仅仅导入需要的子模块,常用于基于 pwntools 的开发。pwn下面是 pwn 的一些常用命令行工具:pwn asm 和 disas

2021-09-08 22:38:57 1273

原创 XCTF-攻防世界CTF平台-Reverse逆向类——59、mfc逆向-200(MFC编程逆向)

先查看程序信息:Windows 32 位GUI程序,符合题目中MFC编程的程序,被加了VMProtect。运行程序:用xspy查看程序控件信息:获得程序窗口句柄:00170E52类名:944c8d100f82f0c18b682f63e4dbaa207a2f1e72581c2f1b再观察程序的消息处理函数:接受到以下消息:WM_SYSCOMMAND(0x112,274):当用户选择窗口菜单的一条命令或当用户选择最大化或最小化时那个窗口会收到此消息;WM_PAINT(0xf,15):

2021-09-08 14:32:34 760

原创 XCTF-攻防世界CTF平台-Reverse逆向类——52、handcrafted-pyc(Python的pyc文件逆向)

下载题目附件之后,查看附件52:发现它就是一个Python代码文件#!/usr/bin/env python# -*- coding: utf-8 -*-import marshal, zlib, base64exec(marshal.loads(zlib.decompress(base64.b64decode('eJyNVktv00AQXm/eL0igiaFA01IO4cIVCUGFBBJwqRAckLhEIQmtRfPwI0QIeio/hRO/hJ/CiStH2M/prj07diGRP

2021-09-07 10:48:51 1513 1

原创 XCTF-攻防世界CTF平台-Web类——3、php_rce(ThinkPHP V5.0框架远程代码执行漏洞)

先访问题目场景:主页提示我们:网页使用的是ThinkPHP框架,版本为5.0这道题主要是考察:ThinkPHP官方2018年12月9日发布重要的安全更新,修复了一个严重的远程代码执行漏洞。该更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的getshell漏洞,受影响的版本包括5.0和5.1版本。攻击的exp是:http://111.200.241.244:61059/index.php?s=index/\think\app/invokefuncti

2021-09-03 11:10:19 978

原创 C语言printf函数输出格式%x和%p的差别

%p输出sizeof(void*)大小的数据%x输出sizeof(unsigned int)大小的数据请不要使用 %x 作为指针我经常看到这样的代码:printf(“foo 的地址:%x\n”, &foo);这里的目的是以十六进制格式打印地址。好计划; 糟糕的执行。首先,这是一个可能的输出:foo 的地址:123456这是十进制 (%u)、十六进制 (%x) 还是八进制 (%o)?我无法从输出中分辨出来;据我所知,写那行的人是一个真正的新手,使用了 %i 或 %d。(对于非常高的地

2021-09-02 20:46:45 4611

原创 XCTF-攻防世界CTF平台-Web类——1、baby_web(HTTP响应)

打开题目,提示想想初始页面是哪个:打开题目场景:这个的主要思路是访问初始页面http://111.200.241.244:52996/index.php:Flag就在返回的响应数据包中的FLAG字段:flag{very_baby_web}抓包也同样能找到flaghttp://111.200.241.244:52996/1.phphttp://111.200.241.244:52996/index.php...

2021-09-01 20:00:10 342

原创 XCTF-攻防世界CTF平台-Web类——2、Training-WWW-Robots(目录泄露)

这是一道文件目录泄露的题目先访问题目场景:在这个小的训练挑战中,你将学习机器人排除标准。 robots.txt文件被网络爬虫用来检查他们是否被允许抓取和索引你的网站或只是部分网站。有时这些文件显示目录结构,而不是保护内容不被抓取。享受吧!它告诉搜索引擎(爬虫)可以访问站内的那些内容不能访问那些内容,但是它只是一个说明上的不允许,并不是技术上的不允许。接着我们访问robots.txt文件查看它的协议内容:http://111.200.241.244:51837/robots.txt意

2021-09-01 10:24:55 5319

原创 pip出现Fatal error in launcher: Unable to create process using ‘“d:\python 3.6.0-64\python.exe“的问题

新电脑同时安装了Python2和Python3当pip.exe出现Fatal error in launcher: Unable to create process using '"d:\python 3.6.0-64\python.exe"的问题这是因为pip.exe中内置的python.exe安装路径和实际的安装路径不一样了只需要把pip.exe重新安装或者修复一下就可以了python -m pip install --upgrade pip...

2021-08-30 20:38:06 477

原创 第十七章-序列号生成算法分析-Part2

接下来我们分析Canasta 5.0这个CrackMe。Delphi是使用Pascal语言该CrackMe属于那种OK按钮开始不可用,当用户输入的用户名与序列号相匹配的时候才可以单击的例子。我们首先安装程序,然后用OD打开canasta.exe,程序停在:之后运行程序,打开About对话框,之后单击Enter License按钮:提示说只有当用户输入的用户名和序列号组合正确时,OK按钮才会变为可用。这样我们就没办法通过在GetDlgItemTextA等获取用户输入的文本的函数下断点的方式,找

2021-08-29 10:56:47 423

编程实现DES的工作模式,DES.zip

1. 掌握DES算法的工作原理; 2. 熟悉分组加密算法的工作模式。 DES算法,电码本模式(ECB)、密码分组链接模式(CBC),并输出其每一轮的加密结果并显示在屏幕上。

2021-02-23

calculator.zip

JavaGUI编程实现的计算器,代码描述文章地址:https://blog.csdn.net/Onlyone_1314/article/details/110929205。代码分成四个文件,分别负责实现了不同的部分的功能: **MyJFrame.java** /*实现计算器的界面框架*/ **Counter.java** /** *实现计算按钮不同的计算功能 */ **MyLabel.java** /** *显示计算器按钮运算更新后的文本 */ **Test.java** /** *运行计算器 */

2021-02-07

阿里巴巴java开发手册及插件

首先当我第一次看见这个的手册的时候或许和和你们是一样激动的,因为在java行业内我还没有看见有中文的规范,也可能是我读书少。总之,这是我见到的第一个中文的java规范。 首先还是要感谢阿里能给出这样一个规范,万事还是要怀有感恩的嘛,毕竟也是别人努力的结果。 首先没有规矩不成方圆,我觉得有了规矩,才能让大家的代码可读性和鲁棒性上面有所提高。而且规矩这东西是慢慢形成的,如果之后行业内的规范越来越相同的话那么互相交流也变的方便了不少。 然后要说明的是,规矩也是人定的,所以,不同的公司肯定有不同的代码规范,至少我所在的公司内部也渐渐的形成了自己的规范,我想说的是,并非我们一定要每一条都参考上面的手册(也并非不可以),有些还是要看具体情况的,但是至少阿里的实力摆在那里,所以有的规矩有它存在的道理。 其实我们要做的就是学习其中我们所不知道的,改掉我们那些坏习惯,保留我们的好习惯,那么这个手册的价值就大大的了,不是吗? 废话了这么多,我知道肯定也没有人会看的,下面赶紧上货,我会分章节总结手册中我认为重要和解释有些不太明确的地方,没有列举的,并非不重要,而是觉得手册已经写的很棒,我没啥好说的了。

2019-03-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除