题目只做到了爆破这一层,注册流程比较麻烦,跟了一阵子没有头绪就放弃了,不想熬夜- -,大家可以看看吾爱论坛的帖子参考一下。
爆破来说还是比较简单的,拿到程序,运行了一下发现代码不太对劲,应该是被加壳了的,用peid一查,发现时upx的壳,脱掉还是比较简单的,之后拿到正常运行的程序运行,同时拿到dede下面分析:
发现1:
button注册的函数只有两行,可以判断出这个函数没有什么用。不是关键点:

004474C0   C7801C030000E7030000   mov     dword ptr [eax+$031C], $000003E7
004474CA   C3                     ret

查看其他的过程函数Timer2Timer

004473E4   53                     push    ebx
004473E5   8BD8                   mov     ebx, eax
004473E7   81BB04030000340C0000   cmp     dword ptr [ebx+$0304], $00000C34
004473F1   0F8488000000           jz      0044747F
004473F7   81BB080300000D230000   cmp     dword ptr [ebx+$0308], $0000230D
00447401   747C                   jz      0044747F
00447403   81BB10030000940F0000   cmp     dword ptr [ebx+$0310], $00000F94
0044740D   7570                   jnz     0044747F
0044740F   8B8318030000           mov     eax, [ebx+$0318]
00447415   3B8314030000           cmp     eax, [ebx+$0314]
0044741B   7562                   jnz     0044747F
0044741D   81BB1C030000E7030000   cmp     dword ptr [ebx+$031C], $000003E7
00447427   7456                   jz      0044747F
00447429   33D2                   xor     edx, edx
0044742B   8B83D8020000           mov     eax, [ebx+$02D8]
00447431   8B08                   mov     ecx, [eax]
00447433   FF515C                 call    dword ptr [ecx+$5C]
00447436   33D2                   xor     edx, edx
00447438   8B83DC020000           mov     eax, [ebx+$02DC]
0044743E   8B08                   mov     ecx, [eax]
00447440   FF515C                 call    dword ptr [ecx+$5C]
00447443   33D2                   xor     edx, edx
00447445   8B83E0020000           mov     eax, [ebx+$02E0]
0044744B   8B08                   mov     ecx, [eax]
0044744D   FF515C                 call    dword ptr [ecx+$5C]
00447450   33D2                   xor     edx, edx
00447452   8B83E4020000           mov     eax, [ebx+$02E4]
00447458   8B08                   mov     ecx, [eax]
0044745A   FF515C                 call    dword ptr [ecx+$5C]
0044745D   A1A8984400             mov     eax, dword ptr [$004498A8]
00447462   83C070                 add     eax, +$70
00447465   BA8C744400             mov     edx, $0044748C

有很多的cmp和jmp函数,可以看出这个函数的作用应该是比较大的,用ollydbg跟一下看到如下字符:

00447465    BA 8C744400     mov edx,dumped_.0044748C                 ; 厉害厉害真厉害!佩服佩服真佩服!!
0044746A    E8 EDC4FBFF     call dumped_.0040395C
0044746F    BA B8744400     mov edx,dumped_.004474B8                 ; 注册了
00447474    8B83 EC020000   mov eax,dword ptr ds:[ebx+0x2EC]
0044747A    E8 3DCCFDFF     call dumped_.004240BC
0044747F    5B              pop ebx
00447480    C3              retn

可以判断这就是关键的判断函数,找到这里就很容易爆破这个程序了。我们往上观察其实是有4个image的mousedown函数的,然后都会提示注册没有成功,

00447378    55              push ebp
00447379    8BEC            mov ebp,esp
0044737B    53              push ebx
0044737C    56              push esi
0044737D    8BD9            mov ebx,ecx
0044737F    8BF0            mov esi,eax
00447381    6A 00           push 0x0
00447383    66:8B0D B473440>mov cx,word ptr ds:[0x4473B4]
0044738A    B2 02           mov dl,0x2
0044738C    B8 C0734400     mov eax,dumped_.004473C0                 ; 注册尚未成功,同志仍需努力!  8)
00447391    E8 FEE2FFFF     call dumped_.00445694
00447396    84DB            test bl,bl
00447398    75 07           jnz short dumped_.004473A1
0044739A    8386 18030000 0>add dword ptr ds:[esi+0x318],0x7
004473A1    80FB 01         cmp bl,0x1
004473A4    75 07           jnz short dumped_.004473AD
004473A6    8386 18030000 1>add dword ptr ds:[esi+0x318],0x1B
004473AD    5E              pop esi
004473AE    5B              pop ebx
004473AF    5D              pop ebp
004473B0    C2 0C00         retn 0xC

嗯,,,之后就这样,,,嗯,,
看一下注册流程好了:

第一步:新建一个路径为X:\ajj.126.c0m\j\o\j\o\ok.txt的文本文件,文件内容的二进制为
20 61 6A 6A D0 B4 B5 C4 43 4B 6D 65D5 E6 C0 C3 21 FF FF,给出二进制的原因主要是因为后面两个字符FF FF打文本打不出来,这句话的文本显示为“ajj写的CKme真烂!
这个文件的作用就是会在界面中多显示出一个输入框(下面记为Edit2),但是初始是禁用的,输不了东西。
第二步:打开程序,初始化完成之后,鼠标右键点击“注册”按钮5次。记住一定是鼠标右键,而且必须是点击5次,如果点错不要找我哦;
第三步:在显示图片的图片框中双击没有图片显示的地方;
这一步完成之后,输入框Edit2就可以输入内容了。
第四步:输入注册名和Edit2,。这两个输入的内容也是有要求的,注册名长度必须是3的倍数,Edit2输入的内容长度必须为8,且第2个字符为’_’,第6个字符为’,’。
我在跟踪的时候分别输入的”trisinker”和”1_345,78”
第五步:输入完成之后,双击Edit2;
第六步:在图片3(“性相近“)出现时,移动鼠标从界面的右下角外部进入程序界面;
第七步:在图片2(“性本善“)出现时,移动鼠标从界面的左下角外部进入程序界面;
第八步:在图片 4(“习相远“)出现时,鼠标左键点击1次图片4,右键点击8次图片4.
注意这是最后一步,可能每台机器的状况都不一样。请勿按照上面说的点击。
其实这一步中点击图片1(“人之初“),图片2、图片3、图片4哪些图片,鼠标左键和右键各点击多少次,这个是一个很复杂的算法。
决定点击方式的参数就是输入的两个字符串,以及程序所在磁盘的剩余磁盘空间,在第五步的双击Edit2时候会计算出一个值存储在ds:[ebx+0x30C]中,
根据这个值就可以知道如何点击图片。

以上引用https://www.52pojie.cn/thread-366291-1-1.html的帖子。
发现其实button注册是有用的哈- -,但是这个注册key,,佩服大大的思想。。

吾爱破解160个crackme之005相关推荐

  1. 吾爱破解160个crackme之002

    吾爱的crackme160破解练习,想要慢慢一个个的搞定,然后记录下来. 002Afkayas.1.Exe 这个纯菜鸟入门的crackme,只要慢慢跟代码,其实很容易破解. 1. 打开dbg,运行程序 ...

  2. 吾爱破解160个crackme之004

    这个crackme我做了一阵子,一直没有出结果,所以看了一下 http://blog.csdn.net/liwz11/article/details/50717038 的帖子,根据dede的作用其实已 ...

  3. 吾爱破解160个crackme之007

    对于上面的006的破解还是比较简单的,我们现在打开第二个破解exe. 注意到 you cannot patch the.exe 好吧, 作者是让我们分析出其算法. 打开文件运行,用dede分析后,断点 ...

  4. 吾爱破解160个crackme之008 009 0010 0011

    这四个题都是一个人出的,怎么说,还是比较简单的,我们一个一个的来观察. 这四个题目都是vb编写,而且没有加壳. 008: 比较简单,打开一看,就是单纯的serial: 拖进od,查找字符串,关键点就出 ...

  5. 吾爱破解160个crackme之006

    这个题目的原话在这里 意思是将两个button隐藏掉即可... 其实我是挺想吐槽一下的= =. 我们打开pe文件的资源管理器,发现如下结构: object Ok: TButton Left = 24 ...

  6. 【Windows 逆向】OD 调试器工具 ( 推荐汉化版的 OD 调试工具 | 吾爱破解专用版Ollydbg | 备选工具 )

    文章目录 一.吾爱破解专用版Ollydbg 二.运行 OD 工具 一.吾爱破解专用版Ollydbg 从 OD 官方网站 http://www.ollydbg.de/ 下载的 Ollydbg1.10 工 ...

  7. 吾爱破解 - https://www.52pojie.cn

    吾爱破解 - https://www.52pojie.cn martian6125

  8. 吾爱破解培训第一课作业密码_如何实现您的第一个无密码登录系统

    吾爱破解培训第一课作业密码 You may have heard that there are 360 Million Reasons to Destroy All Passwords and tha ...

  9. 吾爱破解 2023 春节解题领红包之 Web 题解

    (图作者 | 吾爱破解@Ps出来的小赵) 文章目录 题目简介 初级难度 flag1 flag2 flag3 flag4 flagA 中级难度 flag5 flag6 flag7 flag8 flagB ...

最新文章

  1. java process 重定向_java – 没有重定向StdOut的Processbuilder
  2. leetCode-88. 合并两个有序数组
  3. windows下 安装 rabbitMQ 及操作常用命令
  4. FreeCodeCamp学习之数组查找去重
  5. [深度学习] 一篇文章理解 word2vec
  6. Linux禁止ip拒绝访问80,Linux iptables 设置允许(禁止)IP范围
  7. 让你更中立!腾讯微信进行灰度测试 “好看”变为“在看”
  8. Yum安装Memcache
  9. git在分支的基础上建分支
  10. Redis详解(四)——配置文件详解
  11. SARscape操作:Sentinel-1 SLC影像镶嵌、裁切
  12. Vim 经常使用快捷键及键盘图
  13. WMS系统仓库条码管理流程解析
  14. 计算机网络面试_笔试_牛客网总结
  15. 人体神经元结构示意图,神经细胞内部结构图
  16. 李南江的前端课程知识点(九)浮动流
  17. 电脑按F1/F12/F10等进不去BIOS进入BIOS里面Advance下设置CPU Setup的Intel Virtualization Technology设置Linux长模式不兼容
  18. HTML+CSS 简单的顶部导航栏菜单制作
  19. leetcode: 70. Climbing Stairs
  20. JS实现文件下载(适应多种浏览器)

热门文章

  1. 基于GLT法的风云三号气象卫星校正
  2. 职称评审--全国各地政策汇总
  3. 加高花园床市场现状分析
  4. 小猿搜题如何发现竞品的阴谋?知情人这样说
  5. python优雅的写法
  6. STM32软件架构设计
  7. android软引用如何使用方法,Android的四种引用(强引用、弱引用、软引用、虚引用)...
  8. Django实现adminx后台关闭顶部的搜索栏
  9. 程序员的出路是什么?
  10. 23种设计模式UML表示形式