南邮CTF——逆向

逆向工程核心原理——代码注入 什么是代码注入? 代码注入是一种向目标进程插入独立运行代码并使之运行的技术,它一般调用CreateRemoteThread()API以远程线程形式运行插入的代码,所以也被称为线程注入。 使用代码注入的原因 其实,代码注入要实现的功能与DLL注入类似,但具体实施时要考虑的事项更多,使用起来 更加不便。那它的优点究竟是什么呢? 1.占用内存少 如果要注入的代码与数据较少,那么就不需要将它们做成DLL的形式再注入。此时直接采用 代码注入的方式同样能够获得与DLL注入相同的效果,且占用... 阅读详情

第一题:Hello,RE!

所以:这道题的flag是flag{Welcome_To_RE_World!}

 

 第二题:ReadAsm2

一篇写的很好的博客:https://blog.youkuaiyun.com/xiangshangbashaonian/article/details/78881498

 

第三题:Py交易

使用pyc反编译工具:https://tool.lu/pyc/ 得到py源码。

在notepad++上编写py逆向代码

import base64
correct = 'XlNkVmtUI1MgXWBZXCFeKY+AaXNt'
s=base64.b64decode(correct)                 #Base64解密
print(s)
b=''
for i in range(len(s)):                      
   x=(ord(s[i])-16)^32                      #将代码倒过来写
   b+=chr(x)
print(b)

运行得:nctf{d3c0mpil1n9_PyC}

 只有Python3的好像运行不了。

 

第四题:WxyVM

用IDA打开 ,main()函数,sub_4005B6() 改变了输入的flag

进入sub_4005B6()

(回到Main()函数)之后,改变了的604B80(flag),又与601060处的比较,如果相等则为正确。

所以,入手点就是 601060处的数据 和 6010C0处的数据 。

解题思路:把 sub_4005B6() 逆向编程,代入 601060 和 6010C0 处数据 编译后 输出。。。

分析程序,发现需要14997Byte的数据(只玩过几行程序的我 惊讶。。。),于是博客一波,Get到 IDC编程 (IDA里的内置脚本语言),可以直接访问地址。

IDC编程推荐博客 —— http://www.cnblogs.com/gwind/p/8250842.html

Shift+F2 打开IDC脚本编译框。 

附:ZSky-T  这位的源码 和 flag:nctf{Embr4ce_Vm_j0in_R3}

#include <idc.idc>
static main()
{
	auto v0,result,i,v3;
	auto addr_fuzhu = 0X6010C0;
	for(i = 14997; i >= 0 ; i -= 3)
	{
		v0 = Byte(addr_fuzhu + i);
		v3 = Byte(addr_fuzhu + i + 2);
		result = v0;
		
		if(v0 == 1)
		{
			result = Byte(addr_fuzhu + i +1);
			PatchByte(0X601060 + result*4 ,(Byte(0X601060 + result*4) - v3));
		}
		if(v0 == 2)
		{
			result = Byte(addr_fuzhu + i + 1);
	        PatchByte(0X601060 + result*4 , (Byte(0X601060 + result*4) + v3));
		}
		if(v0 == 3)
		{
			result = Byte(addr_fuzhu + i + 1);
			PatchByte(0X601060 + result*4, (Byte(0X601060 + result*4) ^ v3));
		}
		if(v0 == 4)
		{
			result = Byte(addr_fuzhu + i + 1);
			PatchByte(0X601060 + result*4, (Byte(0X601060 + result*4) / v3));
		}
		if(v0 == 5)
		{
			result = Byte(addr_fuzhu + i + 1);
			PatchByte(0X601060 + result*4, (Byte(0X601060 + result*4) ^ Byte(0X601060 + 4*v3)));
		}
	}
	for(i=0 ; i<24 ; i++)
	{
		Message("%c",Byte(0X601060 + i * 4));
	}
}

另一种解法:https://blog.youkuaiyun.com/tu_siji/article/details/80220307  把数据提取出来存放在文件里,再写代码

 

第五题:maze

 

 

第六题:WxyVM2

 

