nanaqilin 发表于 2024-2-17 11:13

2023年解题领红包之二

本帖最后由 nanaqilin 于 2024-2-18 16:38 编辑

首先说明一下,本人逆向方面菜的不行,写的不明白的地方,多多包含吧,第一次写也没有啥经验,希望管理多多指点本来想直接用OD来找到结果的,结果发现字符是一个一个进行计算出来再比较的,并且程序自己还没有保存计算好的字符串

* 思路一,改程序,让程序算好的code保存到内存里(这方面不是我太菜,感觉比较费时间,所以本人并没有这么实现

* 思路二,读代码,编写一段代码,将加密的字符串还原(这方面我感觉适合我)

二话不多说,上反编译的图



首先程序第一个关键信息是判长度必需是39,第二个关键信息是取表dword_43F000中的数据,进行右移两位,然后与我们的code进行比较

那我们来跟一下table中的字符,双击dword_43F000,下图即为表中的原始数据



由于是4字节的数据,我们需要整理一下,看着就比较清晰了,dword_43f000右键点array



默认即可,点OK,就是我们要的数据了



我们把表中的数据copy出来,自己写个代码将数据都右移两位,就是我们要的code了

我的代码如下:
```cpp
#include <cstdint>
#include <fstream>
#include <iostream>
#include <string>

int main(int argc, char *argv[]) {
std::ifstream fread;
fread.open("code.txt", std::ios::in);
if (fread.is_open()) {
    char rdata;
    while (fread.getline(rdata, sizeof(rdata))) {
      std::string data(rdata);
      int val = std::stoi(data, nullptr, 16);
      val >>= 2;
      printf("%c", val);
    }
    std::cout << std::endl << "end decode" << std::endl;
    fread.close();
}
return 0;
}
```

```code.txt
198h
1B0h
184h
19Ch
1ECh
0D4h
0C8h
140h
1BCh
128h
1A4h
194h
0C8h
0C0h
0C8h
0CCh
120h
184h
1C0h
1C0h
1E4h
138h
194h
1DCh
164h
194h
184h
1C8h
1F4h
```
以下是我的运行结果,bingo

爱飞的猫 发表于 2024-2-21 10:25

我们把表中的数据copy出来,自己写个代码将数据都右移两位,就是我们要的code了
选中该变量后按下 Shift+E 有惊喜,可以直接导出为 C 的数组表示形式,不需要写出到文件。

sadffg 发表于 2024-2-17 11:19

这么难,我放弃还是非常明智的

nanaqilin 发表于 2024-2-17 11:22

漁滒 发表于 2024-2-17 11:20
现在就能发了吗?不是元宵之后才可以发吗?

我这是去年的,不是今年的,今年的比这个要简单

nanaqilin 发表于 2024-2-18 09:02

zhuminjie 发表于 2024-2-18 08:19
菜鸟太菜,学不会,呜呜

你得静下心来坚持下去,多练习就会有收获

nanaqilin 发表于 2024-2-17 11:16

最后多出来一张图片,不知道咋回事,重新编缉也看不到最后的那张图片{:1_907:}

漁滒 发表于 2024-2-17 11:20

现在就能发了吗?不是元宵之后才可以发吗?

nanaqilin 发表于 2024-2-17 11:23

sadffg 发表于 2024-2-17 11:19
这么难,我放弃还是非常明智的

今年的初级题还是挺简单的,你可以试一下

正己 发表于 2024-2-17 11:38

nanaqilin 发表于 2024-2-17 11:16
最后多出来一张图片,不知道咋回事,重新编缉也看不到最后的那张图片

图片附件里可以删掉

nanaqilin 发表于 2024-2-17 11:45

正己 发表于 2024-2-17 11:38
图片附件里可以删掉

OK啦,谢谢版主

tezb666 发表于 2024-2-17 12:34

实惠啊,感谢分享!很有用

YuYu798 发表于 2024-2-17 13:17

第一眼看到以为给今年的发出来了{:301_986:}
页: [1] 2 3 4 5 6
查看完整版本: 2023年解题领红包之二