160个CrackMe之34
来源:互联网 发布:linux 专家编程 pdf 编辑:程序博客网 时间:2024/06/05 16:01
160个CrackMe之34
很简单的一个KeyFile验证,我拿来练习一下静态反汇编的功底,没有进行动态调试。
上一下IDA的注释。
从我标注的来读,程序从KeyFile读入18字节。
第一个FirstKey取最多14字节进行用户名解码,后4字节是SecondKey来取是用户名解码结果的校验值。
上一段VC++ 6.0测试无错误的注册机代码。int main(int argc, char* argv[]){unsigned char szUser[18] = {0};unsigned int dwSum = 0;int i = 0;int x = 0;printf("请输入用户名,限14个字符:");scanf("%14s", szUser);for (i = 0x41; i != 0x4F; i++){if (szUser[x] == 0){for (int j = x; j <= 13; j++){szUser[j] = i;i++;}break;}else{dwSum += szUser[x];szUser[x] ^= i;}x++;}dwSum ^= 0x12345678;memcpy(&szUser[14], &dwSum, 4);for (i = 0; i <= 17; i++){printf("%X ", szUser[i]);}system("pause");return 0;}
阅读全文
0 0
- 160个CrackMe之34
- 160个CrackMe之001
- 160个crackme之003
- 160个crackme之004
- 160个crackme之008
- 160个crackme之009
- 160个crackme之010
- 160个crackme之011
- 160个CrackMe之11
- 160个CrackMe之91
- 160个CrackMe之123
- 160个CrackMe之51
- 160个CrackMe之41
- 160个破解练习之CrackMe 006
- 160个破解练习之CrackMe 007
- 160个破解练习之CrackMe 008
- 160个CrackMe-第九个
- [反汇编练习] 160个CrackMe之001
- Socket编程实现双机通信小案例
- 线程安全和线程不安全理解
- MyBatis Generator系列(六)----MyBatis Generator Plugin插件之SerializablePlugin
- matlab连接mysql数据库
- 侧滑销毁Activity
- 160个CrackMe之34
- 总结2
- 实用类介绍3
- activeMQ实践(四)--大型系统的最佳实现之集群
- 正则匹配指定位置数字
- PHP下载文件函数封装及下载大文件解决方案
- LintCode 第366题 斐波纳契数列 【枚举法】
- HibernateSessionFactory==session工厂类
- jwplayer 初始化设置项