-
-
[原创]1-CrackMe破解过程
-
发表于: 2016-11-2 12:00 2655
-
破解工具:OD+IDA
破解过程:
1、将程序拖入IDA中,通过导入表判定无壳,查看GetDlgItemTextW的引用找到窗口过程函数0X2120(RVA)。
2、找到OK Button的处理函数 0x22c4。该处理函数通过CreateThread创建一个线程来判断注册码。线程函数0x20e0。
3、线程函数中的几个关键判断:
函数0x1C00:判断注册码中是否有b。
函数0x2A50:判断注册码中是否有p。
地址0x1DE6:判断注册码长度是否为7。
函数0x1870:注册码中的字母个数必须为2,注册码中第3、4、5、6位必须依次为1、5、p、b。
函数0x1740:注册码中第1位必须为1,第2位必须为2,第7位必须为8。
地址0x1edo:通过QueryPerformanceCounter来反调试,将跳转处NOP掉即可。
破解过程:
1、将程序拖入IDA中,通过导入表判定无壳,查看GetDlgItemTextW的引用找到窗口过程函数0X2120(RVA)。
2、找到OK Button的处理函数 0x22c4。该处理函数通过CreateThread创建一个线程来判断注册码。线程函数0x20e0。
3、线程函数中的几个关键判断:
函数0x1C00:判断注册码中是否有b。
函数0x2A50:判断注册码中是否有p。
地址0x1DE6:判断注册码长度是否为7。
函数0x1870:注册码中的字母个数必须为2,注册码中第3、4、5、6位必须依次为1、5、p、b。
函数0x1740:注册码中第1位必须为1,第2位必须为2,第7位必须为8。
地址0x1edo:通过QueryPerformanceCounter来反调试,将跳转处NOP掉即可。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
他的文章
看原图
赞赏
雪币:
留言: