当前位置: 首页 > ops >正文

逆向入门(5)程序逆向篇-AD_CM#2

打开程序
在这里插入图片描述
常规注册界面,打开OD,随便找找就看到关键字了
在这里插入图片描述
没有壳逻辑也挺简单的
在这里插入图片描述
获取输入框,用5比较输入内容的长度,小于则跳转提示密码长度不够
在这里插入图片描述
否则就进入下一个流程,去获取序列号,其实可以直接将jnz换成je就可以完成暴力破解。
在这里插入图片描述
这里主要是要理解一下这个loopd循环体的内容,直接看着还是有点难理解,动态调试到是能看明白。这里主要是难在了不知道什么时候才会停止循环,看来明天要写个c看下反汇编单独学一下了。还是用IDA吧,打开IDA,跳转到401152处,按F5,进入到伪代码段。
在这里插入图片描述
通过这部分稍微就好理解了,序列号的内容为对应用户名的每一位的ascii值减去长度加上位置,比如假如用户名总长度为5,第0位为A,则A - 5 → A(65) -5 - 0 = 60 ('<'),第1位为BB - 5 + 1 → B(66) -4 = 62 ('>'),用这个就可以写出注册机了。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>void generate_key(const char* input, char* output) {int len = strlen(input);for (int i = 0; i < len; i++) {// 核心算法:output[i] = input[i] - (len - i)output[i] = input[i] - (len - i);}output[len] = '\0';  // 添加字符串终止符
}int main() {char username[21];  // 最大20字符+1终止符char serial[21];    // 同样大小printf("Enter username (5-20 characters): ");if (!fgets(username, sizeof(username), stdin)){perror("Input error");return 1;}// 移除换行符username[strcspn(username, "\n")] = '\0';int len = strlen(username);if (len < 5) {printf("Error: Username must be at least 5 characters\n");return 1;}generate_key(username, serial);printf("Generated Serial: %s\n", serial);return 0;
}

搞定
在这里插入图片描述

http://www.xdnf.cn/news/14139.html

相关文章:

  • 开疆智能ModbusTCP转Devicenet网关连接FANUC机器人配置案例
  • [C++] STL大家族之<map>(字典)容器(附洛谷)
  • 《Kafka 在实时消息系统中的高可用架构设计》
  • Python应用八股文
  • shell编程语言-1 shell脚本基础
  • java类的封装和方法重载和递归
  • TensorFlow Serving学习笔记2: 模型服务
  • Mysql数据库安装图解
  • EngineAI 1. Start/Resume Training
  • pyhton基础【7】容器介绍二
  • iOS 审核 cocos 4.3a【苹果机审的“分层阈值”设计】
  • 详解智能指针
  • 大规模异步新闻爬虫的分布式实现
  • 理解C++中传引用和传值的区别
  • CTFshow-PWN-栈溢出(pwn56-pwn59)
  • 学习Oracle------认识VARCHAR2
  • langchain从入门到精通(七)——利用回调功能调试链应用 - 让过程更透明
  • Wiiu平台RetroArch全能模拟器美化整合包v1.18
  • 【大模型应用开发】SpringBoot 整合基于 Ollama 的 DeepSeek,并对接前端( 全部代码 !!!)
  • TensorFlow 2.0 与 Python 3.11 兼容性
  • 查找PPT中引用的图表在哪个EXCEL文件中
  • 笔记本电脑安装win11哪个版本好_笔记本电脑安装win11专业版图文教程
  • Spring中观察者模式的应用
  • 【论文解读】AgentThink:让VLM在自动驾驶中学会思考与使用工具
  • sql列中数据通过逗号分割的集合,对其中的值进行全表查重
  • NAS 资源帖
  • STM32项目---汽车氛围灯
  • flowable工作流的学习demo
  • 【本地虚拟机】xshell连接虚拟机linux服务器
  • 云平台|Linux部分指令