欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

EasyRE 寒假逆向生涯(5/100)

发布时间:2025/3/21 编程问答 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 EasyRE 寒假逆向生涯(5/100) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

EasyRE

声明

挺简单的一道题目,流程不必注意太多,直接上核心伪代码

首先注意一点 v2 = (char *)&v8 + 7;这行代码属于编译出错,我们需要直接 查看它的汇编代码,

这行代码伪代码变成了我们的出错伪代码,这里不能看伪代码,需要动调看看这个esi指向了何处

动调


因为我输入的是}NsDkw9sy3qPto4UqNx{galf ,好家伙,它直接指向了f,也就是字符串最后一个,这下就没问题了,

  • 第一个while循环,也就是把字符串逆序赋值
  • 第二个while循环,也就是把逆序字符串经过一系列加密处理
  • 最后再和已知数组进行比较是否相同

数组:

char a[] = { 0x78,0x49,0x72,0x43,0x6A,0x7E,0x3C,0x72,0x7C,0x32,0x74,0x57,0x73,0x76,0x33,0x50,0x74,0x49,0x7F,0x7A,0x6E,0x64,0x6B,0x61 };

实现代码

#include <iostream> using namespace std; int main() {char a[] = { 0x78,0x49,0x72,0x43,0x6A,0x7E,0x3C,0x72,0x7C,0x32,0x74,0x57,0x73,0x76,0x33,0x50,0x74,0x49,0x7F,0x7A,0x6E,0x64,0x6B,0x61 };for (int i = 0; i < 24; i++) {a[i] = (a[i] ^ 6) - 1; }for (int i = 23; i >=0; i--) {cout << a[i];}}

总结

以上是生活随笔为你收集整理的EasyRE 寒假逆向生涯(5/100)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。