3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 11373|回复: 43
打印 上一主题 下一主题

[原创] [coding]适用所有随机事件(老虎机,金箱子,爆率)——申请加精

  [复制链接]

2

主题

8

帖子

209

积分

中级玩家

Rank: 3Rank: 3

贡献度
45
金元
292
积分
209
精华
0
注册时间
2019-9-14
跳转到指定楼层
主题
发表于 2019-9-19 11:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.看到有人发ct了就忍不住出来ZB了,发程序太便宜伸手党,大佬轻喷。
2.原理就是修改rand返回值,使随机数恒定,游戏是多随机数判定爆率,所以出现一直一个物品的情况。如果需要指定物品,请自行修改shellcode。
3.之前ct脚本崩溃解答: 游戏是64位程序,jmp后面只能跟32位偏移,当申请内存相对于hook偏移大于32位,就会崩溃,应采用决对跳转。

代码:
#include <iostream>
#include <Windows.h>
#include <TlHelp32.h>
#include <vector>
namespace ChangeRand
{
typedef struct _Info
{
  DWORD pid;
  DWORD64 address;
  byte* eable;
  byte* disable;
  LPVOID dlladdr;
}Info;
std::vector<Info> infolist;
void inline findcodeaddr(HANDLE hprocess, DWORD64 begain, SIZE_T size, char* par, size_t parsize, std::vector<DWORD64>& addrlist)
{
  MEMORY_BASIC_INFORMATION mbi;
  DWORD64 bbgain = begain;
  DWORD64 endaddr = begain + size;
  while (begain <= endaddr)
  {
   memset(&mbi, 0, sizeof(MEMORY_BASIC_INFORMATION));
   if (VirtualQueryEx(hprocess, (LPCVOID)begain, &mbi, sizeof(MEMORY_BASIC_INFORMATION)) == 0)
   {
    begain += 0x1000;
    continue;
   }
   if (mbi.State == MEM_COMMIT && (mbi.Protect & PAGE_READONLY))
   {
    begain += mbi.RegionSize;
    continue;
   }
   SIZE_T readed = 0;
   byte* tmp = (byte*)malloc(mbi.RegionSize);
   if (!tmp)
   {
    begain += mbi.RegionSize;
    continue;
   }
   ReadProcessMemory(hprocess, (LPVOID)begain, tmp, mbi.RegionSize, &readed);
   for (int i = 0; i < readed - parsize; i++)
   {
    if (memcmp((void*)(tmp + i), par, parsize) != 0)
     continue;
    addrlist.push_back(begain + i - bbgain);
   }
   free(tmp);
   begain += readed;
  }
}
BOOL GetModuleAddr(std::vector<MODULEENTRY32>& module, DWORD pid)
{
  HANDLE hModuleSnap = INVALID_HANDLE_VALUE;
  MODULEENTRY32 me32 = { sizeof(MODULEENTRY32) };
  hModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pid);
  if (hModuleSnap == INVALID_HANDLE_VALUE)
  {
   return FALSE;
  }
  if (!Module32FirstW(hModuleSnap, &me32))
  {
   CloseHandle(hModuleSnap);
   return FALSE;
  }
  do {
   module.push_back(me32);
  } while (Module32NextW(hModuleSnap, &me32));
  CloseHandle(hModuleSnap);
  return TRUE;
}
BOOL FindProcess(std::vector<PROCESSENTRY32>& process, const wchar_t* pProcess)
{
  HANDLE hSnapshot;
  DWORD hprocess = 0;
  PROCESSENTRY32W lppe;
  hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
  if (hSnapshot == NULL)
   return FALSE;
  lppe.dwSize = sizeof(lppe);
  if (!Process32FirstW(hSnapshot, &lppe))
   return FALSE;
  do
  {
   if (_wcsicmp(lppe.szExeFile, pProcess) == 0)
   {
    process.push_back(lppe);
   }
  } while (Process32NextW(hSnapshot, &lppe));
  if (!CloseHandle(hSnapshot))
   return FALSE;
  return TRUE;
}
byte eable[] =
{
  0x48,0xb8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0xff,0xe0
};
void Eable()
{
  for (int i = 0; i < infolist.size(); i++)
  {
   SIZE_T readed = 0;
   HANDLE hprocess = OpenProcess(PROCESS_ALL_ACCESS, false, infolist[i].pid);
   WriteProcessMemory(hprocess, (LPVOID)(infolist[i].address), (LPVOID)infolist[i].eable, 12, &readed);
   CloseHandle(hprocess);
  }
}
void Disable()
{
  for (int i = 0; i < infolist.size(); i++)
  {
   SIZE_T readed = 0;
   HANDLE hprocess = OpenProcess(PROCESS_ALL_ACCESS, false, infolist[i].pid);
   WriteProcessMemory(hprocess, (LPVOID)(infolist[i].address), (LPVOID)infolist[i].disable, 16, &readed);
   CloseHandle(hprocess);
   int m = 0;
  }
}
void SetValue(unsigned short value)
{
  for (int i = 0; i < infolist.size(); i++)
  {
   SIZE_T readed = 0;
   HANDLE hprocess = OpenProcess(PROCESS_ALL_ACCESS, false, infolist[i].pid);
   WriteProcessMemory(hprocess, (LPVOID)((DWORD64)infolist[i].dlladdr + 1), &value, 2, &readed);
   CloseHandle(hprocess);
  }
}
int Init(const wchar_t* name)
{
  std::vector<PROCESSENTRY32> process;
  FindProcess(process, name);
  for (int i = 0; i < process.size(); i++)
  {
   std::vector<MODULEENTRY32> module;
   GetModuleAddr(module, process[i].th32ProcessID);
   for (int j = 0; j < module.size(); j++)
   {
    if (_wcsicmp(module[j].szModule, L"ucrtbase.dll") == 0)
    {
     HANDLE hprocess = OpenProcess(PROCESS_ALL_ACCESS, false, process[i].th32ProcessID);
     byte mark[] = { 0x89 ,0x48 ,0x28 ,0xc1 ,0xe9 ,0x10 ,0x81 ,0xe1 ,0xff ,0x7f ,0x00 ,0x00 };
     std::vector<DWORD64> addrlist;
     findcodeaddr(hprocess, (DWORD64)module[j].hModule, 0x15000, (char*)mark, 12, addrlist);
     if (addrlist.size())
     {
      byte shellcode[] =
      {
       0xb8,0xff,0x7f,0x00,0x00,
       0xc3,
      };
      DWORD64 offset = addrlist[0] - 0x16;
      SIZE_T readed = 0;
      Info info;
      info.pid = process[i].th32ProcessID;
      info.disable = (byte*)malloc(16);
      info.eable = (byte*)malloc(12);
      info.address = (DWORD64)module[j].hModule + offset;
      memcpy(info.eable, eable, 12);
      ReadProcessMemory(hprocess, (LPVOID)((DWORD64)module[j].hModule + offset), info.disable, 16, &readed);
      info.dlladdr = VirtualAllocEx(hprocess, NULL, 20, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
      WriteProcessMemory(hprocess, info.dlladdr, (LPVOID)shellcode, 6, &readed);
      *(DWORD64*)(info.eable + 2) = (DWORD64)info.dlladdr;
      WriteProcessMemory(hprocess, (LPVOID)((DWORD64)module[j].hModule + offset), (LPVOID)info.eable, 12, &readed);
      infolist.push_back(info);
     }
     CloseHandle(hprocess);
     break;
    }
   }
  }
  return 0;
}
}

