Task2 - IDA学习【进度 - 第二课】

news/2024/11/18 15:32:40/文章来源:https://www.cnblogs.com/vgwl/p/18349357

学习目标:

- 无名侠的课,看二进制培训(第二集和第三集)(https://space.bilibili.com/7761039/video)- 会反汇编- 会字符串搜索(f12)- 会简单异或解密
  • 了解一下操作系统

    • linux系统的可执行文件的后缀

    • windows系统的可执行文件的后缀

    • 了解安装die(Detect It Easy)工具(自行网上或论坛搜索)

  • 可以略微了解docker(和vmware差不多)

第二课 简单的加密算法

1. 先运行一下程序

image

2.使用左侧functions查找main函数

image

3.将函数名改为真实函数名
点击查看代码
int __cdecl main_0(int argc, const char **argv, const char **envp)
{int v3; // edxint v5; // [esp-4h] [ebp-1E8h]unsigned int i; // [esp+D0h] [ebp-114h]char v7[260]; // [esp+DCh] [ebp-108h] BYREFint v8; // [esp+1E0h] [ebp-4h]int savedregs; // [esp+1E4h] [ebp+0h] BYREFprintf("Hi CTFer,Input your flag:");scanf("%s", v7);for ( i = 0; i < strlen(v7); ++i )++v7[i];if ( sub_454086(v7, "gmbh|ZPV`GJOE`JU`IBIB~") )printf("you are wrong!\n");elseprintf("you are right!\n");sub_4558B4(&savedregs, &dword_45A2C0, 0, v3);return sub_4546B7((unsigned int)&savedregs ^ v8, v5);
}
4.对main函数分析发现v7变量被for循环每一个字母向后移动了一位,结果得到“gmbh|ZPV`GJOE`JU`IBIB~”所以有结果想要知道初始值,只需要每一个向前移动一位
5.编写
点击查看C语言代码
#include <stdio.h>
#include <string.h>int main(void){char str1[] = "gmbh|ZPV`GJOE`JU`IBIB~";for ( int i = 0; i < strlen(str1); ++i )--str1[i];printf("%s\n",str1);printf("Ok\n");return 0;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/779831.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

医疗器械产品分类

一、按照风险程度分类 医疗器械按照风险程度由低到高,管理类别依次分为第一类、第二类和第三类。 医疗器械风险程度,应当根据医疗器械的预期目的,通过结构特征、使用形式、使用状态、是否接触人体等因素综合判定1.第一类医疗器械是风险程度低,实行常规管理可以保证其安全、…

英智AI工程造价解决方案:英智AI造价师

在科技日新月异的今天,人工智能(AI)技术已悄然渗透至各行各业,面对传统而复杂的工程造价领域,AI造价师的诞生,不仅是技术进步的象征,更是对传统造价工程师工作模式的一次深刻变革。面对这一趋势,造价工程师们应当积极应对,让AI成为工作中的得力助手。 英智智能宝是什…

揭秘CentosChina爬虫项目:掌握Scrapy框架的必备技巧与数据库设计

你是否想深入了解如何使用Scrapy框架进行高效爬虫开发?本文将揭秘CentosChina爬虫项目,从项目需求分析、数据库表设计,到Scrapy框架的实用技巧,全方位解析。无论你是初学者还是资深开发者,这篇文章都将为你提供宝贵的经验与指导,助你在爬虫开发领域更上一层楼。Centoschi…

harbor私有镜像仓库高可用部署

Harbor介绍 harbor是一个docker私有镜像仓库,虽然docker官方提供了公共的镜像仓库(Docker Hub),但是从安全和效率等方面考虑,部署私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目。 Harbor的优势: 图形管理界面。 按项目…

面试官:说说MySQL调优?

MySQL 作为关系型数据库的典型代表,其流行程度超越于任何数据库,因此在 Java 面试中,MySQL 是一定会被问到的重要知识点。而在 MySQL 中有一道极其常见的面试题,我们这里系统的来看一下,这就是我们今天要讨论的 MySQL 调优问题。 MySQL 调优的大体思路如下:具体调优思路如…

Thread、ThreadPool、Task之间的联系

1、ThreadPool线程池 一个应用程序最多只能有一个线程池。线程池是一种多线程处理形式,通过QueueUserWorkItem()将任务添加到队列中,然后创建线程(后台线程,又称工作者线程)自动启动这些任务来处理。其中,最小线程数即核心线程数(corePoolSize)是线程池中长期保持的线程…

基准测试基础

基准测试 定义 基准测试是一种用于衡量计算机系统,软件应用或硬件组件性能的测试方法。 基准测试旨在通过运行一系列标准化的任务场景来测量系统的性能表现,从而帮助评估系统的各种指标,如响应时间、并发用户数、TPS、资源利用率、交易成功率等。 特质 ① 可重复性: 可进行重…

智林 - AI 答题应用平台介绍

智林 - AI 答题应用平台 一、项目介绍 智林AI答题是一款基于 Vue 3 + Spring Boot + Redis + ChatGLM + RxJava + SSE 的 AI 答题应用平台。 用户可以基于 AI 快速制作并发布答题应用,支持检索、分享、在线答题并基于 AI 得到回答总结;管理员可以集中管理和审核应用。 什么是…

博客园自定义皮肤工具推荐:awescnb

简介 awescnb是一个用于博客园(Cnblogs)的自定义皮肤和功能增强插件。它允许用户通过简单的配置来自定义其博客的外观和增加一些额外的功能。下面是对awescnb的简要介绍: 功能特点: 自定义皮肤:用户可以选择不同的皮肤主题,包括背景颜色、字体样式等,以个性化他们的博客…

外部存储器

磁盘存储器磁盘存储器的性能指标磁盘地址磁盘阵列固态硬盘SSD

Ubuntu22.04上安装esp-idf

一、安装准备建议使用Ubuntu 20.04 或 Ubuntu 22.04 操作系统为了在 ESP32-C3 中使用 ESP-IDF,需要安装一些依赖包 sudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0…