吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1919|回复: 3
收起左侧

[新手问题] 160个craceme边学边做160-1

[复制链接]
jixiangas 发表于 2019-8-23 17:29
本帖最后由 jixiangas 于 2019-8-29 12:10 编辑

一直没坚持下来,现在终于有时间了,记录一下破解路程2019年8月23日
之前学过的都忘记了,感觉还是没有思路,边看帖子边写吧。帖子应该可以随时更新的吧。
环境和准备:xp系统,网盘存的吾爱破解的OD,网上下载的peid。运行sendto命令加入快捷方式。

(看到图了,原来需要点击加进去……)
你还需要下面的这个东西,站内搜,打开点名字就可以下载压缩包。

crackme

crackme


第一次打开是这个

1

1

标题直译是你好,你需要杀了我。。。
内容是欢迎。。。
确定就没了。我先去看攻略。。。
主界面

界面1

界面1



exit应该是退出,这个竟然是认输,还以为是退出


点第一个按钮后

界面1-1

界面1-1

输入你的名字,序列号,第一个是检查,第二个认输

界面1-1错误

界面1-1错误

随便输入就弹出个错误界面来,估计需要这个内容来下手。
正式开始,快捷方式进od

快捷方式

快捷方式

点一下全屏

od第一个界面

od第一个界面

好难看懂

od全屏

od全屏

先运行,看看

运行1

运行1

还以为没反应,最小化后在桌面上

运行1-1

运行1-1

再重新开始

重新开始1

重新开始1
攻略没看懂,明天继续。。。
--------------------------------------------------------------------------------------------
手机继续更新:
少个查壳的过程,壳是什么东西我也不知道。。。反正没壳就行。
程序右键发送到peid,发现是delphi编写的,没壳。
明天下载第二个程序,如果这个也是delphi编写的,那就都运行od对比一下,跟我去找茬。
--------------------------------------------------------------------------------------------
2019年8月24日周六
peid delphi3.0程序写的①,找到后面标delphi的下载,peid delphi4.0-.5.0 一个工具 版本不一样,应该没多大关系

peid4

peid4
od对比图

中间是汇编语言,先对比10行数据。
1 push ebp
2 move ebp,esp
3 add esp,-0xC
4  mov eax,后面的应该是程序名字
①mov eax,Acid_bur.0042FC88
②mov eax,CKme.00458188
5 call,后面的应该是程序名字
① call Acid_bur.004050EC                  
② call CKme.00405F30   
6 mov eax,dword ptr ds:[],中括号里面的内容不一样
①mov eax,dword ptr ds:[0x430A48]
②mov eax,dword ptr ds:[0x45A54C]
7 mov eax,dword ptr ds:[eax]      
8 call跟5重复
①call Acid_bur.00429F74                  
②call CKme.00440E34                       
9 跟6重复
mov ecx,dword ptr ds:[0x43097C]         
mov eax,dword ptr ds:[0x45A54C]         
10跟6重复
mov eax,dword ptr ds:[0x430A48]     
mov eax,dword ptr ds:[eax]              

开始看攻略,百度……
F8可以按顺序执行每一条汇编语句,F7可以在有函数也就是标call的地方进入,ctrl+F2可以从新开始,F9可以直接执行程序,F12是暂停程序,F2是下断点,执行程序后就停在这条上面不执行,可以接F8或F7。
最后一个窗口可以双击加汉语注释。

1单步F8

1单步F8

到这里弹出主界面,注释一下。

主界面1

主界面1

思路是把这个弹窗的call直接删除,百度了一下需要在这条上按空格,然后输入nop,然后点汇编,点取消

nopcall1

nopcall1

然后代码会变成红色nop,这个时候如果ctrl+F2重新开启程序,刚才的变更又没有了,再去问度娘。
需要把改动的地方重新保存成新的程序才可以。
步骤1,nop完变红色后,右键点复制到可执行文件,所有修改

改存1-0

改存1-0

2全部复制

改存1-1

改存1-1

3弹出新的窗口继续右键选保存文件

改存1-2

改存1-2

4随便取个名字保存

改1

改1

5关闭OD,重新用od打开这个新程序。
好吧,主界面没了,还得重新来看。。。
找到问题,原来删除的这个函数部分后不完整导致报错。
用最笨的方法,F7进入后测试每个单独的call删除掉。
--------------------------------------------------------------------------------------------------
方式一:F8一个个试
步骤1
0042FD97   .  E8 F0A1FFFF   call Acid_bur.00429F8C                   ;  弹出窗口,F7进第一个
0042FD97   .  E8 F0A1FFFF   call Acid_bur.00429F8C                   ;  2,nop还是没有,继续下一个
00429FC2   .  FF56 24       call dword ptr ds:[esi+0x24]             ;  3,直接弹出内存错误来,下一个

nop3报错

nop3报错

0042563D    FF93 CC010000   call dword ptr ds:[ebx+0x1CC]            ; 4,可以了

nop4成功

nop4成功
步骤2
F7进入这个4号函数,可以看到弹窗内容的注释,跟第一次的弹窗内容是一样的。

nop4入

nop4入