评分

4

查看全部评分

回复

使用道具 举报

11

主题

1193

帖子

2101

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
60
金元
18607
积分
2101
精华
0
注册时间
2014-8-11
舒服的沙发
发表于 2019-9-19 17:40 | 只看该作者
不明觉厉,你可以设置金元啊什么的就相当于防止伸手了
回复 支持 反对

使用道具 举报

149

主题

1831

帖子

4424

积分

游戏精英

Rank: 8Rank: 8

贡献度
163
金元
37715
积分
4424
精华
0
注册时间
2009-7-12
硬硬的板凳
发表于 2019-9-19 17:43 | 只看该作者
太硬核了  还是等成品把
回复 支持 反对

使用道具 举报

149

主题

1831

帖子

4424

积分

游戏精英

Rank: 8Rank: 8

贡献度
163
金元
37715
积分
4424
精华
0
注册时间
2009-7-12
冰凉的地板
发表于 2019-9-19 17:44 | 只看该作者
其实可以从混乱模式3的加成文件入手吧  改成爆率+5000%应该就行了
回复 支持 反对

使用道具 举报

104

主题

3066

帖子

2703

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
89
金元
23465
积分
2703
精华
0
注册时间
2011-7-11
5#
发表于 2019-9-19 18:03 | 只看该作者
lihai!!!!
回复 支持 反对

