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

Afkayas.1(★)

软件运行

要输入正确的Name和Serial
在这里插入图片描述
在这里插入图片描述

查壳

一个VB程序,没有加壳
在这里插入图片描述

载入OD

直接开搜索字符串。
这里看到了错误的提示,“You Get It”应该就是成功的字符串了。
前面的“AKA-”应该是在什么时候拼接的字符串
在这里插入图片描述

去成功的字符串附近看看
这个字符串上面就有一个跳转
在这里插入图片描述

这个跳转会直接跳过成功,到错误的提示,所以暴力破解修改这个跳就可以了
在这里插入图片描述

算法分析

来到函数头部分,下个断
在这里插入图片描述

往下走,看见输入的用户名被读出来了,通过这个CALL,是计算用户名长度。
在这里插入图片描述

计算完长度,又做了一下计算
用户名长度 乘以 0x17CFB
再加上 用户名的第一个字符的ASCII码

在这里插入图片描述

把这个计算结果转为十进制字符串——487770
在这里插入图片描述

在这里做了一个字符串拼接
AKA-487770
在这里插入图片描述

进以下函数进行比较
在这里插入图片描述
再进去,发现压入假的Serial和AKA-487770
在这里插入图片描述

再进,又压入了参数
在这里插入图片描述

再进函数,发现真正的比较
假Serial和AKA-487770比较
不相等eax为-1
在这里插入图片描述

算法分析

def genKey(username):
    serial_head = 'AKA-'
    serial = len(username) * 0x17CFB
    serial += ord(username[0])
    serial = serial_head + str(serial)
    print(serial)

genKey("crack")

结果

在这里插入图片描述


http://www.kler.cn/a/16186.html

相关文章:

  • 【CSS】什么是BFC?
  • 【数据价值化】国有企业数据资产入表及估值实践指南:挖掘数字资产新价值
  • 排序算法 -快速排序
  • 信号-3-信号处理
  • win11 新建一个批处理,双击查看本机的IP地址
  • 深度学习之卷积问题
  • 学习系统编程No.20【进程间通信之命名管道】
  • 大数据架构(一)背景和概念
  • 从0搭建Vue3组件库(十一): 集成项目的编程规范工具链(ESlint+Prettier+Stylelint)
  • 盈泰德带你了解产品表面缺陷检测系统
  • Idea关闭或开启引用提示Usages和Annotations
  • Vulnhub:DerpNStink 1靶机
  • C语言程序设计:某班有5名同学,建立一个学生的简单信息表,包括学号、姓名、3门课程的成绩,编写程序,计算每名学生的平均成绩及名次。
  • 配置Bridge模式KVM虚拟机
  • 第六章结构型模式—代理模式
  • Springboot +Flowable,设置任务处理人的四种方式(一)
  • Android Java 音频采集 AudioRecord
  • 【C++】类和对象
  • HTB靶机06-Beep-WP
  • 【五一创作】机械臂速成小指南(二十四):逆运动学的雅可比方法
  • 制造管理与生产管理,到底哪个更重要?
  • 服务运营| Healthcare Management Science 近期文章精选
  • python-使用Qchart总结4-绘制多层柱状图
  • 高并发场景下JVM调优实践
  • 数据结构-图
  • 【数据结构】一篇带你彻底玩转 链表