0042F784    6A 00           push 0x0                                                   ;开始
0042F786    B9 A0F74200     mov ecx,Acid_bur.0042F7A0                ; hello you have to kill me!
0042F78B    BA BCF74200     mov edx,Acid_bur.0042F7BC                ; Welcome to this Newbies Crackme made by ACiD BuRN [CracKerWoRlD]
0042F790    A1 480A4300     mov eax,dword ptr ds:[0x430A48]
0042F795    8B00            mov eax,dword ptr ds:[eax]               ; Acid_bur.0042F610
0042F797    E8 D4A9FFFF     call Acid_bur.0042A170                   ; 5--只nop这条还是会报内存错误
0042F79C    C3              retn                                                           ;结束
步骤3
可以把这些都删掉,留最后一行。也可以在第一行用jmp 0042F79C,
0042F79C叫地址类似于门牌号吧,就在每一行的第一列。
跳到最后一行,刚进来就结束的意思,等于没有执行中间的部分。


nop需要一直点直到这条语句完全删除,一行有时候需要nop3次才能删除掉,保存有这条提示点是就好了,不知道什么意思。

报错提示

报错提示

如果把结束行也删掉,程序是会报下面的错误。

nop返回5

nop返回5



方式二:有字符串,可以使用查找字符串的方式,右键中文搜索引擎-搜索ascii

ctrl+f查找字符串
hello you have to kill me!  双击就可以转到汇编了,然后进行方式一步骤2继续。

方式三:对话框下断点

下断

下断

选择mba

mba

mba

点击b可以看到断点已经下好了

b

b

运行程序,

mba1

mba1

F8运行到这里就会弹出对话框来了

mba2

mba2

点击确定后,按F8一直往下运行,直到结束这个函数,可以看到上一行我们分析的4call,F2下断点

mba3

mba3

重新运行,来到4call,进入后看到5call

mba4

mba4

进入5call,下面可以看到mba,进入

mba5

mba5

F8

mba6

mba6

这样就来到我们下断点的位置了

mba7

mba7

然后逆向思考一下,如果重新载入断点被禁用了,可以点b,选择断点然后右键激活
1  把4call删除测试可以
2  把 call <jmp.&user32.MessageBoxA>           ;  mba删除也可以
3  把 jmp dword ptr ds:[<&user32.MessageBoxA>] ;  user32.MessageBoxA 删除后无法打开了
4  call user32.MessageBoxExA                ; 弹出对话框,这个应该是mba这个函数,删除不掉,他的里面做任何改动都没法保存

弹窗到此分析完毕。断点是一个个测试的,虽然费时间,但是就10几个断点,感觉熟悉了比跑F8快。
然后是主窗口,把删除对话框的保存成新程序,用OD载入,之前的注释都没有了(这点不方便)
运行程序,F12暂停,来到一个函数的结尾,F8继续
7C92E514 >  C3              retn
F8
77D19418    C3              retn
这个的上一条显示
WaitMessage,直译是等待信息
0042A58D   .  E8 6EB3FDFF   call <jmp.&user32.WaitMessage>           ; [WaitMessage
0042A592   > \33C0          xor eax,eax
F8
0042A5AC   .  C3            retn
F8
0042A5BA   .  C3            retn
F8一直在这里循环了

循环

循环


往上看有个入口地址,再往上是用F8分析过的主窗口函数的开始。

入口地址

入口地址

还是看循环最后一跳语句,第一列是个门牌号,返回到程序开头
0042A0A5   .^\74 EF         je short Acid_bur.0042A096

这个call的门牌号是0042A018跟上面的地址对接近,这样也能找到程序开始,这样下断点就比较快一些了。
0042FDD3   .  E8 40A2FFFF   call Acid_bur.0042A018                   ;  主窗体

主程序

主程序

问题不是删除这个主窗口,所有找这个也没什么用
重新载入程序,点第一个按钮进入程序界面,问题来了,输入东西点按钮,什么提示都不弹出来了。
估计之前的修改是有问题的
问题应该是后面的注册会用到前面的参数,有一般测试是不能用的,下次找时间都测试出来。
--汇总
测试带user32的call程序不能删除,

程序5以后的都是user32,此行删除对话框看不到了,但是后面的注册错误的弹窗也 不会出现了
0042A1A9  |.  E8 FAB5FDFF   call <jmp.&user32.MessageBoxA>           ; \5删除后面的注册也不弹窗了
0042F797    E8 D4A9FFFF     call Acid_bur.0042A170                   ; 4删除内存错误
0042563D    FF93 CC010000   call dword ptr ds:[ebx+0x1CC]            ; 3目前正常
00429FC2    FF56 24         call dword ptr ds:[esi+0x24]             ; 2删除内存错误
0042FD97    E8 F0A1FFFF     call Acid_bur.00429F8C                   ; 1删除少主窗口
删除3后,可以弹出错误信息了。
继续看攻略。。。
--------------------------------这个是个短暂的结束,不知道为什么下面会有那么多图,编辑了也看不到--------------------------------------------

peid1

peid1

delphi4

delphi4

对比1

对比1

对比2

对比2

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

yanmingming 发表于 2019-8-23 17:51
楼主加油!
Mr.Lih 发表于 2019-8-23 18:34
莫莫 发表于 2019-8-24 18:08
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-25 16:18

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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