0x03.Afkayas.2-WP
2018-02-01 12:43
134 查看
先打开程序看看:
需要解决一开始的NAG窗口和之后的serial(做完了回来补充:name可以不是数字,因为通过name生成数组字符串,但是serial必须是数字,因为要进行浮点数之间的比较,所以如果不是数字会报错)
通过搜索关键字符串找到了这里:
发现了You Get it,进入汇编代码位置,发现关键跳转函数:
所以很简单,只要把je给nop掉就能显示You Get It 了:
接下来开始想办法写Keygen了:
往上查找,看到了一个VbaStrMove函数,应该在搞事情,所以设断点后重新运行,发现了寄存器中疑似serial的东西
又因为name和serial只能是数字,所以这个可能就是完整的serial,输入进去看了一下,果然正确了:
那我们就继续向上去找生成serial的函数,找了好久之后找到了这里:
应该就是生成serial的入口了(跟Afkayas.1挺像),接下来开始分析这段函数
执行到这里就可以看到正确的serial了,说明算法到这里应该就结束了,不过谨慎起见再看看:
果然发现下一步跳到的地方开始将我们输入的serial变成浮点数然后进行比较了。
所以最后的serial=[len(name)*15B38+ASCII(NAME[0])+10/5]*3-2-(-15)
keygen如下:
需要解决一开始的NAG窗口和之后的serial(做完了回来补充:name可以不是数字,因为通过name生成数组字符串,但是serial必须是数字,因为要进行浮点数之间的比较,所以如果不是数字会报错)
通过搜索关键字符串找到了这里:
发现了You Get it,进入汇编代码位置,发现关键跳转函数:
所以很简单,只要把je给nop掉就能显示You Get It 了:
接下来开始想办法写Keygen了:
往上查找,看到了一个VbaStrMove函数,应该在搞事情,所以设断点后重新运行,发现了寄存器中疑似serial的东西
又因为name和serial只能是数字,所以这个可能就是完整的serial,输入进去看了一下,果然正确了:
那我们就继续向上去找生成serial的函数,找了好久之后找到了这里:
应该就是生成serial的入口了(跟Afkayas.1挺像),接下来开始分析这段函数
执行到这里就可以看到正确的serial了,说明算法到这里应该就结束了,不过谨慎起见再看看:
果然发现下一步跳到的地方开始将我们输入的serial变成浮点数然后进行比较了。
所以最后的serial=[len(name)*15B38+ASCII(NAME[0])+10/5]*3-2-(-15)
keygen如下:
#include<iostream> #include<string.h> using namespace std; int main(int argc,char *argv[]) { int serial; char name[50]; while(1) { cout<<"Input the name:"; cin>>name; serial=strlen(name)*(0x15B38)+name[0]+10/5; serial=serial*3-2+15; cout<<"The serial is:"<<serial<<endl; cout<<"Coutinue or not(y/n)?"; char temp; cin>>temp; if(temp=='n') break; } system("pause"); return 0; }
相关文章推荐
- wp控件大全
- wp json解析
- 至少现在觉得学习WP开发比找个女孩聊天来得有劲头
- WP仿真器使用物理键盘输入文字
- WP开发入门指南:如何学习WP开发?
- WP开发加载图片及文字Resource/Content说明
- Windows Phone(WP)从此开始!
- wp中TextBlock介绍
- wp(3) 后台添加页面控件
- wp 加载网络图片
- wp实例开发精品文章源码推荐(8.20)
- wordpress中wp-syntax支持的语言代码
- WP之Sql Server CE数据库
- 外媒曝:暴雪《炉石传说》或登陆安卓和WP平台
- sp<> wp<>
- 为了抗衡Android,传微软开始考虑WP和WinRT免费
- 给WP开发爱好者的12个提示案例分享
- Windows Phone(WP) 内存使用报告
- Windows Live Writer 2012离线发布WP文章教程
- wp开发:Button按下后空白背景改变