最近感觉自己啥都不会吧,就算会也就是点皮毛,还是练的太少了,从160个crackme开始
慢慢来吧,从简单的开始
1.Acid burn
OD动态调试一下,靠字符串定位打断点,如下
跟进这个函数可以看到明文密码
next
2.Afkayas.1
直接对着字符串打断点,爆破
试试看写一下注册机
因为这程序是用vb写的,就没法用IDA了,只能看一下汇编
先再次执行,搜索字符串下断点,然后网上翻,慢慢找注册码生成的函数部分
注册码在这部分往下
可以看见先取出了我们的第一个字母
然后在这里生成了一个数字,应该是对应我们的输入会生成数字
我们继续单步执行,在过程中8NC多次出现,目前还不知道是什么意思
这里密码和我们之前对应生成的数字都出现了,然后底下会有一个strcat函数,会在数字前面加上AKA,那这里应该是最后生成密码的部分,那生成密码的函数体就是在这一段区间里了
那我们从402412push name开始分析,分析在注释里
这里就已经是780368,那之后无非就是加上了一个AKA
keygen
s=input('your name:')
length=len(s)
a=ord(s[0])
length*=0x17CFB
a+=length
#print(a)
serial=''
serial+='AKA-'
serial+=str(a)
print(serial)
3.AfKayAs.2
这题一开始会有个nag窗口来耗费我们的时间,我们首先考虑怎么去掉它
在OD里可以看见,这个程序依然是一个vb程序,vb里面有个消除nag窗口的方法叫做4C法,很神奇……本来想用resource_hacker的,但貌似vb不行
刚开始push的是4067D4,在数据窗口中往后移动4c
数据窗口处的值是406868,再次跟踪过去
是不是觉得有重复段,这些段对应的就是加载窗口,每段的第24个字节对应的是加载的顺序,我们nag窗口的加载顺序换到后面去,就可以直接忽略掉它了,我们把01和00互换就OK了
怎么下断点就不说了,我是靠字符串的,暂停的效果我觉得差不多