逆向-攻防世界-logmein】的更多相关文章

iDA载入程序,shift+F12查看关键字符串,找到双击来到所在地址,进入函数 然后进入主函数, 经过分析,可以得出:输入的字符要等于  经过处理的v7和v8的异或.v8很明显,但是v7是怎么回事呢,新手没有遇到过,所以上网查看资料,LL是长长整型,v7要转换为16进制然后在转换为字符串,而且字符是小端序,所以把得到的字符翻转然后和v8的每一位进行异或.贴出脚本: a = 'harambe'b = ':\"AL_RT^L*.?+6/46'print(b)tmp = ''for i in ran…
查壳,nSpack壳,直接用软件脱壳,IDA载入程序. 很明显,就是将402130的数据和输入的数据进行异或,判断是否等于402150处的数据.dwrd占4字节. 这道题主要记录一下刚学到的,直接在IDA使用python脚本. from ida_bytes import get_bytes s = ''data = get_bytes(0x402130, 0x402140-0x402130)r = get_bytes(0x402150, 0x402200-0x402150)print(len(r…
题目提示是走迷宫. IDA载入程序分析. 输入字符长度必须是24,开头必须是nctf{,结尾必须是}.在125处按R就可以变成字符. sub_400650和sub_400660是关键函数,分析sub_400650. v10的下一字节减1. sub_400660v10的下一字节加1. 分析这两个函数. v10减1. v10加1 再看最后的比较函数. v9就是刚才的v10,应该是IDA自己随机的吧. 进入函数a1是迷宫地址,a2是v10下一单位,SHIDWORD就是这个意思,a3就是v10. 经过分…
运行程序乱码,OD载入搜索字符串,断电到弹窗Flag附近. 发现跳过00B61000函数,弹窗乱码,我们试试调用00B61000函数.将00B61094的指令修改为JE SHORT 00B6109b.然后跟进函数,单步执行. 拿到了flag. 原程序是在00B610B9处弹窗,我们将00B610A3的指令修改为JE SHORT 00B610B9.保存修改,然后就会弹窗真正的flag.…
看题目就知道查找不到关键字符串,为防止踩坑,strings命令查看,没有找到有用的字符串.IDA载入程序查找入口函数, main函数中有4个函数,经过分析判断authenticate()为关键函数,跟进其中, 很明显,decrypt是关键处,接下来我们使用gdb调试,当然直接分析decrypt也很容易得出flag,但在此我们学习gdb-peda的使用,我也是第一次使用.... 找到这个函数的地址0x08048658,然后下断点运行,运行的的命令是r.下断点:b *0x08048658.然后使用n…
测试文件:https://adworld.xctf.org.cn/media/task/attachments/a00849bb514c413f8a6526f6bb56c628 1.准备 得到信息 64位文件 obj文件 2.IDA打开 将main函数转换为C语言代码 void __fastcall __noreturn main(__int64 a1, char **a2, char **a3) { size_t v3; // rsi int i; // [rsp+3Ch] [rbp-54h]…
攻防世界逆向:game wp 攻防世界逆向新手区的一道题目. 是一道windows的creak,动态调试打开是这样的: 题目说明是让屏幕上所有的图像都亮之后,会出现flag,看来应该是可以玩出来的. IDA打开后,发现是静态链接.我首先shift 12看了一下,然后去rodata段看看能不能找出flag对应的字符串,无果. 然后找到主调函数,发现程序结束后,与flag对应的函数如下: 这样看来,把对应的变量存储在一个文件里,简单做一个算法逆向就可以了.脚本如下: ls1=[] ls2=[] i=…
这是2017 ddctf的一道逆向题, 挑战:<恶意软件分析> 赛题背景: 员工小A收到了一封邮件,带一个文档附件,小A随手打开了附件.随后IT部门发现小A的电脑发出了异常网络访问请求,进一步调查发现小A当时所打开的附件其实是一个伪装成word文档的恶意可执行文件. 赛题描述: 请在试着分析evil.exe和其所下载的x.jpg, 从中找出key. 评分标准: 密钥正确则可进入下一题. 攻防世界只给了exe文件,没有给x.jpg文件,(每个人的x.jpg文件是不同的,解得的flag也是不一样的…
APK-逆向2 Hack-you-2014 (看名以为是安卓逆向呢0.0,搞错了吧) 程序是.net写的,直接祭出神器dnSpy 1 using System; 2 using System.Diagnostics; 3 using System.IO; 4 using System.Net.Sockets; 5 using System.Text; 6 7 namespace Rev_100 8 { 9 // Token: 0x02000002 RID: 2 10 internal class…
攻防世界系列:web2 1.代码审计  知识补充: strrev(string):反转字符串 strlen(string):字符串长度 substr(string,start,length):截取字符(从第start位开始,取length个字符) ord(string):把字符转为ASCII chr():把ASCII转为对应字符 str_rot13(string):用ROT13编码(把字符在字母表中的位置向前移动13位,非字符不变,编码解码由同一函数完成) 2.根据加密算法,编写解密脚本 <?p…