首页 > 其他分享 >【攻防世界逆向】【高手题】《crackme》《debug》《ReverseMe-120》

【攻防世界逆向】【高手题】《crackme》《debug》《ReverseMe-120》

时间:2023-05-23 20:14:54浏览次数:39  
标签:base64 ReverseMe 120 crackme debug net ida

题目crackme

解法

第一次做这样的题,可以说是奇难了。
1.手动脱壳,这道题是nspack,没见过这个壳,去找别的师傅学习了一下,https://blog.csdn.net/xiao__1bai/article/details/120230397讲的非常详细了,但我还是想用我的语言把我的理解再复述一遍。nspack,北斗壳,也是一种压缩壳加密壳。用的是堆栈平衡原理,这个原理就是要在加壳的时候保证壳初始化的现场环境,就会有pushad,pushfd这样的指令。可以把壳当做一个子程序,当壳把代码解压前后,要遵循这个堆栈平衡的原理。


下面开始详细步骤,打开odg。

ok很标准

对esp右键数据窗口追踪
按f7两步步入这时候两个push已经压栈完毕,可以看到esp现在所指向的地方
对这个地方下硬件断点


执行过来是这样的界面,可以看到下面一行就要call了。我们步入。

来到了这里就是我们的oep。用dump工具进行脱壳

再用ida打开看看

已经是脱完壳的状态了。
算法也很简单,但不知道为什么,这里的print和scanf没给我识别出来,但也无伤大雅吧。直接写出脚本

题目debug

解法

这道题也是从来没做过ida反汇编出来是这个东西

一时间也盲头了。直接去看别人的wp。
2.是要用.net反编译去做,有两款软件ILSPY和dnSPY,我用的是dnSPY。在dnspy中几个关键操作是:F9为添加新的断点;F5为调试程序集;F10为逐过程运行程序语句;F11为逐语句调试;shift+F11为跳出。

打开之后找到关键函数的地方。然后分析一下。

这里主函数已经读入我们的内容之后与他内置的flag进行一个对比,所以我们直接就在比较的地方下断,看一下存的到底是什么flag

直接看到flag

题目ReverseMe-120

解法

这题没有前面两题这么抽象,ida分析就可以看到过程

判断正误的就在于红框内的代码。那我们就要看v12在哪里动了手脚了。

很奇怪,居然没有传入。确实是很蹊跷点击进入这个才恍然大悟。


3.这里就有一个知识点,在外面的时候可以看到只是对v11进行了操作,但是点进去之后才发现这是对寄存器进行传参了,只是ida识别不出来而已。
ok,那么这个函数就是比较关键的处理函数。

这里我没看懂,看了别人的writeup,才明白这里是一个base64加解密的过程,关键可以看看这里


所以逆向思路也清晰了,you_know_how_to_remove_junk_code,异或操作,base64加解密
贴出脚本

总结:
crakeme 脱壳题 栈堆平衡
debug 初识.net
ReverseMe-120函数传参 base64

标签:base64,ReverseMe,120,crackme,debug,net,ida
From: https://www.cnblogs.com/Corax0o0/p/17425908.html

相关文章

  • poj-1120
    //408K16MSG++#include<cstdio>#include<cstring>usingnamespacestd;intdish[20][20];intK[20][20];intD[16];intdays;intgetDensitySum(introwId,intcolumnId){intK=0;K+=dish[rowId][columnId];if(rowId......
  • 什么是100 %, 120 % ,150% BOM ?
    BOM-BillofMaterial物料清单物料清单(BOM),也称为产品结构,是构建、制造或维修产品或服务所需的所有物料的列表。物料清单充当集中式源,包含从原材料阶段制造产品所需的所有信息。Abillofmaterials(BOM)isanextensivelistofrawmaterial,components,andinstructio......
  • leetcode-1207-easy
    UniqueNumberofOccurencesGivenanarrayofintegersarr,returntrueifthenumberofoccurrencesofeachvalueinthearrayisuniqueorfalseotherwise.Example1:Input:arr=[1,2,2,1,1,3]Output:trueExplanation:Thevalue1has3occurrences,......
  • 西门子1200plc程序实例,TCP/IP及modbus通讯,版本V15,如有需要也可代写程序。
    西门子1200plc程序实例,TCP/IP及modbus通讯,版本V15,如有需要也可代写程序。功能如下:1,西门子1200控制4台步进电机;2,西门子1200与4台MS300变频器modbus485轮询读写参数;3,西门子1200与上位机TCP/IP通讯控制相机拍照,反馈数据;4,设备为多工位联动控制;5,威纶通人机界面多画面切换可以作为参考......
  • SIEMENS/西门子西门子1200plc轴运动控制程序模板 介绍:此
    SIEMENS/西门子西门子1200plc轴运动控制程序模板介绍:此程序是之前给海康威视做的一台装路由器壳子的机器。程序有以下:1):调用轴控制块做的控制3个伺服,2):1个电缸,3):用PUTGET块与上下游plc通讯,4):轴控制块5):气缸报警块6):完整的电路图7):威纶通触摸屏程序8):IO表程序块已经在很多个项......
  • 西门子S7-1200 PID温度控制程序,PID参数经过预 西门子S7-1200 PID温度控制程序,PID参
    西门子S7-1200PID温度控制程序,PID参数经过预西门子S7-1200PID温度控制程序,PID参数经过预调节和精确调节之后得出,程序采用博图V15高级版编写,适合用于不带冷却功能的模具加热生产工艺上,项目上运用已稳定工作多时,带详细注释,可进行二次开发和扩展,也可直接使用!!本程序采用博图V15编......
  • 西门子PID程序,西门子PLC 1200和多台G120西门子 变频器Modbud RTU通讯,带西门子触摸屏,带
    西门子PID程序,西门子PLC1200和多台G120西门子变频器ModbudRTU通讯,带西门子触摸屏,带变频器参数/Modbus通讯报文详细讲解,PID自写FB块无密码可以直接应用到程序,PID带手动自动功能,可手动调节PID,注释详细,有图纸ID:698656140211742......
  • 西门子S7-1200控制5轴伺服程序案例。 S7-1200控 制5轴伺服程序
    西门子S7-1200控制5轴伺服程序案例。S7-1200控制5轴伺服程序案例。1.PTO伺服轴脉冲定位控制功能应用+速度模式应用+扭矩模式应用。2.程序为结构化编程,每一功能为模块化设计,具有一个项目都有的功能:自动_手动_单步_暂停后原位置继续运行_轴断电保持_报警功能_气缸运行及报警.......
  • 华普物联HP-ERS-GW120 RS485/以太网网关
    产品概述HP-ERS-GW120是一款高性能的modbus网关,采用了高性能工业处理器ARM926E),主频达到300MHZ,具有出色的数据处理能力和响应速度。该产品支持4路干接点输入和2路RS485接口,可以实现设备之间的稳定通信和管理。用户可以通过网页配置添加自定义modbusDI输入和modbusDO输出,灵活添......
  • SIEMENS/西门子西门子S7-1200 PID温度控制程序,PID参数经过预调节和精确调节之后得出,
    SIEMENS/西门子西门子S7-1200PID温度控制程序,PID参数经过预调节和精确调节之后得出,程序采用博图V16高级版编写,适合用于不带冷却功能的模具加热生产工艺上,项目上运用已稳定工作多时,带详细注释,可进行二次开发和扩展,也可直接使用!!本程序采用博图V16编写,需要博图版本高于V16,版本低于V......