CrackMe160 学习笔记 之 010

编程入门 行业动态 更新时间:2024-10-20 21:03:43

CrackMe160 <a href=https://www.elefans.com/category/jswz/34/1770117.html style=学习笔记 之 010"/>

CrackMe160 学习笔记 之 010

前言

这个程序是009的升级版。

似乎还加了反调试的功能。

不过,并不妨碍我们攻破它。

如图。

思路

在验证函数处下断点。

如图。

观察发现是把输入转换后的字符串和固定的字符串比较。

同样的套路,观察堆栈,这个程序又用0x0012F4B4来保存生成后的新字符串。

继续下内存断点,轻松解决。

又可以水一篇博客了。

分析

这个程序的代码和上个程序基本一致,所以不分析了,就看一下不同的地方。

00401FAA   .  FF15 08414000 call    dword ptr [<&MSVBVM50.#516>]     ; \rtcAnsiValueBstr
00401FB0   .  66:05 0A00    add     ax, 0A                           ;  ax = ax + 0x0A
00401FB4   .  0F80 B0020000 jo      0040226A
00401FBA   .  0FBFD0        movsx   edx, ax
00401FBD   .  52            push    edx
00401FBE   .  FF15 70414000 call    dword ptr [<&MSVBVM50.#537>]     ;  MSVBVM50.rtcBstrFromAnsi
00401FC4   .  8985 7CFFFFFF mov     dword ptr [ebp-84], eax
00401FCA   .  8D45 CC       lea     eax, dword ptr [ebp-34]
00401FCD   .  8D8D 74FFFFFF lea     ecx, dword ptr [ebp-8C]
00401FD3   .  50            push    eax
00401FD4   .  8D95 64FFFFFF lea     edx, dword ptr [ebp-9C]
00401FDA   .  51            push    ecx
00401FDB   .  52            push    edx
00401FDC   .  C785 74FFFFFF>mov     dword ptr [ebp-8C], 8
00401FE6   .  FFD3          call    ebx
00401FE8   .  8BD0          mov     edx, eax
00401FEA   .  8D4D CC       lea     ecx, dword ptr [ebp-34]
00401FED   .  FFD6          call    esi

把字符串每个字符都加上0x0A生成新字符串。

注册机代码

#include<stdio.h>
int main()
{char key[]="kXy^rO|*yXo*m\\kMuOn*+"; // \ 需转义int len=strlen(key);for(int i=0;i<len;i++){key[i]-=0x0A;}printf("key:%s",key);return 0;
}

更多推荐

CrackMe160 学习笔记 之 010

本文发布于:2024-03-09 15:14:14,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1725344.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:学习笔记

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!