【2021春节】初级题
发布题目的时候做了一下……感觉还是挺简单的,但是最后凑字符串的那一步没做出来有点可惜。帖子发的比较少,格式可能有点问题。
0x01 导入OD
似乎有壳,被加密过。PEID 0.2查不出壳,直接丢到哈勃。
0x02 查壳
基本信息
关键行为
进程行为
文件行为
其他行为
基本信息
文件名称:
CrackMe.exe
MD5: 4b15e259c525a1f39d2ff779d0f10e07
文件类型: EXE
上传时间: 2021-03-01 19:24:47
出品公司: N/A
版本: N/A
壳或编译器信息: PACKER:UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
子文件信息: 详情
0x03 运行一下看看
知道是什么壳之后,先不脱,进去看看
随便输点东西看看
返回OD,运行到主程序 查找字符串,没有内容,重载
0x04 字符串
开局ESP定律进入口
查找字符串
中文搜索引擎, 条目 0
地址=00091002
反汇编=push CrackMe.000BAC0C
文本字符串=HappyNewYear
中文搜索引擎, 条目 13
地址=0009214A
反汇编=push CrackMe.000BAC1C
文本字符串=52PoJie
中文搜索引擎, 条目 14
地址=000922AE
反汇编=mov edx,CrackMe.000BAC24
文本字符串=Success
发现以下内容,文本未被加密,就不脱壳好了。
0x05 进入HappyNewYear关键字
内存断点-访问
输入程序后没有停下来,大概率猜测他是密码最后内容
0x06 进入52PoJie关键字
同上
0x07 字典
可能的口令
52PoJie
2021
HappyNewYear
字符串排列组合
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
const string a = "52PoJie", b = "2021", c = "HappyNewYear";
Console.WriteLine(a+b+c);
Console.WriteLine(a+c+b);
Console.WriteLine(b+a+c);
Console.WriteLine(b+c+a);
Console.WriteLine(c+a+b);
Console.WriteLine(c+b+a);
}
}
}
去凑凑看吧
{:1_921:} 虽然看不懂,但是顶一下 cool147852369 发表于 2021-3-1 20:40
有一点忘说了,口令是有位数的,在确定两个口令组成部分的时候,就可以计算出剩余长度=4的第三个口令组合块 ...
新手学习,谢谢 有一点忘说了,口令是有位数的,在确定两个口令组成部分的时候,就可以计算出剩余长度=4的第三个口令组合块了 感谢楼主, 感谢楼主,期待再出精品,已收藏 有点东西啊 过程感觉多数靠猜,其实你离的很近了,没断下来可以从代码入口的位置进行跟踪,因为长度不够可能就不对比。 学习以下思路 值得学习学习
页:
[1]
2