吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 3559|回复: 9

如何使用C语言根据已知代码写出keygen?

[复制链接]
x200 发表于 2016-9-20 07:29 | 显示全部楼层 |阅读模式

本站严厉禁止求脱求破行为(包含无自我分析直接求思路),如发现此类求助主题请点击“举报”,让我们共同维护优质的学习环境!


30HB
本人不懂编程。代码是在网上找到的。想写个keygen玩玩,但不会编程。

代码如下:

#include <stdio.h>
#include <ctype.h>
#define STR_LEN 8

unsigned char Table1[] = { 0xA2,0x9E,0xFA,0x89,0x6A,0x70,0x28,0x72,0x1F,
              0x65,0x66,0x59,0x80,0x7F,0xC4,0x6B,0xC1,0x5F,
              0x2E,0x9B };

unsigned char Table2[] = { 0xC4,0x6B,0xFA,0x89,0x28,0x72,0xA2,0x9E,0x2E,
              0x9B,0x6A,0x70,0xC1,0x5F,0xFA,0x89,0xC4,0x6B,
              0xC1,0x5F,0xA2,0x9E,0x80,0x7F,0xC4,0x6B,0x80,
              0x7F,0x80,0x7F,0xC4,0x6B,0xFA,0x89,0x2E,0x9B,
              0x28,0x72,0x28,0x72,0x66,0x59,0x28,0x72,0xC1,
              0x5F,0x28,0x72,0xFA,0x89,0x1F,0x65,0x6A,0x70,
              0x2E,0x9B,0xC4,0x6B,0xA2,0x9E,0x28,0x72,0xFA,
              0x89,0xA2,0x9E,0xC1,0x5F,0x1F,0x65,0x6A,0x70,
              0x6A,0x70,0x80,0x7F,0xC1,0x5F,0x2E,0x9B,0x28,
              0x72,0xC4,0x6B,0x66,0x59,0xC4,0x6B,0x80,0x7F,
              0x1F,0x65,0x28,0x72,0xC4,0x6B,0x6A,0x70,0xFA,
              0x89,0xA2,0x9E,0x66,0x59,0x2E,0x9B,0xFA,0x89,
              0xC4,0x6B,0xFA,0x89,0x80,0x7F,0xC4,0x6B,0xC1,
              0x5F,0x28,0x72,0xC4,0x6B,0x6A,0x70,0xC1,0x5F,
              0x1F,0x65,0x2E,0x9B,0x66,0x59,0x66,0x59,0x80,
              0x7F,0x80,0x7F,0xC4,0x6B,0x2E,0x9B,0xFA,0x89,
              0xC4,0x6B,0x80,0x7F,0x66,0x59,0xA2,0x9E,0x1F,
              0x65,0x28,0x72,0x66,0x59,0xFA,0x89,0x2E,0x9B,
              0x6A,0x70,0x6A,0x70,0xA2,0x9E,0x2E,0x9B,0x6A,
              0x70,0x66,0x59,0xC4,0x6B,0xA2,0x9E,0x1F,0x65,
              0x28,0x72,0x66,0x59,0xC1,0x5F,0xFA,0x89,0xC1,
              0x5F,0xFA,0x89,0x66,0x59,0x66,0x59,0xFA,0x89,
              '\0' };

unsigned char buf_str[] = "**";
unsigned char Number_str[STR_LEN+1];
unsigned char Code_str[] = "0*0*0*0*";
char *pstr,*pt;
int pos=0,k=0;

void main() {
  printf("\nPlease Enter Number of your SoftWare: ");
  scanf("%s",Number_str);
  if(strlen(Number_str)>=STR_LEN){
    pstr = Number_str;
    pt = Table2;
    while(k<STR_LEN){
      buf_str[0] = Table1[(*(pstr+k)-0x30)*2];
      buf_str[1] = Table1[(*(pstr+k)-0x30)*2+1];
      pos = (*(pstr+k+1)-0x30)*10*2;
      Code_str[k] = ((int)strstr(pt+pos,buf_str)-(int)pt-pos)/2+1+0x30;
      k += 2;
    }
    printf("\nYour Code is: %s  [ * -- any digital ]",Code_str);
  }else {
    printf("Enter Number error.");
  }
}

评分

参与人数 1HB +1 收起 理由
禽大师 + 1

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
不苦小和尚 发表于 2016-9-20 09:40 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
LYQingYe 发表于 2016-9-20 11:38 | 显示全部楼层

不会编程,你怎么写代码。。。。。。。。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Silentrifly 发表于 2016-9-20 12:26 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Silentrifly 发表于 2016-9-20 12:27 | 显示全部楼层

学习一下,这段算法不都写出来了吗
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| x200 发表于 2016-9-20 18:56 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
sdjkmj 发表于 2016-9-21 08:56 | 显示全部楼层

写个界面,把结果输出的那改改应该就可以了把
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
不苦小和尚 发表于 2016-9-21 13:13 | 显示全部楼层

晚上给你写一下
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| x200 发表于 2016-9-21 18:31 | 显示全部楼层


先谢谢啦。硬着头皮使用C+精简版尝试了下,编译不通过
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
610100 发表于 2016-9-24 21:52 | 显示全部楼层

学习一下C语言
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表