吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 42167|回复: 124
收起左侧

[.NET逆向] 关于一款帝国时代3联机外挂破解的心得分享

  [复制链接]
z_sy 发表于 2018-3-11 18:47
看了坛友们的许多精华帖子,也看了H大和小生等前辈的教学视频,很后悔没有在大学的时候就加入吾爱大家庭,但我相信,只要肯学什么时候都不晚!愿和吾爱的坛友们共同进步!以下是晚辈的第一次破解(感觉也算不上破解,就是钻了个空子),说的不好的地方还请各位大佬指导(PS:楼主计算机专业-程序狗一枚)


起因:最近朋友发给我一款帝国时代3的联机外挂,卖的人管我朋友要50,凑巧最近正在泡吾爱论坛,遂决定见义勇为一把,尝试一下哈~


-------------分割线------------------


1.jpg 2.jpg



1.查壳-用的H大推荐的新手软件ExeInfo


4.JPG

点比较高,发现是C#的程序,没有加壳好的,进行下一步!

2.反编译分析


因为看的帖子都是关于OD的,所以开始也用了OD,但是每回一拖进去程序就直接运行了(因为是新手,与平常看的教程有点出入,一脸泰勒展开式蒙蔽),于是开始搜索论坛的帖子。大致知道了OD对于破解.Net程序微微有些不足,遂切换工具,选择了爱盘的DnSpy。


拖入查看


5.JPG

分析了一下主文件,重点来了!!!不知道大家有没有看到那个SerialNumber的类,我不管怎么看都像关于序列号验证的函数。点进去一看,果不其然!这个就是计算序列号的然后把你输入的序列号和程序计算出的一对比,一致就激活,不一致就退出程序。因为最近一直都在跟着H大等大佬们学习OD的内容,.Net爆破可能有些力不从心,遂打算写个程序直接计算出效验码得了。

3.分析算法

根据DnSpy反汇编的内容,可以分析出算法如下:


(1)取得系统时间,并格式化处理


(2)取10位数字存入数组,分别是


以下均已系统时间为准




(2-1)年份的后两位  即2018             ---> 18


   (2-2)月份的两位      即03                 ---> 03


   (2-3)日期的两位      即11                 ---> 11


   (2-4)小时的两位      即14:00:05  ---> 14

   (2-5)第九位数字为前八位数字的和余9 即 (1+8+0+3+1+1+1+4)%9     --->1

   (2-6)第十位数字为前九位数字的和余9 即 (1+8+0+3+1+1+1+4+1)%9 --->2


(3)生成序列号

在上一步骤所得数组进行扩展,需得出两组新的数组

新的数组一:将基础数组每个数据加上65即ASCII码的A基础上进行偏移 -暂且命名为a[10]
新的数组二:将基础数组每个数据加上75即ASCII码的K基础上进行偏移 -暂且命名为b[10]

然后以下列形式构建激活码:

‘U'+a[0]+a[1]+b[0]+b[1]+'-'+a[2]+'V'+a[3]+b[2]+b[3]+'-'+a[4]+a[5]+'W'+b[4]+b[5]+'-'+a[6]+a[7]+b[6]+'X'+b[7]+'-'+a[8]+a[9]+b[8]+b[9]+'Y'

OK了,算法都出来了,基本就完成了,写个计算的程序还不是分分钟的事儿?
4.编写程序,计算序列号(楼主选则了C语言)


[C] 纯文本查看 复制代码
#include <stdio.h>
#include <time.h>

int main()
{
 int    temp[10] = {0};
 char   serial[30]={0};
 char   code[6]="UVWXY";
 char   *textName="SerialNumber.txt";
 FILE   *fp;
 if((fp = fopen(textName,"w+"))==NULL)
 {
  printf("Open file error !!!");
  return 0;
 }
 int    i=0,j=0;
 time_t t;
 struct tm *lt;
 time(&t);
 lt = localtime(&t);
 fprintf(fp,"%d %d %d %d:%d:%d \n",lt->tm_year+1900,lt->tm_mon+1,lt->tm_mday,lt->tm_hour,lt->tm_min,lt->tm_sec);
 for(i=0;i<5;i++)
 {
  int count = 0;
  switch(i)
  {
   case 0:
   {
    temp[0] = (lt->tm_year+1900)/10%10;
    temp[1] = (lt->tm_year+1900)%10;
    break;
   }
   case 1:
   {
    temp[2] = (lt->tm_mon+1)/10%10;
    temp[3] = (lt->tm_mon+1)%10;
    break;
   }
   case 2:
   {
    temp[4] = (lt->tm_mday)/10%10;
    temp[5] = (lt->tm_mday)%10;
    break;
   }
   case 3:
   {
    temp[6] = (lt->tm_hour)/10%10;
    temp[7] = (lt->tm_hour)%10;
    break;
   }
   case 4:
   {
    int sum=0,i1=0;
    for(i1 = 0;i1<8;i1++)
    {
     sum+=temp[i1];
    }
    temp[8] = sum%9;
    temp[9] = (sum+temp[8])%9;
    break;
   }
   default:
   {
    break;
   }
  }
  for(j=0;j<5;j++)
  {
   if(i==j)
   {
    continue;
   }
   count++;
   if(count<3)
   {
    serial[i*6+j] = count==2?65+temp[i*2+1]:65+temp[i*2];
   }
   else
   {
    serial[i*6+j] = count==4?75+temp[i*2+1]:75+temp[i*2];
   }
  }
  if(i!=4)
  {
   serial[i*6+5]='-';
  }
  serial[i*6+i]= code[i];
 }
 serial[29]= '\0';
 fprintf(fp,"This is serial number : %s \n",serial);
 fclose(fp);
 return 0;
}


源码贴出,和大家分享,编译本代码后,运行可执行文件,在执行目录下,会生成一个SerialNumber.txt的文件,激活码就写在里面了!
3.jpg

附件是帝国时代Ⅲ的外挂和我写的程序的源代码,由于楼主不玩这种游戏(一只CSGO菜鸟一枚),所以也没有验证这个挂好不好使。

至此,破解就完成了!如果各位吾爱的小伙伴喜欢的话,请不要吝啬你们的大赏哈!

Desktop.rar

487.49 KB, 下载次数: 955, 下载积分: 吾爱币 -1 CB

外挂和注册源代码

免费评分

参与人数 13威望 +1 吾爱币 +22 热心值 +12 收起 理由
WyattHuang + 1 + 1 谢谢@Thanks!
雕刻机 + 1 + 1 我很赞同!
周峻弘 + 1 用心讨论,共获提升!
kabeo + 1 + 1 用心讨论,共获提升!
zamliage + 1 + 1 活学活用啊!
w2pj123 + 1 + 1 用心讨论,共获提升!
HAOBO + 1 + 1 牛批牛批 程序狗牛批~~~
少年A + 1 + 1 可以破解个CSGO挂啊/滑稽.vac
Hmily + 1 + 10 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
angel8327 + 1 + 1 我很赞同!
小鹏丶 + 1 + 1 我很赞同!
gxlwlgch + 1 + 1 我很赞同!
春天的萌动 + 1 + 1 噫,压缩包里没有注册机EXE?还要放进去跑?单位没有啊

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| z_sy 发表于 2018-3-12 21:46
@Hmily 塞!好开心啊~帖子居然被H大大视察了我会继续努力的,老大!也向老大检讨一下哈!下次发帖一定注意版规!
 楼主| z_sy 发表于 2020-1-18 18:13
亚马逊123 发表于 2020-1-18 16:25
他这个挂是从地图上变出来兵种,还可以防止检测

发就中了,老铁!
过年没事儿的时候看看
新年快乐
w3245698 发表于 2018-3-11 18:57
ookfei 发表于 2018-3-11 18:58
单机外挂就算了,联网外挂是有多失败
云在天 发表于 2018-3-11 18:59
本帖最后由 云在天 于 2018-3-11 20:18 编辑

其实,用C#写的话更简单,连窗口都可以复制过来

QQ截图20180311201559.jpg

成品注册机: Keygen.zip (6.7 KB, 下载次数: 413)

打不开的安装Net4.0框架

免费评分

参与人数 1吾爱币 +1 收起 理由
"习惯这种安静 + 1 用心讨论,共获提升!

查看全部评分

春天的萌动 发表于 2018-3-11 19:02
注册机EXE?@z_sy 求注册机!
a952135763 发表于 2018-3-11 19:21
都有些神马功能啊??
搜喽小女 发表于 2018-3-11 19:24
什么功能啊
dengxucong 发表于 2018-3-11 19:35
没有注册机????
gxlwlgch 发表于 2018-3-11 19:47

感谢分享心得,共同学习
teondy 发表于 2018-3-11 20:16
感谢分享!!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-18 10:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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