一道好题,没解出来但是收获很多

贴两位大牛的题解

【精选】攻防世界逆向高手题之ReverseMe-120-CSDN博客

攻防世界ReverseMe-120详解_攻防世界reverseme基本思路-CSDN博客

这里我就写一下对于自己来说需要注意的点

注意

  • 未出现函数传参不意味着没有操作

在我自己的ida中我看到的是V13是根本没有什么来由的,只知道他进行了一点后面的判断操作

但是呢在别人的题解中我们是可以看到有V13比较明显的运行线路的

所以有时候可能是ida的问题才导致这样子,这也使我一点分析的思路都没有

后面才了解到原来变量是可以以寄存器的身份参与函数操作的

  • c语言的base64操作

C语言实现base64编解码 - 简书 (jianshu.com)

base64正向加密,每三个字节处理变成四个字节,生成一个长字节,再从这个长字节中查四次表生成对应的四个字符。反过来就是先将4个字符进行查表转化成四个字节,然后再四变三。具体的细节就不讨论了,特征应该是如此。对于base系列加密解密,查表与字节变换是核心

这里好分析

  • 特殊函数

看到这个函数就联想到循环亦或操作

_mm_load_si128((const __m128i *)&xmmword_414F20)

这两个框框的代码效果相同

最后的题解思路如下

ReverseMe-120的更多相关文章

  1. 120项改进:开源超级爬虫Hawk 2.0 重磅发布!

    沙漠君在历时半年,修改无数bug,更新一票新功能后,在今天隆重推出最新改进的超级爬虫Hawk 2.0! 啥?你不知道Hawk干吗用的? 这是采集数据的挖掘机,网络猎杀的重狙!半年多以前,沙漠君写了一篇 ...

  2. Linux 日志报错 xxx blocked for more than 120 seconds

    监控作业发现一台服务器(Red Hat Enterprise Linux Server release 5.7)从凌晨1:32开始,有一小段时间无法响应,数据库也连接不上,后面又正常了.早上检查了监听 ...

  3. C语言执行时报错“表达式必须是可修改的左值,无法从“const char [3]”转换为“char [120]” ”,原因:字符串不能直接赋值

    解决该问题的方法:使用strcpy函数进行字符串拷贝   原型声明:char *strcpy(char* dest, const char *src); 头文件:#include <string ...

  4. INFO: task java:27465 blocked for more than 120 seconds不一定是cache太大的问题

    这几天,老有几个环境在中午收盘后者下午收盘后那一会儿,系统打不开,然后过了一会儿,进程就消失不见了,查看了下/var/log/message,有如下信息: Dec 12 11:35:38 iZ23nn ...

  5. JAVA经典算法40题(1-20)

    [程序1]   题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?   1.程序分析:   兔子的规律 ...

  6. task mysqld:26208 blocked for more than 120 seconds

    早上10点左右,某台线上ECS服务器突然没响应. 查看日志,发现如下信息: Aug 14 03:26:01 localhost rsyslogd: [origin software="rsy ...

  7. nyoj 120 校园网络

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=120 思路:先将原图强连通缩点为新图,统计新图中入度,出度为0的点的个数,两者取最大值即为 ...

  8. loadruner报错:Step download timeout(120 seconds)的一个解决方法

    一个网友问了我一个问题如下: loadruner报错:Error -27728: Step download timeout (120 seconds) 如何解决 语 法检查通过,但是在并发执行一个查 ...

  9. 120条Photoshop新手必看技巧

    Photoshop越来越强大了!试图掌控它的全部特性是不现实的(更何况有那么多隐藏的功能!),那么我们不妨收藏一下大神们总结的这120个PS技巧,偶尔翻看一下,让自己的设计更强大更高效! 这120款技 ...

  10. hung_task_timeout_secs 和 blocked for more than 120 seconds

    https://help.aliyun.com/knowledge_detail/41544.html 问题现象 云服务器 ECS Linux 系统出现系统没有响应. 在/var/log/messag ...

随机推荐

  1. FreeBSD 内核模块和硬盘相关

    查看已加载的内核模块 使用命令:kldstat 加载驱动: kldload xx 查看识别到的硬盘 使用命令:dmesg | grep sector freeBSD 查看硬件信息 使用命令:dmesg ...

  2. 文心一言 VS 讯飞星火 VS chatgpt (67)-- 算法导论6.5 6题

    文心一言 VS 讯飞星火 VS chatgpt (67)-- 算法导论6.5 6题 六.在 HEAP-INCREASE-KEY 的第 5 行的交换操作中,一般需要通过三次赋值来完成.想一想如何利用IN ...

  3. Unity UGUI的Outline(描边)组件的介绍及使用

    Unity UGUI的Outline(描边)组件的介绍及使用 1. 什么是Outline(描边)组件? Outline(描边)组件是Unity UGUI中的一种特效组件,用于给UI元素添加描边效果.通 ...

  4. return true 与 return false的妙用——jQuery

    var arr = [1, 3, 5,7,9]; jQuery.each(arr, function(key, value){ if(key === 2){ return true; } consol ...

  5. Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-4_w0c665/PyQt5/

    错误: 解决方式:输入一下命令 1 pip3 install --upgrade setuptools 2 python3 -m pip install --upgrade pip 输入命令: 1 p ...

  6. Anaconda+PyCharm+Pytorch/tensorflow环境配置个人总结

    Anaconda是一个非常方便的python版本管理工具,可以很方便地切换不同版本的Python进行测试.同时不同版本之间也不存在相互的干扰. PyCharm是一款常见的Python IDE,pyto ...

  7. [Pwn之路]根据所给库,获得远程同环境——使用patchelf的正确姿势

    原文:https://www.freebuf.com/sectool/366854.html 存自己这里方便看. 0x00 前言 如何修改本地pwn文件和题目所给环境一致,从而进行调试,这是从学习堆开 ...

  8. 《深入理解Java虚拟机》读书笔记:Class类文件的结构

    Class类文件的结构 Sun公司以及其他虚拟机提供商发布了许多可以运行在各种不同平台上的虚拟机,这些虚拟机都可以载入和执行同一种平台无关的的程序存储格式--字节码(ByteCode),从而实现了程序 ...

  9. 【page cache】回写机制

    目录 writeback 回写 相关结构体 底层设备信息 初始化 部分字段说明 设备回写管理 初始化 部分字段说明 回写任务 部分字段说明 回写线程 初始化 立即唤醒 wb_wakeup wb_que ...

  10. 深入了解API接口技术及其应用

    尊敬的读者们,大家好!在互联网时代,API(Application Programming Interface)接口已经成为开发者们连接各种应用.获取数据的重要工具.今天,我们将深入探讨API接口技术 ...