Advertisement
centralalien

Untitled

Apr 2nd, 2016
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.47 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS //msvc doesn't like freopen
  2. #include <Windows.h>
  3. #include <iostream>
  4. #include <sstream>
  5. #include <vector>
  6. #include <string>
  7. #include <typeinfo>
  8. #include <string>
  9. #include <iterator>
  10.  
  11.  
  12.  
  13. #define SetParent 0x412360
  14.  
  15. using namespace std;
  16.  
  17. namespace Roblox {
  18. int WalkSpeed_Address = 0x6D0910;
  19. typedef void(__thiscall * setwalkspeed)(int self, float value);
  20. setwalkspeed SetWalkSpeed = (setwalkspeed)WalkSpeed_Address;
  21. int MaxHealth_Address = 0x6CFD90;
  22. typedef void(__thiscall * setmaxhealth)(int self, float value);
  23. setmaxhealth SetMaxHealth = (setmaxhealth)MaxHealth_Address;
  24. int SetMinutesAfterMidnight_Address = 0x6DC0A0;
  25. typedef void(__thiscall * setminutesaftermidnight)(void* lighting, double value);
  26. setminutesaftermidnight SetMinutesAfterMidnight = (setminutesaftermidnight)SetMinutesAfterMidnight_Address;
  27. int SetFogEnd_Address = 0x6DBF80;
  28. typedef void(__thiscall * setfogend)(void* lighting, float value);
  29. setfogend SetFogE = (setfogend)SetFogEnd_Address;
  30. int SetFogStart_Address = 0x6DBFB0;
  31. typedef void(__thiscall * setfogstart)(void* lighting, float value);
  32. setfogstart SetFogStart = (setfogstart)SetFogStart_Address;
  33.  
  34. int SetJumpPower_Address = 0x6CF9B0;
  35. typedef void(__thiscall * setjumppower)(int self, float value);
  36. setjumppower SetJumpPower = (setjumppower)SetJumpPower_Address;
  37.  
  38. int SetTransparency_Address = 0xE5D3B0;
  39. typedef void(__thiscall * settransparency)(int self, int value);
  40. settransparency SetTransparency = (settransparency)SetTransparency_Address;
  41.  
  42. int SetPersonalRankServer_Address = 0xAADC40;
  43. typedef void(__thiscall * setpersonalrankserver)(int self, int value);
  44. setpersonalrankserver setPSR = (setpersonalrankserver)SetPersonalRankServer_Address;
  45.  
  46. typedef void(__thiscall *setparent)(int self, int parent);
  47. setparent setParent = (setparent)SetParent;
  48. int DataModel;
  49. int Workspace;
  50. int Lighting;
  51. int Players;
  52. int Camera;
  53. int Head;
  54. int LogService;
  55. int CurrentPlayer;
  56. int State;
  57. int Teams;
  58. bool Changing;
  59. int antiscript = 0;
  60. bool Seizure = false;
  61. bool Night = false;
  62. std::string* PlayerName;
  63. int GetParent(int Instance) {
  64. return *(int*)(Instance + 0x34);
  65. }
  66.  
  67. std::string* GetName(int Instance) {
  68. return (std::string*)(*(int*)(Instance + 0x28) - 0x4);
  69. }
  70.  
  71. const char* GetClass(int self)
  72. {
  73. return (const char*)(*(int(**)(void))(*(int*)self + 16))() + 4;
  74. }
  75.  
  76.  
  77. void DoLoop() {
  78. //VMProtectBeginUltra("SEXYdsf");
  79. do {
  80.  
  81.  
  82. if (Seizure == true && Lighting != 0) {
  83.  
  84. if (Night == false) {
  85. SetMinutesAfterMidnight((void*)Lighting, 24 * 60.0);
  86. Night = true;
  87. }
  88. else {
  89. SetMinutesAfterMidnight((void*)Lighting, 8 * 60.0);
  90. Night = false;
  91. }
  92. }
  93. } while (true);
  94. // VMProtectEnd();
  95. }
  96.  
  97.  
  98.  
  99.  
  100. int FindFirstChild_PartOf(int Instance, std::string Name) {
  101. DWORD StartOfChildren = *(DWORD*)(Instance + 0x2C);
  102. DWORD EndOfChildren = *(DWORD*)(StartOfChildren + 4);
  103. for (int i = *(int*)StartOfChildren; i != EndOfChildren; i += 8)
  104. {
  105. if (strstr(GetName(*(int*)i)->c_str(), Name.c_str()))
  106. {
  107. return *(int*)i;
  108. }
  109. }
  110. return 0;
  111. }
  112.  
  113.  
  114. int GetLocalPlayer(int Plr) {
  115. return *(int*)(Plr + 0x16C);
  116. }
  117.  
  118. int FindFirstClass(int Instance, const char* Name)
  119. {
  120. DWORD CHILD_START = *(DWORD*)(Instance + 0x2C);
  121. DWORD CHILD_END = *(DWORD*)(CHILD_START + 4);
  122.  
  123. for (int i = *(int*)CHILD_START; i != CHILD_END; i += 8)
  124. {
  125. if (memcmp(GetClass(*(int*)i), Name, strlen(Name)) == 0)
  126. {
  127. return *(int*)i;
  128. }
  129. }
  130. }
  131.  
  132. int GetCharacter(std::string Name) {
  133.  
  134.  
  135. int Character = FindFirstChild_PartOf(Workspace, Name);
  136. if (Character != 0) {
  137. return Character;
  138. }
  139. else
  140. {
  141. return 0;
  142. }
  143. }
  144.  
  145. int GetPlayer(std::string Name) {
  146. int Player = FindFirstChild_PartOf(Players, Name);
  147. if (Player != 0) {
  148. return Player;
  149. }
  150. else
  151. {
  152. return 0;
  153. }
  154. }
  155.  
  156. std::vector<int> GetChildren(int Instance) {
  157.  
  158. DWORD StartOfChildren = *(DWORD*)(Instance + 0x2C);
  159. DWORD EndOfChildren = *(DWORD*)(StartOfChildren + 4);
  160. std::vector<int> Children;
  161. for (int i = *(int*)StartOfChildren; i != EndOfChildren; i += 8)
  162. {
  163. Children.push_back(*(int*)i);
  164. }
  165. return Children;
  166.  
  167. }
  168. }
  169.  
  170. std::string IntToHex(int Val) {
  171. std::stringstream stream;
  172. stream << std::hex << Val;
  173. return stream.str();
  174. }
  175.  
  176. std::string Input() {
  177. std::string input_Elecryst;
  178. getline(std::cin, input_Elecryst);
  179. return input_Elecryst;
  180. }
  181.  
  182. std::vector<std::string> split(std::string s) {
  183. std::vector<std::string> elems;
  184. std::stringstream ss(s);
  185. std::istream_iterator<std::string> begin(ss);
  186. std::istream_iterator<std::string> end;
  187. std::vector<std::string> vstrings(begin, end);
  188. return vstrings;
  189. }
  190.  
  191. const char* Commands =
  192. "=====SERVER COMMANDS======\n"
  193. "fogstart [n] - Fogstarts the [n]\r\n"
  194. "fogend [n] - Set's the fogend to [n]\r\n"
  195. "shutdown - Shutsdown the server\r\n"
  196. "clearallchildren - Clears all the children from workspace\r\n"
  197. "music [n] - Set's music to [n]\r\n"
  198. "fogcolor [r] [g] [b] - Set's fogcolor to [r] [g] [b]\r\n"
  199. "killall - Kills all players\r\n"
  200. "seizure on / off - Turns seizure on / off\r\n"
  201. "rainbow on / off - Turns rainbow on / off\r\n"
  202. "\n"
  203. "=====PLAYER COMMANDS======"
  204. "kill [p] - Kills the [p]\r\n"
  205. "god [p] - Gods the [p]\r\n"
  206. "ungod [p] - Ungods [p]\r\n"
  207. "sethealth [p] [n] - Set's [p]'s health to [n]\r\n"
  208. "jumppower [p] [n] - Set's [p]'s jumppower to [n]\r\n"
  209. "ws [p] [n] - Set's [p]'s walkspeed to [n]\r\n"
  210. "punish [p] - Punishes the [p]\r\n"
  211. "unpunish [p] - Disables the punish from [p]\r\n"
  212. "showname [p] - Show's the name from [p]\r\n"
  213. "hidename [p] - Hides the name from [p]\r\n"
  214. "freeze [p] - Freeze's the [p]\r\n"
  215. "thaw [p] - Thaw's the [p]\r\n"
  216. "btools [p] - Give's btools to the [p]\r\n"
  217. "changestat [p] - Changes the [p]'s stat\r\n"
  218. "loopkill [p] - Loopkills the [p]\r\n"
  219. "rh [p] - Remove's [p]'s humanoid\r\n"
  220. "rlegs [p] - Remove's [p]'s right leg\r\n"
  221. "rlegs2 [p] - Remove's [p]'s left leg\r\n"
  222. "faceless [p] - Make's [p] faceless\r\n"
  223. "topless [p] - Make's [p] topless\r\n"
  224. "naked [p] - Make's [p] naked\r\n"
  225. "rtools [p] - Remove's [p]'s tools\r\n"
  226. "stealtools [p] - Steals the tools from [p]\r\n"
  227. "rhead [p] - Remove's [p]'s head\r\n"
  228. "rshirt [p] - Remove's [p]'s shirt\r\n"
  229. "\n"
  230. "=====LOCALPLAYER COMMANDS====="
  231. "swim - Toggles Swim \r\n"
  232. "dswim - UnToggles Swim \r\n"
  233. "noclip - Toggles Noclip \r\n"
  234. "dnoclip - UnToggles Noclip \r\n"
  235. "superjump - Toggles SuperJump \r\n"
  236. "dsuperjump - UnToggles superjump \r\n"
  237. "airwalk - Toggles airwalk \r\n"
  238. "dairwalk - Untoggles airwalk \r\n"
  239. "ragdoll - Toggles ragdoll \r\n"
  240. "dragdoll - Untoggles ragdoll \r\n"
  241. "disable - Disables all localplayer cmds.\r\n"
  242. "\n"
  243. ;
  244.  
  245.  
  246. int State;
  247. bool Changing = false;
  248.  
  249. int ScriptContextVftable;
  250. int ScriptContext = 0;
  251.  
  252. void SetHumanoidState(int self, int state) {
  253. int sPtr = *(int*)(self + 0x2DC);
  254. if (sPtr) {
  255. *(BYTE*)(self + state + 0x229) = 1;
  256. *(int*)(sPtr + 0x20) = state;
  257. }
  258. }
  259.  
  260. void doState() {
  261. if (Changing == true) {
  262. int LocalCharacter = Roblox::GetCharacter(*Roblox::PlayerName);
  263. if (LocalCharacter != 0) {
  264. int Humanoid = Roblox::FindFirstClass(LocalCharacter, "Humanoid");
  265. if (Humanoid != 0) {
  266. SetHumanoidState(Humanoid, State);
  267. }
  268. }
  269. }
  270. }
  271.  
  272. char* mfm;
  273.  
  274. void Loop() {
  275. do {
  276. __try {
  277. doState();
  278. }
  279. __except (EXCEPTION_EXECUTE_HANDLER) {
  280. Sleep(1); // do absolutely fucking nothing
  281. }
  282. } while (true);
  283.  
  284. }
  285.  
  286. void ABC_Commands() {
  287. while (1) {
  288. std::cout << ">";
  289. std::vector<std::string> Arguments = split(Input());
  290.  
  291. if (Arguments.at(0) == "noclip") {
  292. State = 11;
  293. Changing = true;
  294. }
  295.  
  296. else if (Arguments.at(0) == "swim") {
  297. State = 4;
  298. Changing = true;
  299. }
  300.  
  301. else if (Arguments.at(0) == "superjump") {
  302. State = 13;
  303. Changing = true;
  304. }
  305.  
  306. else if (Arguments.at(0) == "airwalk") {
  307. State = 10;
  308. Changing = true;
  309. }
  310. else if (Arguments.at(0) == "jesusfly") {
  311. State = 12;
  312. Changing = true;
  313. }
  314.  
  315. else if (Arguments.at(0) == "ragdoll") {
  316. State = 1;
  317. Changing = true;
  318. }
  319. else if (Arguments.at(0) == "slow'd") {
  320. State = -1;
  321. Changing = true;
  322. }
  323. else if (Arguments.at(0) == "phyH") {
  324. State = 16;
  325. Changing = true;
  326.  
  327. }
  328. else if (Arguments.at(0) == "topless")
  329. {
  330. if (Arguments.size() == 2) {
  331. DWORD Characterr = Roblox::GetCharacter(Arguments.at(1));
  332. if (Characterr != 0) {
  333. DWORD Shirtt = Roblox::FindFirstClass(Characterr, "Shirt");
  334. if (Shirtt != 0) {
  335. Roblox::setParent(Shirtt, Roblox::Lighting);
  336. }
  337. }
  338. }
  339. }
  340. else if (Arguments.at(0) == "dpants") {
  341. if (Arguments.size() == 2) {
  342. DWORD Characte3r = Roblox::GetCharacter(Arguments.at(1));
  343. if (Characte3r != 0) {
  344. DWORD Shir3t = Roblox::FindFirstClass(Characte3r, "Pants");
  345. if (Shir3t != 0) {
  346. Roblox::setParent(Shir3t, Roblox::Lighting);
  347. }
  348. }
  349. }
  350. }
  351. else if (Arguments.at(0) == "dswim") {
  352. Changing = false;
  353. }
  354. else if (Arguments.at(0) == "dsuperjump") {
  355. Changing = false;
  356. }
  357. else if (Arguments.at(0) == "dnoclip") {
  358. Changing = false;
  359. }
  360. else if (Arguments.at(0) == "cmds") {
  361. std::cout << Commands;
  362. }
  363. else if (Arguments.at(0) == "naked") {
  364. if (Arguments.size() == 2) {
  365. DWORD Character = Roblox::GetCharacter(Arguments.at(1));
  366. if (Character != 0) {
  367. DWORD Shirt = Roblox::FindFirstClass(Character, "Shirt");
  368. if (Shirt != 0) {
  369. Roblox::setParent(Shirt, Roblox::Lighting);
  370. }
  371. DWORD Pants = Roblox::FindFirstClass(Character, "Pants");
  372. if (Pants != 0) {
  373. Roblox::setParent(Pants, Roblox::Lighting);
  374. }
  375. }
  376. }
  377. }
  378. else if (Arguments.at(0) == "ws") {
  379. if (Arguments.size() == 3) {
  380. float NewSpeed = std::stof(Arguments.at(2).c_str());
  381. int Player = Roblox::GetCharacter(Arguments.at(1));
  382. if (Player != 0) {
  383. int Humanoid = Roblox::FindFirstClass(Player, "Humanoid");
  384. if (Humanoid != 0) {
  385. Roblox::SetWalkSpeed(Humanoid, NewSpeed);
  386. }
  387. }
  388. }
  389. }
  390. else if (Arguments.at(0) == "seizure") {
  391. if (Arguments.size() == 2) {
  392. if (Arguments.at(1) == "on") {
  393. Roblox::Seizure = true;
  394. }
  395. else if (Arguments.at(1) == "off") {
  396. Roblox::Seizure = false;
  397. }
  398. }
  399. }
  400. else if (Arguments.at(0) == "time") {
  401. if (Arguments.size() == 2) {
  402. double Time = std::stod(Arguments.at(1).c_str());
  403. Roblox::SetMinutesAfterMidnight((void*)Roblox::Lighting, Time * 60.0);
  404. }
  405. }
  406. else if (Arguments.at(0) == "sfog") {
  407. if (Arguments.size() == 2) {
  408. float FogS = std::stof(Arguments.at(1).c_str());
  409. float FogE = std::stof(Arguments.at(1).c_str());
  410. Roblox::SetFogStart((void*)Roblox::Lighting, FogS);
  411. Roblox::SetFogE((void*)Roblox::Lighting, FogE);
  412. }
  413. }
  414. else if (Arguments.at(0) == "god") {
  415. if (Arguments.size() == 2) {
  416. int Player = Roblox::GetCharacter(Arguments.at(1));
  417. if (Player != 0) {
  418. int Humanoid = Roblox::FindFirstClass(Player, "Humanoid");
  419. if (Humanoid != 0) {
  420. Roblox::SetMaxHealth(Humanoid, 99999999999);
  421. State = 4;
  422. Changing = true;
  423. Sleep(300);
  424. Changing = false;
  425. }
  426. }
  427. else
  428. {
  429. std::cout << "Failed to god " << std::endl;
  430. }
  431. }
  432. }
  433. else if (Arguments.at(0) == "swimgod") {
  434. if (Arguments.size() == 2) {
  435. int Player = Roblox::GetCharacter(Arguments.at(1));
  436. if (Player != 0) {
  437. int Humanoid = Roblox::FindFirstClass(Player, "Humanoid");
  438. if (Humanoid != 0) {
  439. Roblox::SetMaxHealth(Humanoid, 99999999999);
  440. State = 4;
  441. Changing = true;
  442. }
  443. }
  444. else
  445. {
  446. std::cout << "Failed to god " << std::endl;
  447. }
  448. }
  449. }
  450. else if (Arguments.at(0) == "unswimgod") {
  451. if (Arguments.size() == 2) {
  452. int Player = Roblox::GetCharacter(Arguments.at(1));
  453. if (Player != 0) {
  454. int Humanoid = Roblox::FindFirstClass(Player, "Humanoid");
  455. if (Humanoid != 0) {
  456. Roblox::SetMaxHealth(Humanoid, 0);
  457. Changing = false;
  458. }
  459. }
  460. else
  461. {
  462. std::cout << "Failed to god " << std::endl;
  463. }
  464. }
  465. }
  466. else if (Arguments.at(0) == "ungod") {
  467. if (Arguments.size() == 2) {
  468. int Player = Roblox::GetCharacter(Arguments.at(1));
  469. if (Player != 0) {
  470. int Humanoid = Roblox::FindFirstClass(Player, "Humanoid");
  471. if (Humanoid != 0) {
  472. Roblox::SetMaxHealth(Humanoid, 0);
  473. }
  474. }
  475. else
  476. {
  477. std::cout << "Failed to ungod " << std::endl;
  478. }
  479. }
  480. }
  481. else if (Arguments.at(0) == "rtorso") {
  482. int Character = Roblox::GetCharacter(Arguments.at(1));
  483. if (Character != 0) {
  484. int Torso = Roblox::FindFirstChild_PartOf(Character, "Torso");
  485. if (Torso != 0) {
  486. Roblox::setParent(Torso, Roblox::Workspace);
  487. }
  488. }
  489. }
  490. else if (Arguments.at(0) == "rh") {
  491. int Character = Roblox::GetCharacter(Arguments.at(1));
  492. if (Character != 0) {
  493. int Humanoid = Roblox::FindFirstChild_PartOf(Character, "Humanoid");
  494. if (Humanoid != 0) {
  495. Roblox::setParent(Humanoid, Roblox::Lighting);
  496. }
  497. }
  498. }
  499. else if (Arguments.at(0) == "btools") {
  500. int Player = Roblox::GetPlayer(Arguments.at(1));
  501. if (Player != 0) {
  502. Roblox::setPSR(Player, 255);
  503. }
  504. }
  505. if (Arguments.at(0) == "loopkill") {
  506. int Character = Roblox::GetCharacter(Arguments.at(1));
  507. if (Character != 0) {
  508. int Humanoid = Roblox::FindFirstChild_PartOf(Character, "Humanoid");
  509. if (Humanoid != 0) {
  510. Roblox::setParent(Humanoid, Roblox::Workspace);
  511. }
  512. }
  513. }
  514. else if (Arguments.at(0) == "jumppower") {
  515. float NewSpeed = std::stof(Arguments.at(2).c_str());
  516. int Character = Roblox::GetCharacter(Arguments.at(1));
  517. if (Character != 0) {
  518. int Humanoid = Roblox::FindFirstClass(Character, "Humanoid");
  519. if (Humanoid != 0) {
  520. Roblox::SetJumpPower(Humanoid, NewSpeed);
  521. }
  522. }
  523. else {
  524. cout << "Failed to set the players jumppower " << endl;
  525. }
  526. }
  527. else if (Arguments.at(0) == "sethealth") {
  528. float NewSpeed = std::stof(Arguments.at(2).c_str());
  529. int Character = Roblox::GetCharacter(Arguments.at(1));
  530. if (Character != 0) {
  531. int Humanoid = Roblox::FindFirstClass(Character, "Humanoid");
  532. if (Humanoid != 0) {
  533. Roblox::SetMaxHealth(Humanoid, NewSpeed);
  534. }
  535. else {
  536. cout << "Failed to sethealth " << endl;
  537. }
  538. }
  539. else {
  540. cout << "Failed to sethealth " << Arguments.at(1) << " " << endl;
  541. }
  542. }
  543. else if (Arguments.at(0) == "punish") {
  544. std::string Name = Arguments.at(1);
  545. int Character = Roblox::GetCharacter(Name);
  546. if (Character != 0) {
  547. Roblox::setParent(Character, Roblox::Lighting);
  548. }
  549. }
  550. else if (Arguments.at(0) == "unpunish") {
  551. std::string Name = Arguments.at(1);
  552. int Character = Roblox::GetCharacter(Name);
  553. if (Character != 0) {
  554. Roblox::setParent(Character, Roblox::Workspace);
  555. }
  556. }
  557. else if (Arguments.at(0) == "freeze") {
  558. if (Arguments.size() == 3) {
  559. //float NewSpeed = std::stof(Arguments.at(2).c_str());
  560. int Player = Roblox::GetCharacter(Arguments.at(1));
  561. if (Player != 0) {
  562. int Humanoid = Roblox::FindFirstClass(Player, "Humanoid");
  563. if (Humanoid != 0) {
  564. Roblox::SetWalkSpeed(Humanoid, 0);
  565. }
  566. }
  567. }
  568. }
  569. else if (Arguments.at(0) == "thaw") {
  570. if (Arguments.size() == 3) {
  571. //float NewSpeed = std::stof(Arguments.at(2).c_str());
  572. int Player = Roblox::GetCharacter(Arguments.at(1));
  573. if (Player != 0) {
  574. int Humanoid = Roblox::FindFirstClass(Player, "Humanoid");
  575. if (Humanoid != 0) {
  576. Roblox::SetWalkSpeed(Humanoid, 15);
  577. }
  578. }
  579. }
  580. }
  581. else if (Arguments.at(0) == "rshirt") {
  582. DWORD Characterr = Roblox::GetCharacter(Arguments.at(1));
  583. if (Characterr != 0) {
  584. DWORD Shirt = Roblox::FindFirstChild_PartOf(Characterr, "Shirt");
  585. if (Shirt != 0) {
  586. Roblox::setParent(Shirt, Roblox::Lighting);
  587. }
  588. }
  589. }
  590. else if (Arguments.at(0) == "faceless") {
  591. DWORD Characterr = Roblox::GetCharacter(Arguments.at(1));
  592. if (Characterr != 0) {
  593. DWORD Face = Roblox::FindFirstChild_PartOf(Characterr, "Face");
  594. if (Face != 0) {
  595. Roblox::setParent(Face, Roblox::Workspace);
  596. }
  597. }
  598. }
  599. else if (Arguments.at(0) == "rhead") {
  600. DWORD Characterr = Roblox::GetCharacter(Arguments.at(1));
  601. if (Characterr != 0) {
  602. DWORD Head = Roblox::FindFirstChild_PartOf(Characterr, "Head");
  603. if (Head != 0) {
  604. Roblox::setParent(Head, Roblox::Lighting);
  605. }
  606. }
  607. }
  608. else if (Arguments.at(0) == "ghost") {
  609. int Character = Roblox::GetCharacter(Arguments.at(1));
  610. if (Character != 0) {
  611. int Head = Roblox::FindFirstChild_PartOf(Character, "Head");
  612. if (Head != 0) {
  613. Roblox::SetTransparency(Head, 0.0f);
  614. }
  615. int Torso = Roblox::FindFirstChild_PartOf(Character, "Torso");
  616. if (Torso != 0) {
  617. Roblox::SetTransparency(Torso, 0.0f);
  618. }
  619. }
  620. }
  621. }
  622. }
  623.  
  624. namespace Memory {
  625. bool Compare(const BYTE *pData, const BYTE *bMask, const char *szMask)
  626. {
  627. for (; *szMask; ++szMask, ++pData, ++bMask)
  628. if (*szMask == 'x' && *pData != *bMask) return 0;
  629. return (*szMask) == NULL;
  630. }
  631.  
  632. DWORD FindPattern(DWORD dwAddress, DWORD dwLen, BYTE *bMask, char *szMask)
  633. {
  634. for (int i = 0; i<(int)dwLen; i++)
  635. if (Compare((BYTE*)(dwAddress + (int)i), bMask, szMask)) return (int)(dwAddress + i);
  636. return 0;
  637. }
  638.  
  639. int Scan(DWORD mode, char* content, char* mask)
  640. {
  641.  
  642. DWORD PageSize;
  643. SYSTEM_INFO si;
  644. GetSystemInfo(&si);
  645. PageSize = si.dwPageSize;
  646. MEMORY_BASIC_INFORMATION mi;
  647. for (DWORD lpAddr = 0; lpAddr<0x7FFFFFFF; lpAddr += PageSize)
  648. {
  649. DWORD vq = VirtualQuery((void*)lpAddr, &mi, PageSize);
  650. if (vq == ERROR_INVALID_PARAMETER || vq == 0) break;
  651. if (mi.Type == MEM_MAPPED) continue;
  652. if (mi.Protect == mode)
  653. {
  654. int addr = FindPattern(lpAddr, PageSize, (PBYTE)content, mask);
  655. if (addr != 0)
  656. {
  657. return addr;
  658. }
  659. }
  660. }
  661.  
  662. }
  663.  
  664.  
  665. }
  666.  
  667.  
  668. void ABC_Start() {
  669. AllocConsole();//create console
  670. freopen("CONOUT$", "w", stdout); //to use output (cout)
  671. freopen("CONIN$", "r", stdin); //to use input, useless because I never take input
  672. SetConsoleTitleA("Vulvix By Catie Minx");
  673. cout << " Vulvix By Catie Minx " << endl;
  674. cout << "Players can be, 'me' <playername> " << endl;
  675. cout << "Scanning Please Wait... " << endl;
  676. ScriptContextVftable = 0xF873F4;
  677. ScriptContext = Memory::Scan(PAGE_READWRITE, (char*)&ScriptContextVftable, "xxxx");
  678. Roblox::DataModel = Roblox::GetParent(ScriptContext);
  679. Roblox::Players = Roblox::FindFirstClass(Roblox::DataModel, "Players");
  680. Roblox::Lighting = Roblox::FindFirstClass(Roblox::DataModel, "Lighting");
  681. Roblox::Workspace = Roblox::FindFirstClass(Roblox::DataModel, "Workspace");
  682. Roblox::Teams = Roblox::FindFirstClass(Roblox::DataModel, "Teams");
  683. Roblox::CurrentPlayer = Roblox::GetLocalPlayer(Roblox::Players);
  684. Roblox::PlayerName = Roblox::GetName(Roblox::CurrentPlayer);
  685. //Sleep(2000);
  686. CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)Loop, NULL, NULL, NULL);
  687. CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)Roblox::DoLoop, NULL, NULL, NULL);
  688. //CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)jjj, NULL, NULL, NULL);
  689. //Sleep(2000);
  690. int NUU = Roblox::CurrentPlayer;
  691. std::string* CurrentName = Roblox::GetName(NUU);
  692. cout << "Welcome, " << "" << *CurrentName << "" << endl;
  693. cout << "Scanner is completed. " << endl;
  694. ABC_Commands();
  695. }
  696.  
  697. BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
  698. {
  699. if (fdwReason == DLL_PROCESS_ATTACH)
  700. {
  701. DisableThreadLibraryCalls(hinstDLL);
  702. CreateThread(0, 0, (LPTHREAD_START_ROUTINE)ABC_Start, 0, 0, 0);
  703. }
  704. return 1;
  705. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement