新160个crackme - 043-riijj_cm_20041121

2024-09-01 07:04
文章标签 crackme cm 160 043 riijj 20041121

本文主要是介绍新160个crackme - 043-riijj_cm_20041121,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

运行分析

在这里插入图片描述
在这里插入图片描述

  • 除了主程序还有一个dll文件,应该是要加载pf1.dll这个动态链接库
  • 运行主程序,需破解Name和Serial,点击注册无反应

PE分析

在这里插入图片描述

  • C++程序,32位,无壳

静态分析&动态调试

在这里插入图片描述

  • 尝试ida动调加载动态链接库pf1.dll,弹出错误,推测存在反反调试

在这里插入图片描述

  • 使用OD的StrongOD插件绕过反反调试,设置参数如上

在这里插入图片描述

  • 程序拖入OD,点击F9,发现程序正常运行

在这里插入图片描述

  • 点击菜单栏下方的’e’按钮,查看加载的dll,双击进入pf1.dll

在这里插入图片描述

  • 来到pf1模块,右键 -> 中文搜索引擎 -> 智能搜索

在这里插入图片描述

  • 发现successful字符串,双击进入

在这里插入图片描述

  • 发现关键跳转地址02571108,为了满足判断条件test eax,eax,需要执行025710E4的jmp跳转

在这里插入图片描述

在这里插入图片描述

  • 从关键跳转处向上查找,发现2个循环,和一个常量"fytugjhkuijonlbpvqmcnxbvzdaeqrwtryetdgfkgphonuivmdbxfanqydexzwztqnkcfkvcpvlbmhotyiufdkdnjxuzyqhfstae"
  • 第1个循环:提取Name每个字符,除以0x62求余,将余数和余数+1作为上面常量的下标,提取其字母,然后依次存入地址1中
  • 第2个循环:判断地址1和Serial每个字符串是否相等

算法分析

Name = 'concealbear'
str1 = 'fytugjhkuijonlbpvqmcnxbvzdaeqrwtryetdgfkgphonuivmdbxfanqydexzwztqnkcfkvcpvlbmhotyiufdkdnjxuzyqhfstae'address1 = ''
for i in range(len(Name)):address1 += str1[ord(Name[i])%0x62]address1 += str1[ord(Name[i])%0x62 + 1]Serial = address1print(Name + '的Serial为:\n' + Serial)

在这里插入图片描述

在这里插入图片描述

  • 验证成功

这篇关于新160个crackme - 043-riijj_cm_20041121的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1126268

相关文章

新160个crackme - 051-Keygenning4newbies

运行分析 需要破解Name和Serial PE分析 C++程序,32位,无壳 静态分析&动态调试 ida找到关键字符串,双击进入函数 静态分析得到以下结论:1、Name长度要大于4,小于502、v5 += Name[i] ^ (i + 1)3、v7 = 最后一个Name[i] ^ (i + 1)4、Serial = (v5<<7) + 6* v7 的16进制

新160个crackme - 050-daxxor

运行分析 需要破解Name和Serial PE分析 C++程序,32位,无壳 静态分析&动态调试 ida找到关键字符串,双击进入函数 通过静态分析发现:1、Name通过计算得到Name12、对Name1第3、5、6分别插入byte_401290、byte_401290、word_401292,得到Name23、双击byte_401290,发现值为0x2D;双

final_封装_多态_servletJAVA043-047

来源:http://www.bjsxt.com/ 1、S01E043_01final修饰变量、方法和类 (1)修饰变量:常量; (2)修饰方法:该方法不可被子类重写,但可以被重载; (3)修饰类:修饰的类不能有子类,不能被继承。如:Math、String。 2、S01E044_01面向对象三大特性之一:封装/隐藏(encapsulation) (1)封装的作用:隐藏对象内部的复杂性,只

【MATLAB源码-第160期】基于matlab的胡桃夹子优化算法(NOA)无人机三维路径规划,输出做短路径图和适应度曲线

操作环境: MATLAB 2022a 1、算法描述 胡桃夹子优化算法(Nutcracker Optimization Algorithm, NOA)是一个灵感来源于胡桃夹子的故事的元启发式优化算法。这个故事中,胡桃夹子是一个能够将坚果壳轻易地破开以获取内部果仁的工具。在优化算法的语境下,这个过程被比喻为寻找问题解决方案的过程,即如何有效地“破开”问题的“坚硬外壳”以到达其核心或最优解。 灵

新160个crackme - 045-CyTom-crackme

运行分析 需要破解Name和Serial PE分析 Delphi程序,32位,无壳 静态分析&动态调试 ida找到关键字符串,双击进入 动调主函数,函数sub_4251A0作用未知 函数sub_4251A0作用:Name每个字符ascii相乘 算法分析 Name = 'concealbear'a1 = 1for i in range(le

新160个crackme - 042-crackme

运行分析 提示需要key.dat文件 同目录下创建一个key.dat,提示key.dat内容不对 PE分析 C++程序,32位,无壳 静态分析&动态调试 ida搜索字符串,找到关键字符串双击进入关键函数 对关键函数进行分析,注释如上当满足67行公式时,将会执行下面函数发现89行有个VirtualProtect,即SMCSMC(Self-Modifying

CM下安装sentry

前言 本文档主要描述如何配置hadoop用户权限管理。CDH平台中,要启用授权管理,需要让集群集成sentry。 在进行权限管理前,请自行安装相关软件,安装版本如下,如遇不同版本,安装方法大致相同。 内容 版本 CentOS 7.4 64位 JDK 1.8 Cloud

Leetcode 160. 相交链表-----python

160. 相交链表 题目描述: 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 解题思路: python代码实现: class Solution(object):def getIntersectionNode(self, headA, headB):""":type head1, head1: ListNode:rtype: ListNode"""if he

新160个crackme - 041-genocide1

运行分析 提示未找到Reg.dat文件 同目录下创建Reg.dat即可打开程序点击About -> Register,打开注册窗口,但是无法点击OK键 PE分析 upx壳,32位 upx -d crackme.2.exe脱壳 发现是Delphi程序 静态分析&动态调试 DeDeDark打开程序进行分析,发现了注册窗体OK按钮:Butto

【手撕OJ题】——160. 相交链表

目录 🕒 题目⌛ 方法① - 遍历记录链表长度⌛ 方法② - 双指针 🕒 题目 🔎 160. 相交链表【难度:简单🟢】 🔎 面试题 02.07. 链表相交 🔎 剑指 Offer 52. 两个链表的第一个公共节点 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表