[Re]南邮ctf平台逆向题 继续学习,这次尝试做了一下南邮ctf平台的逆向题来练习 目录 第一题 HELLO,RE! 第二题 ReadAsm2 第三题 Py交易 第四题 WxyVM 第五题 maze 第六题 WxyVM 2   第一题 HELLO,RE! 打开ida,找到main函数按F5,hexray反编译 就在眼前 flag{Welcome_To_RE_World!} 第二题 ReadAs... 阅读详情

相关推荐

不用Root!这些隐藏代码能一键开启安卓诊断端口(小米/OPPO/魅族机型实测)

本文提供了一份无需Root权限即可开启安卓手机诊断端口的实用指南。通过拨号盘输入特定隐藏代码,小米、OPPO、魅族等机型的用户可以一键激活此工程模式,从而连接电脑进行基带数据备份(如QCN文件)或故障排查。文章详细列出了各品牌指令、操作验证步骤,并强调了备份IMEI等关键数据的重要性与操作风险,旨在帮助用户在紧急情况下修复网络问题。

weixin_29260291的博客 273

中职网络安全比赛逆向入门教程(3)//xor亦或

需要工具和题目的可以加我qq:3316735898,有什么不懂的也可以问我将题目拖入ida分析 看ida的汇编代码和代码块就能知道,这是一个关于xor亦或的逆向题 这里一直在for循环,这个代码块一直在对flag的字符串亦或,亦或的值是1 这里可以看到,程序将亦或后的值与我们输入的值做对比,然后正确的话就输出 错误的话则输出 之后无论是输入正确和错误,都去向了同一个代码块,然后退出程序,由此可知,这个亦或后的值就是flag 我们可以看看ida的伪代码,按下f5 和我之前分析的一样,我们只需要找到f

Ba1_Ma0的博客 1361

COMSOL实战:如何用有限元法(FEM)准确仿真电磁场问题?避坑指南

本文是一份COMSOL电磁场仿真实战指南,重点讲解如何运用有限元法(FEM)准确模拟电磁场问题。文章通过矩形波导和偶极子天线两大经典案例,详细剖析了从几何建模、物理场设置、网格剖分到结果验证的全流程,并提供了处理非线性材料、求解器收敛失败等高级问题的避坑技巧,旨在帮助工程师建立可靠的仿真工作流。

weixin_29297127的博客 513

南邮CTF逆向题第一道Hello,RE!解题思路

首先可以看到提示如下    我还是查了一下 无壳 提示用IDA 那我们就载入 shift+f12查找字符串 双击进入 在右侧窗口接着双击 然后f5看到了伪代码 于是点击字符串全按R即可  我再用OD试一下 段首F2下断 F9运行 段下来后接着单步  走到这个call处  输入假码 回车 接着

iqiqiya的博客 5578

《Linux运维总结:Ubuntu22.04忘记root密码解决方案》

《Linux运维总结:Ubuntu22.04忘记root密码解决方案》

东城绝神 4460

MDB协议中设备级别和选项(Levels and Options)

MDB协议的LEVEL级别介绍

hbstart的博客 939

CTF-攻防世界 Reverse新手练习解析

博主也是CTF小白,入门ing。。。方向是RE + PWN。文章可能多有纰漏,但会持续更新更正。希望大家多多指出不足之处。 很多时候我也挺奇怪为啥我下载的附件都是一串数字,网上的视频或者博文里面都是语义化的名称······也许这就是非酋吧······[/捂脸] 1. re1 下载文件:1f7dd33440bb499e9f844f4475f3addc.exe 解析: 这道题很简单: 打开.exe随便...

F1ash000 2万+

STM32水质检测小船设计

近年来水资源的监测与保护越来越受到政府部门的重视,抓好源头问题才能做好环境治理,因此建立完善的水环境监测系统是很有必要的。针对当前水环境参数监测中存在的各种问题,例如水质信息采集范围固定、灵活部署监测能力差、信息采集不够智能化、人机交互能力不足等,这些问题导致水环境监测设备不够灵活。 针对上述问题,本文设计了一款基于STM32的水环境监测小船,提出了一种灵活、智能的监测水环境信息的方式。本文将船体作为传感器和控制板的载体,具有可移动性,有利于灵活广泛的采集水环境信息。 本设计选用STM32F103C8T

