一道很骚的CrackMe

这个题目是 10年看雪的一个大佬出的crackme

 我一个伙计不知道怎么就拔出来 让我看了,。。。。

其实这个题目本身并不难,,  这两天打比赛打的太累了,,, 感觉自己不太在状态,,,

CrackMe的链接

https://bbs.pediy.com/thread-111995.htm

然后  这个crackme 的大致情况就是如此

我一开始是用 sub 0xa 来找 按钮事件,

 然后我发现 这个程序逻辑点 还要很长  直接下一个 内存访问断点  然后发现了这里的算法

其实到这基本就可以了

然后就是分析硬核的算法了

这里我整理了一下   大概就是 

name 长度大于5
serial 长度大于19

然后 每第五位 是  -   

然后循环5次

然后 就是 sum  += sum (name[(name_len-i)])

然后就是

 然后再往下看  进入关键函数看

发现了我们上面说的那个点,

然后我们写出注册机。

table="zouzhiyong"
name="pipixia"

flag=""
count=0
for i in range(0,5):
	temp=ord(name[i])
	for j in range(1,len(name)-i):
		temp+=ord(name[j])

	while temp<10000:
		temp*=3
	temp = temp / 3
	while temp:
		dnum=temp%10
		temp=int((temp-dnum)/10)
		strs=ord(table[dnum])
		strs=strs-32-(strs%5)-(strs%2)
		if count%5==4:
			count+=2
			flag+='-'+chr(strs)
		else:
			count+=1
			flag+=chr(strs)

	

print(flag)


发布了312 篇原创文章 · 获赞 44 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qq_41071646/article/details/103040474