乔峰 发表于 2019-2-19 20:36:03

最近在玩LOL,找了个钻石网吧特权,有没有大佬看看是啥原理?

最近再玩LOL,看到有人在卖网吧特权,然后买过来分析了一下。

这个软件是易语言写的,我真的不敢相信,易语言可以写出这么好看的UI,醉了。

废话不多说,开启特权,然后进游戏。‘





很吊很吊,小白操作,而且进游戏就有,测试完毕,下面进入主题。

今天要做的2件事:

1.探寻原理,模仿制作

2.尝试逆向破解
首先我们做第一项。

这个软件分为2快,第一块是验证程序,第二块就是qqwb_client目录里的QQ网吧客户端。





首先我们查一下软件启动后都干了些什么事。

1. 软件采用UPX的壳,不解释,盘他,脱干净之后干。

UPX0:00401000 ;

UPX0:00401000 ; +-------------------------------------------------------------------------+

UPX0:00401000 ; |   This file has been generated by The Interactive Disassembler (IDA)    |

UPX0:00401000 ; |         Copyright (c) 2017 Hex-Rays,            |

UPX0:00401000 ; |                      License info: 48-3FBD-7F04-2C                      |

UPX0:00401000 ; |                      Jiang Ying, Personal license                     |

UPX0:00401000 ; +-------------------------------------------------------------------------+

UPX0:00401000 ;

UPX0:00401000 ; Input SHA256 : 066110744AE7AC7CEA6934AEF5E1C9EC94C01653332B06A9D570F1A78EF2D4CE

UPX0:00401000 ; Input MD5    : 287CC0615662A15F6FF16E9CAF9BE432

UPX0:00401000 ; Input CRC32: 801BB6D7

UPX0:00401000

UPX0:00401000 ; File Name   : C:\Users\苏苏苏苏苏苏\Desktop\新建文件夹 (2)\cooper\Cooper1.exe

UPX0:00401000 ; Format      : Portable executable for 80386 (PE)

UPX0:00401000 ; Imagebase   : 400000

UPX0:00401000 ; Timestamp   : 059BFFA3 (Mon Dec 25 05:33:23 1972)

UPX0:00401000 ; Section 1. (virtual address 00001000)

UPX0:00401000 ; Virtual size                  : 001B7000 (1798144.)

UPX0:00401000 ; Section size in file          : 00000000 (      0.)

UPX0:00401000 ; Offset to raw data for section: 00000400



{

const CHAR *v0; // eax

HMODULE v1; // eax

LSTATUS v2; // ST14_4

CHAR *v3; // ebx

const CHAR *v4; // eax

FARPROC v5; // eax

void (__cdecl *v6)(signed int); // eax

DWORD cbData; //

HKEY phkResult; //

HMODULE hLibModule; //

CHAR String1; //



sub_4011E4(String1);

v0 = lstrcatA(String1, "krnln.fnr");

v1 = LoadLibraryA(v0);

if ( v1 )

   goto LABEL_15;

if ( !RegOpenKeyExA(HKEY_CURRENT_USER, "Software\\FlySky\\E\\Install", 0, 0x20019u, &phkResult) )

{

   cbData = 259;

   v2 = RegQueryValueExA(phkResult, "Path", 0, 0, (LPBYTE)String1, &cbData);

   RegCloseKey(phkResult);

   if ( !v2 )

   {

   v3 = &String1;

   if ( *v3 != 92 )

       *(_WORD *)v3 = 92;

   v4 = lstrcatA(String1, "krnln.fne");

   v1 = LoadLibraryA(v4);

   if ( v1 )

   {

LABEL_15:

       hLibModule = v1;

       v5 = GetProcAddress(v1, "GetNewSock");

       if ( v5 )

       {

         v6 = (void (__cdecl *)(signed int))((int (__stdcall *)(signed int))v5)(1000);

         if ( v6 )

         {

         v6(4206592);

         ExitProcess(0);

         }

       }

       FreeLibrary(hLibModule);

   }

   }

}

MessageBoxA(0, "Not found the kernel library or the kernel library is invalid!", "Error", 0x10u);

return -1;

}

软件的会先加载一个易语言的动态链接库,这个作者采用的是易语言的编译,非静态编译或独立编译。

软件启动后,执行完上面代码,然后会获取本机MAC地址做为登陆账号,然后向服务器发送套接字,服务器会返回一个登陆成功的状态,状态值为100,还会返回一个TickCount,并且把TickCount转换格式。



{"msg":"100","ip":"192.168.3.5","account":"kfP8n6rGpVC2Z+/RLK8U5tRpaw1gaC/6e6HCd1m0IIhGSzxkmG8lHhx37HabnzuHn+84ZMmdN6lKcgvLgHF69Yi8KFQLNVFjiuiwFhvVBVk=","plugin":"11001","socks":"12001","endtime":"1549426581"}
软件接收到以上返回信息,代表登陆成功了,笔者发现这个验证可以很简单的破解,后者比前者要简单的多,但是笔者还是想弄清楚这个软件是如何实现网吧特权的,所以继续探寻原理。

软件运行后接收到服务器登陆成功未到期的消息后会创建进程,创建什么进程呢?是qqwb_client.exe这个。