使用道具 举报

17

主题

542

帖子

1241

积分

游戏狂人

Rank: 6Rank: 6

贡献度
41
金元
10768
积分
1241
精华
0
注册时间
2011-5-1

G胖の微笑

6#
发表于 2019-9-19 18:08 | 只看该作者
很牛逼的样子 没啥用
不知道三大妈里有多少用户不是伸手党?
把这当52了吧
回复 支持 1 反对 0

使用道具 举报

8

主题

1527

帖子

1645

积分

游戏狂人

Rank: 6Rank: 6

贡献度
16
金元
15808
积分
1645
精华
0
注册时间
2012-2-3
7#
发表于 2019-9-19 18:10 | 只看该作者
未加密都没这么大派头
回复 支持 1 反对 0

使用道具 举报

1

主题

302

帖子

304

积分

高级玩家

Rank: 4

贡献度
0
金元
3042
积分
304
精华
0
注册时间
2015-8-8
8#
发表于 2019-9-19 18:33 | 只看该作者
不发程序 也没多少人明白,

回复 支持 反对

使用道具 举报

94

主题

3万

帖子

5万

积分

游戏圣者

Rank: 12Rank: 12Rank: 12

贡献度
136
金元
521839
积分
52728
精华
0
注册时间
2015-12-17

3DMer

9#
发表于 2019-9-19 18:34 | 只看该作者
。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

10

主题

1905

帖子

1844

积分

游戏狂人

Rank: 6Rank: 6

贡献度
19
金元
17676
积分
1844
精华
0
注册时间
2010-10-26
10#
发表于 2019-9-19 18:52 | 只看该作者
不知道LZ发帖子为什么,把头都秀秃了也没几个人看得懂
回复 支持 反对

使用道具 举报

0

主题

434

帖子

658

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6577
积分
658
精华
0
注册时间
2014-9-12
11#
发表于 2019-9-19 18:57 | 只看该作者
所以你发这些有多少人看得懂?孤芳自赏罢了
回复 支持 反对

使用道具 举报

1

主题

672

帖子

564

积分

高级玩家

Rank: 4

贡献度
4
金元
5480
积分
564
精华
0
注册时间
2008-6-1
12#
发表于 2019-9-19 19:05 | 只看该作者
不明觉厉 支持 等成品
回复 支持 反对

使用道具 举报

26

主题

3725

帖子

4259

积分

游戏精英

Rank: 8Rank: 8

贡献度
54
金元
40425
积分
4259
精华
0
注册时间
2008-1-20
13#
发表于 2019-9-19 19:21 | 只看该作者
典型的知识分子坏习惯,爱显摆又不想让别人用

评分

2

查看全部评分

回复 支持 10 反对 0

使用道具 举报

8

主题

917

帖子

1124

积分

游戏狂人

Rank: 6Rank: 6

贡献度
9
金元
10882
积分
1124
精华
0
注册时间
2012-5-27

G胖の微笑

14#
发表于 2019-9-19 19:26 | 只看该作者
EMMMM 看不懂 楼主真秀
回复 支持 反对

使用道具 举报

2

主题

830

帖子

943

积分

超级玩家

Rank: 5Rank: 5

贡献度
11
金元
8991
积分
943
精华
0
注册时间
2012-5-24
15#
发表于 2019-9-19 19:27 | 只看该作者
装了个好逼
回复 支持 反对

使用道具 举报

0

主题

319

帖子

385

积分

高级玩家

Rank: 4

贡献度
0
金元
3850
积分
385
精华
0
注册时间
2012-11-15
16#
发表于 2019-9-19 19:38 | 只看该作者
这种发出来ZB的玩意有什么资格求加精  可笑
回复 支持 反对

使用道具 举报

7

主题

239

帖子

436

积分

高级玩家

Rank: 4

贡献度
1
金元
4322
积分
436
精华
0
注册时间
2014-12-22
17#
发表于 2019-9-19 20:04 | 只看该作者
要秀就去52,在这里秀个鸡毛?
回复 支持 反对

使用道具 举报

0

主题

1361

帖子

1869

积分

游戏狂人

Rank: 6Rank: 6

贡献度
1
金元
18646
积分
1869
精华
0
注册时间
2016-3-22
18#
发表于 2019-9-19 20:07 | 只看该作者
一大半人估计看到这一大条就跑了
回复 支持 反对

使用道具 举报

122

主题

5032

帖子

5146

积分

游戏精英

Rank: 8Rank: 8

贡献度
173
金元
44543
积分
5146
精华
0
注册时间
2008-4-20
19#
发表于 2019-9-19 20:10 | 只看该作者
发这个出来 估计和你一样了解原理的人才知道怎么用,其他不懂得还是不会用
回复 支持 反对

使用道具 举报

8

主题

541

帖子

726

积分

超级玩家

Rank: 5Rank: 5

贡献度
18
金元
6539
积分
726
精华
0
注册时间
2012-11-20
20#
发表于 2019-9-19 20:19 | 只看该作者
我还能拳打南山敬老院,脚踢北海幼儿园呢,那我去了吗,没有,因为我知道这没什么可骄傲的
回复 支持 反对

使用道具 举报

10

主题

357

帖子

606

积分

超级玩家

Rank: 5Rank: 5

贡献度
1
金元
6017
积分
606
精华
0
注册时间
2016-1-15
21#
发表于 2019-9-19 20:21 | 只看该作者
C++ Code(?) 不過懶的研究
回复 支持 反对

使用道具 举报

1

主题

1075

帖子

964

积分

超级玩家

Rank: 5Rank: 5

贡献度
3
金元
9519
积分
964
精华
0
注册时间
2011-1-31
22#
发表于 2019-9-19 20:33 | 只看该作者
厉害了
回复 支持 反对

使用道具 举报

3

主题

539

帖子

633

积分

超级玩家

Rank: 5Rank: 5

贡献度
2
金元
6251
积分
633
精华
0
注册时间
2012-5-18
23#
发表于 2019-9-19 20:57 | 只看该作者
这都敢申精了?自己满足自己呗
回复 支持 反对

使用道具 举报

2

主题

484

帖子

599

积分

高级玩家

Rank: 4

贡献度
1
金元
5948
积分
599
精华
0
注册时间
2010-3-26
24#
发表于 2019-9-19 21:15 | 只看该作者
哎呀 厉害厉害 您懂得真多呢
回复 支持 反对

使用道具 举报

8

主题

829

帖子

730

积分

超级玩家

Rank: 5Rank: 5

贡献度
10
金元
6899
积分
730
精华
0
注册时间
2004-1-31
25#
发表于 2019-9-19 21:21 | 只看该作者
这东西有啥加精的 你不也是搬运的而已
回复 支持 反对

使用道具 举报

16

主题

975

帖子

1294

积分

游戏狂人

Rank: 6Rank: 6

贡献度
53
金元
10815
积分
1294
精华
0
注册时间
2009-1-12
26#
发表于 2019-9-19 21:23 | 只看该作者
代码怎么使用啊?
回复 支持 反对

使用道具 举报

33

主题

4714

帖子

5161

积分

游戏精英

Rank: 8Rank: 8

贡献度
69
金元
48853
积分
5161
精华
0
注册时间
2008-7-15
27#
发表于 2019-9-19 22:54 | 只看该作者
您这是准备把沙子水泥砖头堆在那儿就准备当房子卖了?
回复 支持 反对

使用道具 举报

31

主题

3064

帖子

4106

积分

游戏精英

Rank: 8Rank: 8

贡献度
222
金元
32177
积分
4106
精华
0
注册时间
2004-1-5
28#
发表于 2019-9-20 02:40 | 只看该作者
发这个你还不如直接发到CT论坛去........
回复 支持 反对

使用道具 举报

24

主题

1183

帖子

1198

积分

游戏狂人

Rank: 6Rank: 6

贡献度
42
金元
10303
积分
1198
精华
0
注册时间
2009-9-4
29#
发表于 2019-9-20 03:25 | 只看该作者
看楼上某几个人的回复,我反而理解了楼主为什么这么发
回复 支持 反对

使用道具 举报

316

主题

3281

帖子

3656

积分

游戏精英

Rank: 8Rank: 8

贡献度
80
金元
33357
积分
3656
精华
0
注册时间
2011-1-29
30#
发表于 2019-9-20 04:35 | 只看该作者
求版主删帖
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2025-2-8 11:39 , Processed in 0.167393 second(s), 16 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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