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

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4881|回复: 15
收起左侧

[原创] 160CrackMe练手 001

[复制链接]
52_aha 发表于 2017-9-16 01:45

160CrackMe 001

学了差不多快两周了,一直在看书,偶尔得知了这个160CrackMe,不知道第一个是不是最简单的,拿来练练手,对我这个逆向新手来说还是很有难度,欢迎大家和我一起交流一起学习,个人对编程熟悉点,逆向刚开始学习

peid判断无壳,打开输入伪码注册,根据报错od查找字符串
接下来定位到字符串周边代码  


0042FA15  |.  8D55 F0       lea edx,[local.4]
0042FA18  |.  8B83 DC010000 mov eax,dword ptr ds:[ebx+0x1DC]
0042FA1E  |.  E8 35B0FEFF   call Acid_bur.0041AA58
0042FA23  |.  8B45 F0       mov eax,[local.4]
0042FA26  |.  0FB640 03     movzx eax,byte ptr ds:[eax+0x3]
0042FA2A  |.  6BF0 0B       imul esi,eax,0xB
0042FA2D  |.  8D55 EC       lea edx,[local.5]
0042FA30  |.  8B83 DC010000 mov eax,dword ptr ds:[ebx+0x1DC]
0042FA36  |.  E8 1DB0FEFF   call Acid_bur.0041AA58
0042FA3B  |.  8B45 EC       mov eax,[local.5]                        ;  堆栈中可看到[local.5和4]都是你输入的用户名
0042FA3E  |.  0FB640 02     movzx eax,byte ptr ds:[eax+0x2]
0042FA42  |.  6BC0 0E       imul eax,eax,0xE
0042FA45  |.  03F0          add esi,eax
0042FA47  |.  8935 58174300 mov dword ptr ds:[0x431758],esi
0042FA4D  |.  A1 6C174300   mov eax,dword ptr ds:[0x43176C]
0042FA52  |.  E8 D96EFDFF   call Acid_bur.00406930
0042FA57  |.  83F8 04       cmp eax,0x4                              ;  如果用户名长度大于等于4跳转
0042FA5A  |.  7D 1D         jge short Acid_bur.0042FA79
0042FA5C  |.  6A 00         push 0x0
0042FA5E  |.  B9 74FB4200   mov ecx,Acid_bur.0042FB74                ;  Try Again!
0042FA63  |.  BA 80FB4200   mov edx,Acid_bur.0042FB80                ;  Sorry , The serial is incorect !
0042FA68  |.  A1 480A4300   mov eax,dword ptr ds:[0x430A48]
0042FA6D  |.  8B00          mov eax,dword ptr ds:[eax]
0042FA6F  |.  E8 FCA6FFFF   call Acid_bur.0042A170
0042FA74  |.  E9 BE000000   jmp Acid_bur.0042FB37
0042FA79  |>  8D55 F0       lea edx,[local.4]
0042FA7C  |.  8B83 DC010000 mov eax,dword ptr ds:[ebx+0x1DC]
0042FA82  |.  E8 D1AFFEFF   call Acid_bur.0041AA58
0042FA87  |.  8B45 F0       mov eax,[local.4]                        ;  取你输入的用户名
0042FA8A  |.  0FB600        movzx eax,byte ptr ds:[eax]              ;  取用户名的第一个字母放入eax
0042FA8D  |.  F72D 50174300 imul dword ptr ds:[0x431750]             ;  eax = eax * 29h
0042FA93  |.  A3 50174300   mov dword ptr ds:[0x431750],eax
0042FA98  |.  A1 50174300   mov eax,dword ptr ds:[0x431750]
0042FA9D  |.  0105 50174300 add dword ptr ds:[0x431750],eax          ;  [0x431750] = eax * 2
0042FAA3  |.  8D45 FC       lea eax,[local.1]
0042FAA6  |.  BA ACFB4200   mov edx,Acid_bur.0042FBAC                ;  CW
0042FAAB  |.  E8 583CFDFF   call Acid_bur.00403708                   ;  观察堆栈可发现"CW" ==>  [local.1]
0042FAB0  |.  8D45 F8       lea eax,[local.2]
0042FAB3  |.  BA B8FB4200   mov edx,Acid_bur.0042FBB8                ;  CRACKED
0042FAB8  |.  E8 4B3CFDFF   call Acid_bur.00403708                   ;  观察堆栈可发现"CRACKED"放入了[local.2]
0042FABD  |.  FF75 FC       push [local.1]                           ;  Acid_bur.0042FBAC
0042FAC0  |.  68 C8FB4200   push Acid_bur.0042FBC8                   ;  -  ;两个push把"CW"和"-"入栈
0042FAC5  |.  8D55 E8       lea edx,[local.6]
0042FAC8  |.  A1 50174300   mov eax,dword ptr ds:[0x431750]
0042FACD  |.  E8 466CFDFF   call Acid_bur.00406718                   ;  用户名第一个字母*29*2的值放入[local.6]
0042FAD2  |.  FF75 E8       push [local.6]
0042FAD5  |.  68 C8FB4200   push Acid_bur.0042FBC8                   ;  -
0042FADA  |.  FF75 F8       push [local.2]                           ;  "用户名第一个字母*29*2","-","CRACKED"入栈
0042FADD  |.  8D45 F4       lea eax,[local.3]
0042FAE0  |.  BA 05000000   mov edx,0x5
0042FAE5  |.  E8 C23EFDFF   call Acid_bur.004039AC                   ;  CW-算好的数据-CRACKED  放入[local.3]
0042FAEA  |.  8D55 F0       lea edx,[local.4]
0042FAED  |.  8B83 E0010000 mov eax,dword ptr ds:[ebx+0x1E0]
0042FAF3  |.  E8 60AFFEFF   call Acid_bur.0041AA58
0042FAF8  |.  8B55 F0       mov edx,[local.4]                        ;  取出你输入的密码=>edx
0042FAFB  |.  8B45 F4       mov eax,[local.3]                        ;  正确密码=>eax
0042FAFE  |.  E8 F93EFDFF   call Acid_bur.004039FC
0042FB03  |.  75 1A         jnz short Acid_bur.0042FB1F              ;  判断密码是否正确
0042FB05  |.  6A 00         push 0x0
0042FB07  |.  B9 CCFB4200   mov ecx,Acid_bur.0042FBCC                ;  Congratz !!
0042FB0C  |.  BA D8FB4200   mov edx,Acid_bur.0042FBD8                ;  Good job dude =)
0042FB11  |.  A1 480A4300   mov eax,dword ptr ds:[0x430A48]
0042FB16  |.  8B00          mov eax,dword ptr ds:[eax]
0042FB18  |.  E8 53A6FFFF   call Acid_bur.0042A170
0042FB1D  |.  EB 18         jmp short Acid_bur.0042FB37
0042FB1F  |>  6A 00         push 0x0
0042FB21  |.  B9 74FB4200   mov ecx,Acid_bur.0042FB74                ;  Try Again!
0042FB26  |.  BA 80FB4200   mov edx,Acid_bur.0042FB80                ;  Sorry , The serial is incorect !