然后我HOOK了 软件的 Read Write 函数看下他有没有对 qqwb_client.exe 的内存写入或读取什么东西,发现并没有。’

然后我看了下 Q网吧客户端的目录,发现一个非常可疑的模块 privilege_mgr.dll。

其他模块都有腾讯的签名,唯独他没有,而且他加载到 qqwb_client.exe 里面后抹掉了的PE头 ,并且断链(改写LDR),在PChunter里可以看到红名模块。



然后笔者心里有种感觉,这个模块起着非常重要的作用,于是dump下来,脱进IDA,干!

依旧是UPX的壳,脱之!



DLL进入后会执行HOOK,HOOK了哪里呢?经过追踪发现,他HOOK了Sendto函数头,直接ret 0018,让QQ网吧客户端无法调用SendTo。



到这里,大概可以分析出他的流程了,应该是截取QQ网吧客户端要发送的套接字,然后申请内存,把数据保存下来,发送给登陆程序,登陆程序加以修改,再向QQ网吧服务器发送套接字,这是我的猜测,是不是这样,还要等待我下一步证实。



这个DLL通过SendMessage的方式向登陆程序发送消息,如果登陆窗口死了或这不在了,QQ网吧客户端也就自动关闭了。

接下来我们看看套接字里到底有什么东西。









我们发现,登陆程序登陆成功后向QQ网吧服务器POST了一些数据,这些数据是什么数据呢,又是哪里来的呢?

下面继续一探究竟。

1.关闭QQ网吧只开软件->进入游戏没有特权;
2.只开QQ网吧客户端->关闭软件 进入游戏依旧没有特权。

以上2条结论说明,QQ网吧客户端里的那个DLL负责截获一些数据发送给登陆程序,登陆程序加以修整后POST提交到腾讯服务器。

原理已经弄清楚,如果实行起来,我不知道又要搞到猴年马月了,下面尝试破解。

继续上面的图 第一个GET 然后两个POST。

第一个GET 获取当前版本信息,如果是当前版本,则正常运行,不是的话则打开返回数据里面新的软件下载链接。

返回数据如下 :

{"version":"1.7.0.113","update":"https://www.lanzous.com/i2vmctg"}
我们目前又2个办法破解 。

1:OD 直接JMP完事简单方便

2:另类DIY方法(我们今天弄DIY哈哈)

我们直接HEX反汇编,搜索文本 43.248.201.175 找到他服务器的字符串加以修改。



这个是他服务器的IP地址,我们来改成我们自己的。



哈哈,成功,提示有新版本了,我们把后面的也改一下。



伪造一个php文件,让他返回版本信息。



哈哈成功!这个验证,应该是作者自己写的,一点防破解都没有,而且数据不加校验。

只要服务器登陆过你的MAC就可以一直用了,到期了也没事,自己改自己服务器。

然后要用特权的时候,POST一下他的服务器 http://43.248.201.175:15300/speed/cp?mac=你的MAC 就行了。

脱了壳之后想怎么DIY就怎么DIY哈哈,改改标题,改改按钮,改改LOGO,然后再加个验证壳又可以赚一笔了。

笔者只是想分析软件,分析原理,今天就到这吧,写的有点累了,大家又没有好看的电影推荐啊,帮忙推荐下,最近很无聊!

平僧洗头用飘柔 发表于 2019-2-19 20:44:57

ip认证呗。网吧的都是线路优化,或者是 ip被腾讯认证了。只要这个ip登游戏,就全英雄 和 部分 皮肤 免费用

raingoc 发表于 2019-2-19 21:59:00

我记得是类似代理隧道的原理?原来还搞过这个,可惜之后就不玩撸啊撸

lzdszdl 发表于 2019-2-19 21:58:00


005.gif
好像还会改mac吧

robot 发表于 2019-2-19 21:57:00


乔峰 发表于 2019-2-19 20:44

最近再玩LOL,看到有人在卖网吧特权,然后买过来分析了一下。

这个软件是易语言写的,我真的不敢相信,易 ...
仰望
010.gif

暗中观察 发表于 2019-2-19 21:03:00


乔峰 发表于 2019-2-19 20:44

最近再玩LOL,看到有人在卖网吧特权,然后买过来分析了一下。

这个软件是易语言写的,我真的不敢相信,易 ...
在下慕容复。佩服佩服

AnnFFcsh3dowin 发表于 2019-2-19 20:41:41


乔峰 发表于 2019-2-19 20:44

最近再玩LOL,看到有人在卖网吧特权,然后买过来分析了一下。

这个软件是易语言写的,我真的不敢相信,易 ...
看雪复制的?技术原理我不了解,但是线路特权一般都是去线下网吧偷的特权,用一次都会扣网吧使用次数的,其次是犯法,之前认识一个人搞这个赚了一套房了

By小酷 发表于 2019-2-19 20:42:37

存档

一灰 发表于 2019-2-19 20:44:03

尼玛,这样一个帖子,竟然出现一个天神下凡

喵霸天 发表于 2019-2-19 20:49:41

我在家也莫名其妙算我是网吧
页: [1]
查看完整版本: 最近在玩LOL,找了个钻石网吧特权,有没有大佬看看是啥原理?