AlternativeMW2 (06-05-2011),Buddha3211 (06-08-2011),Heckes (06-05-2011)
So here it is, the alterIWnet full source code, including the newest version "iw4m2" by the original founder "NTAuthority".
Don't ask for the reason this is now leaked here. If it really matters to you: There will be a statement on my twitter account "fluxhandled".
Since the filesize is 122MB, I can't upload it here, maybe there will be a parted version on here tomorrow, meanwhile use this uploaded link:
https://web244.rb-media-s1.de/getsource.php
X3N
If the links go down again, just PM me.
Last edited by MrX3N; 06-04-2011 at 04:51 PM.
AlternativeMW2 (06-05-2011),Buddha3211 (06-08-2011),Heckes (06-05-2011)
no need for virus scan , its clean
MrX3N (06-04-2011)
This is why we can't have nice things..
@Moto
bhavinparmar (06-18-2011),Melodia (06-05-2011)
so now we will have even better unban possibilities or?
Last edited by Moto; 06-04-2011 at 04:24 PM.
I love how aIW people come HERE to fight shit out... /care boat has sailed... btw your images are broken...
Also flaming will not be tolerated...
BTW, you can seperate the files into rars, and upload here... we prefer it that way... or use media fire, or file serve.. something a bit more common.
Last edited by Liz; 06-04-2011 at 04:53 PM.
If anyone claims to be me via any other source outside of MPGH private or visitor messages, IT'S NOT ME!
They are trying to trick or scam you. Report them immediately and PM me here for verification.
"Don’t confuse my personality with my attitude. My personality is who I am. My attitude depends on who you are." — Frank OceanModerator: 5/2009-10/2009 | GMod: 10/2009-10/2010 | Staff Administrator: 10/2010-Present
I do not do requests via PM. Post in the appropriate section.
Stupid/Pointless Private messages = SPAM, SPAM = BAN.
-sigh-
We were all saying how it would be a matter of time before this appeared on MPGH, congrats to you, x3n. Thanks.
Someone thought this should be added
Code:// ========================================================== // alterIWnet project // // Component: aiw_client // Sub-component: steam_api // Purpose: singleplayer level loading code (reallocation, // address changes, other patches, ...) // // Initial author: NTAuthority // Started: 2011-05-25 // ========================================================== #include "StdInc.h" #include "Hooking.h" // entity dumping, needs to be split? struct MapEnts { const char* name; const char* entitystring; }; void DumpMapEntities(MapEnts* entities) { char filename[255]; CreateDirectoryA("raw/maps", NULL); CreateDirectoryA("raw/maps/mp", NULL); _snprintf(filename, sizeof(filename), "raw/%s.ents", entities->name); FILE* file = fopen(filename, "w"); if (file) { fwrite(entities->entitystring, 1, strlen(entities->entitystring), file); fclose(file); } } static char mapEntities[512 * 1024]; void LoadMapEntities(MapEnts* entry) { char* buffer; char filename[255]; _snprintf(filename, sizeof(filename), "%s.ents", entry->name); // why the weird casts? if (FS_ReadFile((const char*)(&filename), (void**)&buffer) >= 0) { strcpy(mapEntities, buffer); entry->entitystring = mapEntities; } } // more code static DWORD gameWorldSP; static DWORD gameWorldMP; // defined in Load.cpp void* ReallocateAssetPool(assetType_t type, unsigned int newSize); // TODO: load these dynamically struct LevelDependency { const char* level; const char* dependency; }; LevelDependency _dependencies[] = { { "oilrig", "mp_subbase" }, { 0, 0 } }; // called during Com_LoadLevelZone, replaces the DB_LoadXAssets call CallHook mapZoneLoadHook; DWORD mapZoneLoadHookLoc = 0x42C2AF; // Com_Sprintf call in Com_GetBspFilename CallHook getBSPNameHook; DWORD getBSPNameHookLoc = 0x4C5979; static char levelDependencyName[64]; static char levelAssetName[64]; bool AssetRestrict_RestrictFromMaps(assetType_t type, const char* name, const char* zone) { if (!stricmp(zone, levelDependencyName)) { // don't load other maps if (type == ASSET_TYPE_GAME_MAP_MP || type == ASSET_TYPE_COL_MAP_MP || type == ASSET_TYPE_GFX_MAP || type == ASSET_TYPE_MAP_ENTS || type == ASSET_TYPE_COM_MAP || type == ASSET_TYPE_FX_MAP) { return true; } // also don't load localize/fx if (type == ASSET_TYPE_LOCALIZE/* || type == ASSET_TYPE_FX*/) // we need to link 'fx' assets as otherwise we // crash at Mark_FxEffectDefAsset... // guess rule #1 needs to be expanded: // so rule #2 becomes 'don't touch fastfiles through code // if you do not understand the code'. // rule #1 still stands: 'don't touch fastfiles' { return true; } } if (type == ASSET_TYPE_WEAPON) { if (!stricmp(zone, levelAssetName)) { return true; } } return false; } void MapZoneLoadHookFunc(XZoneInfo* data, int count, int unknown) { XZoneInfo newData[3]; // flag us as loading level assets so we don't load weapons strcpy(levelAssetName, data[0].name); levelDependencyName[0] = '\0'; // load the base XAsset DB_LoadXAssets(data, count, unknown); // add level dependencies count = 0; for (LevelDependency* dependency = _dependencies; dependency->level; dependency++) { if (!_stricmp(dependency->level, data[0].name)) { newData[count].name = dependency->dependency; newData[count].type1 = data[0].type1; newData[count].type2 = data[0].type2; count++; break; } } // load level dependencies if (count > 0) { strcpy(levelDependencyName, newData[0].name); DB_LoadXAssets(newData, count, unknown); } // check for being MP/SP, and change data accordingly if (_strnicmp("mp_", data[0].name, 3)) { // SP *(DWORD*)0x4D90B7 = gameWorldSP + 52; // some game data structure } else { // MP *(DWORD*)0x4D90B7 = gameWorldMP + 4; // some game data structure } } CallHook ignoreEntityHook; DWORD ignoreEntityHookLoc = 0x5FBD6E; bool IgnoreEntityHookFunc(const char* entity); // TODO: move here from Load void ReallocXAssetEntries(); void PatchMW2_SPMaps() { // reallocate asset pools ReallocateAssetPool(ASSET_TYPE_IMAGE, 7168); ReallocateAssetPool(ASSET_TYPE_LOADED_SOUND, 2700); ReallocateAssetPool(ASSET_TYPE_FX, 1200); ReallocateAssetPool(ASSET_TYPE_LOCALIZE, 14000); ReallocateAssetPool(ASSET_TYPE_XANIM, 8192); ReallocateAssetPool(ASSET_TYPE_XMODEL, 3072); ReallocateAssetPool(ASSET_TYPE_PHYSPRESET, 128); // get and store GameWorld*p data gameWorldSP = (DWORD)ReallocateAssetPool(ASSET_TYPE_GAME_MAP_SP, 1); gameWorldMP = (*(DWORD*)0x4D90B7) - 4; // allow loading of IWffu (unsigned) files *(BYTE*)0x4158D9 = 0xEB; // main function *(WORD*)0x4A1D97 = 0x9090; // DB_AuthLoad_InflateInit // ignore 'node_' entities //ignoreEntityHook.initialize((PBYTE)ignoreEntityHookLoc); //ignoreEntityHook.installHook((void(*)())IgnoreEntityHookFunc, false); // asset zone loading mapZoneLoadHook.initialize((PBYTE)mapZoneLoadHookLoc); mapZoneLoadHook.installHook((void(*)())MapZoneLoadHookFunc, false); // BSP name getBSPNameHook.initialize((PBYTE)getBSPNameHookLoc); getBSPNameHook.installHook((void(*)())GetBSPNameHookFunc, false); // hunk size (was 300 MiB) *(DWORD*)0x64A029 = 0x1C200000; // 450 MiB *(DWORD*)0x64A057 = 0x1C200000; // XAsset entries ReallocXAssetEntries(); }
Dude, This is useless to most noobs on this site, and for those to whom it may matter, this will be changed soon, im sure of it. Like they said, they are going full time on aIW rather than starting AlterOPS. Inevitably, this will soon be completly worthless.
Just because Flux got scrapped?
Donate:
BTC: 1GEny3y5tsYfw8E8A45upK6PKVAEcUDNv9
Handy Tools/Hacks:
Extreme Injector v3.7.3
A powerful and advanced injector in a simple GUI.
Can scramble DLLs on injection making them harder to detect and even make detected hacks work again!
Minion Since: 13th January 2011
Moderator Since: 6th May 2011
Global Moderator Since: 29th April 2012
Super User/Unknown Since: 23rd July 2013
'Game Hacking' Team Since: 30th July 2013
--My Art--
[Roxas - Pixel Art, WIP]
[Natsu - Drawn]
[Natsu - Coloured]
All drawings are coloured using Photoshop.
--Gifts--
[Kyle]
Bealhorm (06-05-2011),EpicPlayer (06-08-2011),Melodia (06-05-2011),Stephen (06-07-2011)
something like this has been a long time coming I kept warning them this would happen eventually
nothing todo now but fan the flames are help/hope it aiw burns its self out completely and permanently then maby their collection of kids will find something constructive todo
Yay code leaks
I loved reading the leaked Windows code, hopefully this will be just as fun
You mean, destroyed :L
Honestly that's the only reason I was actually watching aIW's activities - it seemed like a great idea.
EDIT: Just downloaded it. The code is actually decent, but anticheatd:
I'm glad I'm not working on aIW =DCode:#include <iostream> #include <fstream> #include <cstdlib> #include <cstdint> #include "Cache.h" #include "Log.h" #include "Obfuscator.h" #define VERSION 0.1 #define LOG_FILE "./anticheatd.log" #define CODE_FILE "./ac.bin" int main(int argc, char *argv[]) { #ifdef DEBUG Log::initialize(LOG_FILE, Log::INFO | Log::WARNING | Log::ERROR | Log::DEBUG); #else Log::initialize(LOG_FILE, Log::INFO | Log::WARNING | Log::ERROR); #endif Log::append(Log::INFO, "alterIWNet anticheatd v%d starting up", VERSION); #ifdef WIN32 Log::verbose = true; Log::append(Log.INFO, "INFO: Running in Windows, not daemonizing; redirecting log output to stdout"); #else if(daemon(1, 0) == -1) { Log::append(Log::ERROR, "FATAL ERROR: Could not daemonize. Error code: %i", errno); std::cout << "FATAL ERROR: Could not daemonize. Check log file for more details." << std::endl; return 1; } #endif } bool sendPayload(int sockfd) { uint8_t *acCode; if(!Cache::getCode(acCode)) { std::ifstream code; code.open(CODE_FILE, std::ios::in | std::ios::binary); if(!code.is_open()) { Log::append(Log::ERROR, "FATAL ERROR: Could not open code file"); return false; } code.seekg(0, std::ios::end); size_t fileLength = code.tellg(); uint8_t *buffer = new uint8_t[fileLength]; code.read(buffer, fileLength); code.close(); Cache::storeCode(buffer, fileLength); acCode = buffer; } if(!Obfuscator::obfuscatePayload(acCode, fileLength)) { Log::append(Log::ERROR, "FATAL ERROR: Could not obfuscate payload, not sending"); return false; } /* do something */ delete[] acCode; }
Last edited by freedompeace; 06-04-2011 at 11:54 PM.