注册算法就是password = "CW-" + 取用户名第一位asciix29x2 + "=CRACKED"  

注册机(python):  


import sys

username = sys.argv[1]
password = ord(username[0])*0x29*0x2
print("password:"+"CW-"+"%d"%(password)+"-CRACKED")

测试:  


C:\Users\Administrator\Desktop>python 1.py akkuman
password:CW-7954-CRACKED

免费评分

参与人数 4吾爱币 +8 热心值 +4 收起 理由
都同学 + 1 + 1 用心讨论,共获提升!
bestyyb + 1 + 1 用心讨论,共获提升!
Sound + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
带色的小马甲 + 1 + 1 用心讨论,共获提升!

查看全部评分

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

 楼主| 52_aha 发表于 2017-9-17 00:17
Cyrus_xxx 发表于 2017-9-16 18:48
两周的学习时间就能够分析的如此清晰,厉害!

其实是因为有编程的底子,汇编学起来理解的倒是挺快,然后找了些简单的破文看了些贴,倒是可以搞一些十分简单的程序了
pk8900 发表于 2017-12-24 20:41
https://www.52pojie.cn/thread-403484-1-1.html
第一个的,首先这160个不是按难度排列的,其次论坛已经有不少文章关于这方面的,我现在进度是53个,53之前约有4-5个没有人发贴,可以论坛里搜索。
y2008 发表于 2017-9-16 03:40
灰太狼大王 发表于 2017-9-16 06:35
厉害,我001都没学会
带色的小马甲 发表于 2017-9-16 09:13
一上手就分析算法,厉害了
 楼主| 52_aha 发表于 2017-9-16 10:36
带色的小马甲 发表于 2017-9-16 09:13
一上手就分析算法,厉害了

以前有编程基础可能也是运气比较好,对了,我想问下,为什么有的程序调试的时候,第二次重新开始调试就无法f7,f8了
带色的小马甲 发表于 2017-9-16 10:49
52_aha 发表于 2017-9-16 10:36
以前有编程基础可能也是运气比较好,对了,我想问下,为什么有的程序调试的时候,第二次重新 ...

小白一个,看看是不是断点作怪
 楼主| 52_aha 发表于 2017-9-16 14:50
带色的小马甲 发表于 2017-9-16 10:49
小白一个,看看是不是断点作怪

论坛找了方法od配置文件Restore Windows 的值该为0,有的程序还是第二次打开就无法单步
風—飞鸟 发表于 2017-9-16 16:55
感谢分享!!!
Cyrus_xxx 发表于 2017-9-16 18:48
两周的学习时间就能够分析的如此清晰,厉害!
bestyyb 发表于 2017-9-16 21:51
可惜我不会编程,所以什么算法也不懂。
您需要登录后才可以回帖 登录 | 注册[Register]

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

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

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

GMT+8, 2024-3-29 18:33

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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