OllyDbg 使用笔记 (十七)
参考
书:《加密与解密》
视频:小甲鱼 解密系列 视频
示例程序现在地址:http://pan.baidu.com/s/1pJ1AguZ
破解这个程序的注册机(keygen)
这个程序主界面就是两个输入框,跟check,about按钮。
可以从两个输入栏入手,用OD加载程序,右键-->查找-->所以摸快间的调用,搜索跟输入框的API,可以搜索GetDlgItemTextA
(也可以在Commod中输入 bp GetDlgItemTextA 即可直接对指定API下断点)
图片1
可以搜索到两个。
点击进入,查看,前后代码。下断点,重新运行程序,可以发现,这两个正是输入的name跟key的输入框。
按F8接着运行程序,可以发现
图片2
这正是注册机的代码。可以把它写成c语言就是
char name[100]={0}; scanf("%s",name); int i; int esi=0; int ebx=0; int edx=0; for(i=0;i<strlen(name);++i) { edx = name[i]; ebx = edx; ebx *= edx; esi += ebx; ebx = edx; ebx = ebx>>1; ebx = ebx+3; ebx = ebx*edx; ebx -= edx; esi += ebx; esi += esi; } printf("%x\n",esi);
原文地址:http://blog.csdn.net/billvsme/article/details/39102625