吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2768|回复: 26
收起左侧

[原创] 练习笔记之160Crackme-031

[复制链接]
xiaoyu2032 发表于 2022-7-30 23:03

160CM-031

1. 爆破

  爆破比较简单,搜索关键字符,找到第一个跳转位置00402EE2     /0F84 A1000000 je cracking.00402F89,将je改成jmp;找到第二个跳转位置00402FC1     /0F84 8F000000 je cracking.00403056,将该行代码nop掉,就可以了。

2. 算法分析

  用VB Decompiler反编译,找到按键响应事件代码如下:

04.png

  从伪代码来看,基本可以看出是将输入的密码字符串经过两次异或运算后,与VeiajeEjbavwij进行比较。其中第二次异或运算反汇编识别的不是很准确,需要OD跟踪确认一下函数和参数。

  使用vs2015编写验证程序如下:

Module Module1
    Sub Main()
        Dim key As String
        Dim password As String
        Dim temp1 As String
        Dim temp2 As String
        Dim i As Int32
        Dim j As Int32
        Dim length As Int32
        temp1 = ""
        temp2 = ""
        Console.WriteLine("请输入密码:")
        key = Console.ReadLine()
        length = Len(key)
        For i = 1 To length
            temp1 = temp1 & Chr(Asc(CStr(Left(4, 1))) Xor Asc(CStr(Mid(key, i, 1))))
        Next
        Console.WriteLine("temp1为:" + temp1)
        For i = 1 To length
            j = i Mod 4
            If j = 0 Then j = 4
            temp2 = temp2 & Chr(Asc(Mid(temp1, i, 1)) Xor Asc(Mid(2000, j, 1)))
        Next
        Console.WriteLine("temp2为:" + temp2)
        Console.WriteLine("按回车键退出程序!")
        Console.ReadLine()
    End Sub
End Module

  输入字符串abcdef,可以得到前后两次异或运算的结果字符串如下,与OD跟踪的计算结果一致,说明算法正确。

01.png

  剩下的就是反向运算,通过已知的字符串VeiajeEjbavwij,计算得到password。根据异或运算的特点,只需要将已知的字符串VeiajeEjbavwij做输入量,经过两次异或运算,就能得到正确的password。

03.png

  将PamelaAnderson输入程序输入框,验证正确。

02.png

3. 总结

  这道题相较上一道题,多了一次异或运算过程。由于反编译识别的结果不大准确,因此第二次异或运算的细节需要动态调试跟踪一下来确定。其中比较关键的函数就是rtcMidCharVar ,这个函数的功能是从字符串中取相应字符,实际就是VB中的MID函数,用法MID("字符串","开始的位置","取几个字符")。

汇编调用示例及参数含义如下:

push ecx        ;取几个字符
push edx        ;开始的位置
push eax        ;字符串
push ebx        ;结果存放地址
call rtcMidCharVar 

免费评分

参与人数 12吾爱币 +16 热心值 +10 收起 理由
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Bbcoq + 1 + 1 我很赞同!
抄经大弟子 + 1 + 1 热心回复!
jzyamia + 1 谢谢@Thanks!
Pather + 1 + 1 我很赞同!
aw220 + 1 我很赞同!
抱薪风雪雾 + 1 + 1 谢谢@Thanks!
elevo + 1 + 1 谢谢@Thanks!
李佑辰 + 1 我很赞同!
Vardven + 1 + 1 热心回复!
baihs + 1 谢谢@Thanks!
loo1221ool + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

JamesNice 发表于 2022-7-31 00:00
太棒了,收藏了,非常喜欢。
HenryZhao007 发表于 2022-7-31 01:49
camyan 发表于 2022-7-31 08:16
y29111150 发表于 2022-7-31 08:39
不明觉厉啊
fsrxn 发表于 2022-7-31 09:10
感谢分享
核桃 发表于 2022-7-31 09:29
感谢楼主分享精神,收藏起来学习学习
ovz 发表于 2022-7-31 12:03
谢谢楼主,很好的经验
woYaoGuoSiJi 发表于 2022-7-31 15:36
楼主厉害啊,学习了
Topstone 发表于 2022-7-31 15:46
好好好,好好好
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-16 05:20

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表