一些简单逆向

下载地址:

链接:https://pan.baidu.com/s/1VVUkb8vjg4xTDeJ_Ph_W2Q?pwd=qwnd
提取码:qwnd

sysmagic

emmm,程序整体比较简单,本质上就是一个自解密,利用调试的SET IP进行绕过里面的if判断即可得到FLAG

1
CTF{debugger_1s_so_p0werful_1n_dyn4m1c_4n4lySis!}

2.exe

这个题目也是比较简单,同样的利用动态调试可以得到对应的FLAG,直接用lazyida提取出来即可

1
DUTCTF{We1c0met0DUTCTF}

Ransomware.exe

打开程序发现是一个模拟WannaCry病毒的界面,简单的查看一下里面的函数可以发现是一个简单的异或加密,将输入的18个字符和0xCC异或,然后于一串字符比较,解题脚本如下:

1
2
3
4
5
ans = [0xFD, 0x93, 0xA8, 0x83, 0x93, 0xA2, 0xFC, 0xB8, 0x93, 0xBB, 0x8D, 0xA2, 0xA2, 0xAD, 0x93, 0xAF, 0xBE, 0xB5]
for i in range(len(ans)):
ans[i] = ans[i] ^ 0xCC
print(chr(ans[i]), end='')
# 1_dO_n0t_wAnna_cry

rev1

程序本质上还是一个自我异或,对s中的每一个元素异或自己的下标,对此可以直接patch下面的ptr[i] = 0;而使程序解密后的数据不会被清除,之后进行调试即可直接得到FLAG

1
CTF{this_is_the_flag}

CreakMe1

拖入IDA分析后感觉加密反编译的有点难看稍微修复一下可以得到:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
int __cdecl sub_401060(const char *a1)
{
unsigned int i; // edx
unsigned int j; // edx
int v3; // edx
const char v5[12]; // [esp+Ch] [ebp-10h] BYREF
__int16 v6; // [esp+18h] [ebp-4h]
char v7; // [esp+1Ah] [ebp-2h]

*(_DWORD *)v5 = dword_40708C; // 48195768h
*(_DWORD *)&v5[4] = dword_407090; // 78586E50h
v6 = word_407098; // 65Eh
v7 = byte_40709A; // 0
*(_DWORD *)&v5[8] = dword_407094; // 58196A54h
if ( strlen(a1) == strlen(v5) ) // flag长12
{
for ( i = 0; i < strlen(a1); ++i )
a1[i] ^= 0x20u;
for ( j = 0; j < strlen(v5); ++j )
v5[j] -= 5;
v3 = 0;
if ( !strlen(v5) )
return 1;
while ( v5[v3 + a1 - v5] == v5[v3] ) //a1和v5每一项相等
{
if ( ++v3 >= strlen(v5) )
return 1;
}
}
return 0;
}

通过观察看出来v5存储的是四字节成都的数据,共 3 个,转换为char时长度为 12,也便是输入的flag长。同时输入在和0x20异或后与v5每一项减 5 后相等,可以编写如下脚本:

1
2
3
4
5
6
v5 = [0x68, 0x57, 0x19, 0x48, 0x50, 0x6E, 0x58, 0x78, 0x54, 0x6A, 0x19, 0x58]
for i in range(len(v5)):
v5[i] = v5[i] - 5
v5[i] = v5[i] ^ 0x20
print(chr(v5[i]), end='')
# Cr4ckIsSoE4s

CreakMe

又是一个简单的自解密,直接调试,就可以看到解密出来的FLAG

1
Dbapp{crackme100}

CKme

emmm,这个题目不清楚是不是拿到图片即可,对于图片可以直接使用Pe的插件直接进行提取出来

CKme-直接爆破-reshack也可以恢复图片0001-rip.jpg

1-IDA-R字符串

这个应该是一个签到题目,直接拖入IDA反编译就可以得到对应的FLAG了。

1
flag{Welcome_To_RE_World!}

StarsCode-星号密码

直接使用星号密码查看器即可得到对应密钥:

1
Key:916a00c5ff8b5784

一些简单逆向
https://equinox-shame.github.io/2022/03/29/一些简单逆向/
作者
梓曰
发布于
2022年3月29日
许可协议