m0_74026776的博客 1368

170708 逆向-南邮CTF逆向(maze)

1625-5 王子昂 总结《2017年7月8日》 【连续第279天总结】 A. 南邮CTF逆向(5、6) B. 5: 又是maze,拖到IDA分析后发现主要内容就在main中:if ( strlen(&input) != 24 || strncmp(&input, "nctf{", 5uLL) || *(&byte_6010BF + 24) != 125

whklhhhh的博客 3433

【人工智能之深度学习】18. 金融风控实战:TCN时序卷积网络构建信用卡欺诈实时检测系统

摘要:信用卡欺诈交易识别是金融风控的核心环节,其面临欺诈样本占比低(仅0.1%)、实时响应要求高(毫秒级)等挑战。本文基于IEEE-CIS公开数据集,构建基于时序卷积网络(TCN)的欺诈检测系统,通过捕捉用户交易行为的时序模式识别异常。详细阐述全流程:从数据预处理(构造交易序列特征)、TCN模型设计(轻量级架构适配实时场景),到实时检测部署(异步处理确保低延迟)。实验显示,该系统精确率达63%、召回率89%,误杀率仅0.2%,推理延迟8ms,较XGBoost等传统模型性能显著提升。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1133

【Unity】NGUI下载与导入

Unity3D插件NGUI的下载和导入。

Get your hands dirty 3万+

170707 逆向-南邮CTF逆向(WxyVM1)

1625-5 王子昂 总结《2017年7月7日》 【连续第278天总结】 A. 南邮CTF逆向(4) B. 4: 记事本打开发现文件头是ELF,拖入IDA进行反编译,发现只有几个函数 查看main函数,发现输入以后调用sub_4005B6()函数,然后判断长度是否为24和字符串0x601060比较 再进一步看4005B6,发现是按照0x6010C0的14

whklhhhh的博客 2408

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

南邮CTF逆向题第五道maze解题思路

如题 先百度一下名字 万一有收获呢 猜测可能考到迷宫算法 依旧是ELF 直接载入IDA 我一般习惯先shift+f12看下字符串 再看看main __int64 __fastcall main(__int64 a1, char **a2, char **a3)

iqiqiya的博客 7060

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

南邮CTF逆向题第三道Py交易解题思路

首先看题 下载后显示为Py.pyc 尝试notepad++打开显示乱码      所以直接百度 选择https://tool.lu/pyc/ 进行解密    #!/usr/bin/env python # encoding: utf-8 import base64  def encode(message):

iqiqiya的博客 3895

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

170706 逆向-南邮CTF平台(1-3)

1625-5 王子昂 总结《2017年7月6日》 【连续第277天总结】 A. 南邮CTF逆向(1-3) B. 1.拖入IDA,入门级的RE,直接F5看到main的代码,很简单,写入内存的flag: 刚开始看的时候没理解galf是什么意思,照着输却报错 后来下断到内存里看,发现是大端序的原因。每个变量的四字节需要逆序一下,于是得到flag 2. 给出一个asm文件要求对其进行分析:

whklhhhh的博客 2963

南邮CTF逆向题第二道ReadAsm2解题思路

首先看下提示   分析main函数 可以发现主要功能还是在于func函数中 于是我们仔细看func函数 00000000004004e6&lt;func&gt;:;4004e6一列表示该指令对应的虚拟内存地址 55一列为该指令对应的计算机指令 4004e6:55push rbp ;入栈,将寄存器的值压入调用 bp栈中 4004e7:4889 e5 mov rbp,rsp;建立新栈...

iqiqiya的博客 3027

170818 逆向-南邮CTF(WxyVM2)

1625-5 王子昂 总结《2017年8月18日》 【连续第320天总结】 A. 南邮CTF-WxyVM2 B. 上次没做完的正巧在52破解论坛上看到有人发问了,就摸过来再做做看 跟WxyVM1比较像,不过感觉这题相比VM来说更像花指令~ 首先看源码分析,先验证长度为25,然后进行了一大片的加减异或操作,最后与内存中的一个字符串进行比较 上次乍一看大片的加减异或操作不好处理,也没想到

whklhhhh的博客 1893

南邮CTF逆向题第四道WxyVM解题思路

首先看下题目   ELF文件 直接载入64位IDA 进入main函数 F5查看C代码 分析main函数代码:    __int64 __fastcall main(__int64 a1, char **a2, char **a3)

iqiqiya的博客 4514

WP-南邮CTF逆向第二题 ReadAsm2

WP-南邮CTF逆向第二题 ReadAsm2 这道题是考察读汇编能力 先打开2.asm 对汇编语言从上往下一条一条的进行分析,注释部分即分析的情况,分析如下图 3.然后我们分析完这段汇编之后,用C语言的形式将它表示出来 我们得到真正的flag为:flag{read_asm_is_the_basic} ...

z4ky的博客 852

WP-南邮CTF逆向第一题 Hello RE

WP-南邮CTF逆向第一题 Hello RE 首先打开ida载入1.exe文件 找到main函数,进行观察 发现解题的关键有可能就是这个strcmp函数 4. 用ida调试到strcmp这个位置 5. 观察两个参数,一个是用户自己输入的flag,而另一个参数就有可能是真正的flag 至此,我们找到真正的flag为 flag{Welcome_To_RE_World!} 6. 再次...

z4ky的博客 1176

WP-南邮CTF逆向第四题 WxyVM1

WP-南邮CTF逆向第四题 WxyVM 用记事本打开后发现前面有elf,所以确认这个是一个elf文件. 打开IDA,载入WxyVM1,找到main函数,按F5,得到伪代码,并对伪代码进行分析 对sub_400586这个函数进行分析 观察这个函数,发现里面只有6010C0这个地址和604B80这个地址,并没有601060这个地址,说明这个函数是根据6010C0处的数据对用户输入的字符串进行重写...

z4ky的博客 854

WP-南邮CTF逆向第五题 maze

WP-南邮CTF逆向第五题 maze 用记事本打开maze,发现是elf文件 将maze载入idaPro,找到main函数,按下F5查看其伪代码。分析伪代码 根据分析,可知0X601060处是一个迷宫(maze),我们对sub_400690这个函数进行分析 然后观察0X601060处的数据, 是保存了64个数据,再根据sub_400690这个函数中的 可以判断出,这是一个8 * 8的迷...

z4ky的博客 1816

南邮ctf逆向最后一题

你大概需要一个优秀的mac //虽然是osx下的程序,但并不一定真的要有mac…. 正好我也没mac,只能拖到ida里面了,发现还真可以….ida有点厉害 找到right wrong字符串,观察下主框架然后果断f5看下伪代码 可以看出来就是简单的输入长度为56的字符串然后经过func1,xfun1,xfun2,xfun3,xfun4,xfun5这几个函数加密然后check函数比较 ...

笔记本 1369

南邮ctf答案php是世界,南邮ctf训练平台逆向试题wp

第一题:hint已经给的很明白了: IDA 进去 ,对那堆数字按R 就好第二题:low_addrrsp0x10x4相对地址0x180x1chigh_addrrbp00000000004004e6:4004e6:55pushrbp4004e7:4889e5movrbp,rsp4004ea:4...

weixin_39834475的博客 238

南邮ctf题解--逆向第一道Hello,RE!

题目链接:http://ctf.nuptzj.cn/challenges# 先总结一下,南邮的题横向对比一下真的是简单(第一次自己做出来的题,泪目)。下载了源程序之后,题目都明示了用ida,那就用ida呗 可以看到printf的那部分地下是一大堆字符串,很明显flag就在这里,不过是用ascii码的形式而已,接下来有两种方法,一个是照着这个翻译(比较蠢),另一个就是利...

Air_cat的博客 2339
上一篇: MOCTF——Web
下一篇: MOCTF——reverse
team39
博客等级 码龄9年 80粉丝 218原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值