<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cra0 - Software Engineer</title><link>https://cra0.net/blog/</link><description>Recent content on Cra0 - Software Engineer</description><generator>Hugo</generator><language>en-us</language><copyright>Cra0</copyright><lastBuildDate>Mon, 30 Dec 2024 00:00:00 +1000</lastBuildDate><atom:link href="https://cra0.net/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Reverse Engineering PixMob LED Concert Bracelets Part One</title><link>https://cra0.net/blog/posts/reverse-engineering-pixmob-led-concert-bracelets-p1/</link><pubDate>Mon, 30 Dec 2024 00:00:00 +1000</pubDate><guid>https://cra0.net/blog/posts/reverse-engineering-pixmob-led-concert-bracelets-p1/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Firstly, I want to share a bit of background on how this project began. Before this, I had virtually no understanding of &lt;a href="https://en.wikipedia.org/wiki/Microcontroller"&gt;microcontrollers&lt;/a&gt; or low-level communication protocols like &lt;a href="https://en.wikipedia.org/wiki/I%C2%B2C"&gt;I²C&lt;/a&gt; and &lt;a href="https://en.wikipedia.org/wiki/Serial_Peripheral_Interface"&gt;SPI&lt;/a&gt;. My unexpected dive into hardware hacking started at a Taylor Swift concert, which I was dragged to attend. Each attendee was handed a wristband upon entering the arena. Initially, these wristbands were dark; a plastic tag kept the coin cell battery from powering the device. Removing it proved anticlimactic—the show hadn’t even begun, so I realized I’d just have to wait.&lt;/p&gt;</description></item><item><title>Exploring Hardware Hacking</title><link>https://cra0.net/blog/posts/exploring-hardware-hacking/</link><pubDate>Sat, 07 Dec 2024 00:00:00 +1000</pubDate><guid>https://cra0.net/blog/posts/exploring-hardware-hacking/</guid><description>&lt;p&gt;Over the last year I have been preoccupied with something that was completely new to me - hardware hacking. This journey has been filled with curiosity, frustration and a shit ton of learning.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve always been fascinated by the inner workings of devices, but it wasn&amp;rsquo;t until I started exploring hardware in detail that I truly understood the complexity and intricacy of these systems.&lt;/p&gt;
&lt;p&gt;In the next few posts I&amp;rsquo;ll be sharing my experiences, insights and learnings from this engaging field. I will discuss a range of topics, including the communication protocols utilized by microcontrollers, firmware analysis and hardware security.&lt;/p&gt;</description></item><item><title>Debugging the Windows kernel on VMware Part Two</title><link>https://cra0.net/blog/posts/debugging-the-windows-kernel-vmware-p2/</link><pubDate>Thu, 06 Jun 2024 00:00:01 +1000</pubDate><guid>https://cra0.net/blog/posts/debugging-the-windows-kernel-vmware-p2/</guid><description>&lt;p&gt;In this article, I will guide you on how to set up KDNET on a &lt;a href="https://www.vmware.com/"&gt;VMWare&lt;/a&gt; instance of Windows 10 for debugging. If you haven&amp;rsquo;t already, I encourage you to read &lt;a href="https://cra0.net/blog/posts/debugging-the-windows-kernel-vmware-p1/"&gt;part one&lt;/a&gt; of my guide, which provides additional context on this topic, especially regarding &lt;a href="https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/"&gt;WinDbg&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="debugging-over-the-network"&gt;Debugging over the Network&lt;/h2&gt;
&lt;p&gt;The diagram below illustrates the topological setup we will focus on in this tutorial. While we are using the same physical PC for both the host and guest OS. This configuration however, can be adapted to work with separate machines on the same network, such as a laptop.&lt;/p&gt;</description></item><item><title>Debugging the Windows kernel on VMware Part One</title><link>https://cra0.net/blog/posts/debugging-the-windows-kernel-vmware-p1/</link><pubDate>Sun, 18 Feb 2024 00:00:00 +1000</pubDate><guid>https://cra0.net/blog/posts/debugging-the-windows-kernel-vmware-p1/</guid><description>&lt;p&gt;Numerous methods exist for configuring a Windows virtual machine for debugging purposes, such as through &lt;a href="https://www.virtualbox.org/"&gt;Virtual Box&lt;/a&gt; or &lt;a href="https://www.qemu.org/"&gt;QEMU&lt;/a&gt;. However, this guide will concentrate specifically on the configuration process using &lt;a href="https://www.vmware.com/"&gt;VMware&lt;/a&gt;. Debugging the Windows Kernel virtually removes the need for two physical computers.&lt;/p&gt;
&lt;p&gt;For part one of this article I will cover the setup process involved with debugging the Kernel using &lt;a href="https://en.wikipedia.org/wiki/WinDbg"&gt;WinDbg&lt;/a&gt; over a virtual serial port.
&lt;div&gt;
 
&lt;img src="setup-diagram-comport.png"

style="border: none;"

/&gt;

&lt;/div&gt;
Above is a diagram illustrating the debugging process using the serial port method. Take note how both the host and guest are running on the same physical hardware.&lt;/p&gt;</description></item><item><title>THE FINALS a new f2p arena game</title><link>https://cra0.net/blog/posts/the-finals-embark-studios/</link><pubDate>Sat, 23 Dec 2023 00:00:00 +1000</pubDate><guid>https://cra0.net/blog/posts/the-finals-embark-studios/</guid><description>&lt;h1 id="the-finals"&gt;THE FINALS&lt;/h1&gt;
&lt;p&gt;Without regurgitating too much about this game, &lt;a href="https://store.steampowered.com/app/2073850/THE_FINALS/"&gt;THE FINALS&lt;/a&gt; is a new free-to-play arena shooter that was released about two weeks ago on Steam.&lt;/p&gt;
&lt;p&gt;Previously I had taken a look at this game during the multiple beta releases earlier this year but now that it&amp;rsquo;s finally released lets talk about it&amp;rsquo;s state.&lt;/p&gt;
&lt;div&gt;
 
&lt;img src="art1_tf.jpg"

style="border: none;"

/&gt;

&lt;/div&gt;
&lt;h2 id="beta-releases"&gt;BETA releases&lt;/h2&gt;
&lt;p&gt;There were a few beta releases of this game and I only participated in the last one. Initially, the game appeared to be packed, leading me to suspect it used something akin to VMP. However, it soon became clear that it was utilizing a different form of protection.
I&amp;rsquo;v come across this this before in &lt;a href="https://en.wikipedia.org/wiki/The_Cycle:_Frontier"&gt;The Cycle: Frontier&lt;/a&gt; after [Byfron] was acquired by Roblox. The later stages of that game before it died horribly they switched to another protection solution which the community dubbed &lt;em&gt;Walmart Byfron&lt;/em&gt;. this was that.&lt;/p&gt;</description></item><item><title>CS2 Votekick XSS</title><link>https://cra0.net/blog/posts/cs2-votekick-xss-poc/</link><pubDate>Tue, 12 Dec 2023 00:00:00 +1000</pubDate><guid>https://cra0.net/blog/posts/cs2-votekick-xss-poc/</guid><description>&lt;p&gt;Yesterday, I came across something hilarious that actually turned out to be more malicious than I thought.&lt;/p&gt;
&lt;p&gt;A new post appeared on &lt;a href="https://www.reddit.com/r/cs2/comments/18ffh8p/explicit_gif_in_name_for_votekick_valve/"&gt;Reddit - NSFW&lt;/a&gt; showing someone observing a pornographic image in their CS2 game appearing on the Vote Kick screen. This is very unusual as there should be no graphics appearing on that panel in the game. At first I thought this has to be photoshop or fake but it turns out it was in fact real.&lt;/p&gt;</description></item><item><title>Counter-Strike 2 Release</title><link>https://cra0.net/blog/posts/counter-strike-2-rel/</link><pubDate>Thu, 26 Oct 2023 00:00:00 +1000</pubDate><guid>https://cra0.net/blog/posts/counter-strike-2-rel/</guid><description>&lt;p&gt;Last month in September, Valve officially released Counter-Strike 2, which took over from &lt;a href="https://en.wikipedia.org/wiki/Counter-Strike:_Global_Offensive"&gt;Counter-Strike: Global Offensive&lt;/a&gt; on Steam.&lt;/p&gt;
&lt;p&gt;Although I haven&amp;rsquo;t had the chance to play the game yet, I&amp;rsquo;ve heard that it hasn&amp;rsquo;t changed much from the beta version I tried in March. My involvement in other research projects has kept me from diving deeper into the game, despite my initial strong interest.&lt;/p&gt;
&lt;h1 id="cs2-code-integrity--vac"&gt;CS2 Code Integrity &amp;amp; VAC&lt;/h1&gt;
&lt;div&gt;
 
&lt;img src="cs2-are-you-trusted.png"

style="border: none;"

/&gt;

&lt;/div&gt;
&lt;p&gt;A few weeks, articles started appearing saying &lt;a href="https://overclock3d.net/news/software/amds-anti-lag-technology-is-getting-counter-strike-2-players-banned/"&gt;AMD’s Anti-Lag+ technology is getting Counter-Strike 2 players banned&lt;/a&gt;. This got me interested, so I started looking into the game again.&lt;/p&gt;</description></item><item><title>Preserving Your Digital Sandcastles with an IDA Plugin</title><link>https://cra0.net/blog/posts/ida-plugin-for-function-signature-preservation/</link><pubDate>Sun, 16 Jul 2023 00:00:00 +1000</pubDate><guid>https://cra0.net/blog/posts/ida-plugin-for-function-signature-preservation/</guid><description>&lt;h2 id="sandcastles"&gt;Sandcastles&lt;/h2&gt;
&lt;div&gt;
 
&lt;img src="sandcastles-analogy.jpg"

style="border: none;"

/&gt;

&lt;/div&gt;
&lt;p&gt;You might be wondering what sandcastles have to do with reverse engineering and &lt;a href="https://hex-rays.com/ida-pro/"&gt;IDA&lt;/a&gt; plugins. Bear with me here; it&amp;rsquo;s not as far off as you might think.&lt;/p&gt;
&lt;p&gt;When we&amp;rsquo;re at the beach, building sandcastles can be a joyous, engrossing task. We invest time, effort, and creativity into constructing our tiny kingdoms. Yet, as we all know, the next wave or high tide can wash away all that hard work in an instant, leaving no trace of the intricate designs we&amp;rsquo;d assembled. Perhaps you have experienced this, or witnessed it happen to others.&lt;/p&gt;</description></item><item><title>Counter-Strike 2 Limited Test Release</title><link>https://cra0.net/blog/posts/counter-strike-2-beta/</link><pubDate>Fri, 24 Mar 2023 00:00:00 +1000</pubDate><guid>https://cra0.net/blog/posts/counter-strike-2-beta/</guid><description>&lt;p&gt;Valve yesterday released &lt;a href="https://www.counter-strike.net/cs2"&gt;Counter-Strike 2 in a closed beta&lt;/a&gt; run to a select group of people. It has been a long time since there was anything announced like this but I think we all saw it coming.&lt;/p&gt;
&lt;p&gt;The existing &lt;a href="https://developer.valvesoftware.com/wiki/Source"&gt;Source Engine&lt;/a&gt; that powers &lt;a href="https://store.steampowered.com/app/730/CounterStrike_Global_Offensive/"&gt;CSGO&lt;/a&gt; is still running on &lt;a href="https://en.wikipedia.org/wiki/X86"&gt;x86&lt;/a&gt; and the graphic capabilities are long dated.&lt;/p&gt;
&lt;div&gt;
 
&lt;img src="cs2-screenshot1.jpg"

style="border: none;"

/&gt;

&lt;/div&gt;
&lt;p&gt;Despite being a closed beta, I was unable to obtain access through official channels. It seems that the developers are primarily granting access to those who actively play the game, and unfortunately, I have not been. However I managed to get a copy of the game files and it runs fine in an offline capability with &lt;code&gt;steam_api64.dll&lt;/code&gt; patched.&lt;/p&gt;</description></item><item><title>DLL Hijacking for Code Execution</title><link>https://cra0.net/blog/posts/dll-hijacking-for-code-execution/</link><pubDate>Sat, 18 Feb 2023 00:00:00 +1000</pubDate><guid>https://cra0.net/blog/posts/dll-hijacking-for-code-execution/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Although not a novel concept, DLL Hijacking or proxying has proven to be a valuable technique in various scenarios, such as software exploitation, as well as being employed in the cracking of common software and game hacking.&lt;/p&gt;
&lt;h2 id="dynamic-link-library-dll"&gt;Dynamic Link Library (DLL)&lt;/h2&gt;
&lt;p&gt;To begin with, you may be unfamiliar with or curious about the concept of DLLs. DLL, short for &lt;a href="https://en.wikipedia.org/wiki/Dynamic-link_library"&gt;Dynamic Link Library&lt;/a&gt;, refers to the essential libraries that contain functional code or resources utilized in Windows applications. These libraries share the same &lt;a href="https://en.wikipedia.org/wiki/Portable_Executable"&gt;Portable Executable (PE)&lt;/a&gt; file format as &lt;a href="https://en.wikipedia.org/wiki/.exe"&gt;.EXE&lt;/a&gt; files. In this post, I will provide a brief overview of their structure to facilitate an understanding of the DLL proxying process.&lt;/p&gt;</description></item><item><title>IDA Plugin - Jump To Offset</title><link>https://cra0.net/blog/posts/jump-to-offset-ida-plugin/</link><pubDate>Wed, 14 Dec 2022 00:00:00 +1000</pubDate><guid>https://cra0.net/blog/posts/jump-to-offset-ida-plugin/</guid><description>&lt;h2 id="little-bit-of-background"&gt;Little bit of background&lt;/h2&gt;
&lt;p&gt;Following off the &lt;a href="../a-small-yet-useful-ida-plugin/"&gt;previous post&lt;/a&gt; about IDA plugins I&amp;rsquo;ve also created another which provides you useful functionality.&lt;/p&gt;
&lt;p&gt;This time it lets you jump to a location using a direct offset. Essentially the RVA of the image you enter into the dialog. Why IDA does not have this as an option? I have no idea but I got bothered enough to justify building something that does this.&lt;/p&gt;
&lt;h2 id="usage"&gt;Usage&lt;/h2&gt;
&lt;p&gt;Use the shortcut keys &lt;code&gt;Shift + G&lt;/code&gt; to bring up the input dialog and enter an offset to jump to relative to the image base.&lt;/p&gt;</description></item><item><title>IDA Plugin - Get Offset</title><link>https://cra0.net/blog/posts/a-small-yet-useful-ida-plugin/</link><pubDate>Wed, 05 Oct 2022 00:00:00 +1000</pubDate><guid>https://cra0.net/blog/posts/a-small-yet-useful-ida-plugin/</guid><description>&lt;h2 id="little-bit-of-background"&gt;Little bit of background&lt;/h2&gt;
&lt;p&gt;When you are working with a process module dump in &lt;a href="https://hex-rays.com/ida-pro/"&gt;IDA Pro&lt;/a&gt; it&amp;rsquo;s important to make note of the &lt;code&gt;Imagebase&lt;/code&gt; so you can easily locate functions or data you are observing in live memory.&lt;/p&gt;
&lt;p&gt;Now in a perfect world the module/exe you import into IDA would be loaded at &lt;code&gt;0x04000000&lt;/code&gt; or if it&amp;rsquo;s 64bit &lt;code&gt;0x0000000140000000&lt;/code&gt;. &lt;em&gt;Why those constants you may ask? Raymond Chen explains that in his post &lt;a href="https://devblogs.microsoft.com/oldnewthing/20141003-00/?p=43923"&gt;here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>New Blog Launched!</title><link>https://cra0.net/blog/posts/new-blog-launched/</link><pubDate>Fri, 09 Sep 2022 00:00:00 +1000</pubDate><guid>https://cra0.net/blog/posts/new-blog-launched/</guid><description>&lt;p&gt;It has been a while since I have been inactive with posts, releases and content. I&amp;rsquo;ve been working behind the scenes to relaunch this site on a new headless CMS.&lt;/p&gt;
&lt;p&gt;All my old content posted since 2014 has been converted over in the &lt;a href="https://cra0.net/blog/posts/archived/"&gt;Archived Posts&lt;/a&gt; section which have had all their hyperlinks updated to be all working again.&lt;/p&gt;
&lt;p&gt;Content and other releases can be found via the &lt;a href="https://cra0.net/blog/public"&gt;Downloads&lt;/a&gt; page.&lt;/p&gt;
&lt;p&gt;In the coming weeks and months I will be releasing more blog posts and research material. If you wish to contact me for any requests or info you can do so via the &lt;a href="https://cra0.net/blog/pages/about/"&gt;About&lt;/a&gt; page.&lt;/p&gt;</description></item><item><title>Thank you - Cra0</title><link>https://cra0.net/blog/pages/donation/thank-you/</link><pubDate>Fri, 09 Sep 2022 00:00:00 +1000</pubDate><guid>https://cra0.net/blog/pages/donation/thank-you/</guid><description>&lt;p&gt;Thank you for your donation. Much appreciated!&lt;/p&gt;</description></item><item><title>About</title><link>https://cra0.net/blog/pages/about/</link><pubDate>Thu, 01 Sep 2022 00:00:00 +1000</pubDate><guid>https://cra0.net/blog/pages/about/</guid><description>&lt;div&gt;
 
&lt;img src="blog-banner-cra0.png"

style="border: none;"

/&gt;

&lt;/div&gt;
&lt;p&gt;I do research and development in computer software. This mainly involves reverse engineering and breaking things to see how they work. I have released some tools to extract, data mine and modify various game titles. Additionally I&amp;rsquo;ve written some articles around anti-cheats like VAC and BattlEye.
You can browse my &lt;a href="https://github.com/cra0"&gt;GitHub&lt;/a&gt; and software releases &lt;a href="https://cra0.net/public/bin-published/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you have any questions, queries or comments shoot me an email via:&lt;/p&gt;
&lt;div&gt;
 
&lt;img src="em-cra0-vec.svg"

style="border: none;"

/&gt;

&lt;/div&gt;
&lt;p&gt;If you would like to support me and the research I do you can donate via the button below:&lt;/p&gt;</description></item><item><title>BattlEye Anti-Anti LoadLibrary</title><link>https://cra0.net/blog/posts/archived/2018/battleye-anti-anti-loadlibrary/</link><pubDate>Tue, 02 Oct 2018 15:15:45 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2018/battleye-anti-anti-loadlibrary/</guid><description>&lt;p&gt;So while testing some things against a BattlEye protected again I noticed recently there was an update that prevents LoadLibrary from being utilized even after unloading the Anti-cheat.&lt;/p&gt;
&lt;p&gt;First of all I thought, maybe Mr Bastian isn’t unloading the minifilter hook or it’s the &lt;code&gt;PsSetLoadImageNotifyRoutine &lt;/code&gt;catching the LoadLibrary call but that didn’t really make sense.&lt;/p&gt;
&lt;p&gt;Checking the system for any hooks and routines installed returned nothing, so how is he still blocking the LoadLibrary call even after the BEDaisy driver is unloaded and BEClient.dll gone from the game’s module list.&lt;/p&gt;</description></item><item><title>Valve Anti-Cheat Untrusted Bans (VAC) CSGO</title><link>https://cra0.net/blog/posts/archived/2017/valve-anti-cheat-untrusted-bans-vac-csgo/</link><pubDate>Thu, 07 Sep 2017 11:21:03 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2017/valve-anti-cheat-untrusted-bans-vac-csgo/</guid><description>&lt;p&gt;So recently I’ve seen people surprized at how they are getting ‘untrusted bans’ on cheating forums. Some even confused at what that term even means.&lt;/p&gt;
&lt;figure&gt;&lt;img src="untrusted_vac.png"&gt;
&lt;/figure&gt;

&lt;p&gt;Even though Valve hasn’t given us a definition of what it means previously it was understood that an ‘untrusted ban’ was the serversided anticheat ban given to players who send incorrect data to the game server in Valve’s official matchmaking. Most prominently player view angles which are stored in the &lt;a href="https://en.wikipedia.org/wiki/Euler_angles"&gt;Euler format (X,Y,Z) (Pitch, Yaw, Roll)&lt;/a&gt; if sent incorrectly to the game server instantly will flag your account as ‘untrusted’.&lt;/p&gt;</description></item><item><title>VAC3 Updates</title><link>https://cra0.net/blog/posts/archived/2017/vac3-updates-2/</link><pubDate>Thu, 08 Jun 2017 15:24:49 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2017/vac3-updates-2/</guid><description>&lt;p&gt;I haven’t posted anything here in a while and well this just happened yesterday.&lt;/p&gt;
&lt;figure&gt;&lt;img src="ss&amp;#43;%282017-06-07&amp;#43;at&amp;#43;04.09.24%29.png"&gt;
&lt;/figure&gt;

&lt;p&gt;They are indeed doing something to the timestamps of the modules because&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;File: vac_module_0_4034d3e194a4d269c43e889593b00bcb.dll
Size: 29KB
Export TimeStamp: 13/05/2017 4:07:59 AM
Debug TimeStamp: 13/05/2017 4:07:59 AM
.text hash: 70E41F8439001066DE3FFFB00B1CDE52A0BF9E6F
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;File: vac_module_0_125e53d20a0cbe4849b7ff5f0130a2bf.dll
Size: 29KB
Export TimeStamp: 16/05/2017 4:59:39 AM
Debug TimeStamp: 16/05/2017 4:59:39 AM
.text hash: 3AD50243148A16042AA035749A1AEC049FCEA2A3
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Same module, which enumerates drivers that is 100% identical has different timestamps.&lt;/p&gt;</description></item><item><title>Valve Anti-cheat (VAC) in 2017</title><link>https://cra0.net/blog/posts/archived/2017/valve-anti-cheat-vac-in-2017/</link><pubDate>Thu, 16 Feb 2017 01:07:17 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2017/valve-anti-cheat-vac-in-2017/</guid><description>&lt;p&gt;Lets first talk about Valve’s roadmap for Counter-Strike Global Offensive, mentioned briefly by Valve’s Gabe Newell in a &lt;a href="https://www.reddit.com/r/The_Gaben/comments/5olhj4/hi_im_gabe_newell_ama/"&gt;reddit AMA&lt;/a&gt; he said the following:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;As far as a roadmap is concerned, our priorities for 2017 are to replace the UI with Panorama, to make CS:GO available in more territories where a lot of Counter-Strike fans don’t have easy access to it (like China), and &lt;strong&gt;anti-cheat&lt;/strong&gt;. Of course, we’re also planning on continuing to ship bug fixes and new features throughout the year, as in the past.&lt;/p&gt;</description></item><item><title>VAC3 Changes</title><link>https://cra0.net/blog/posts/archived/2016/vac3-changes/</link><pubDate>Sat, 22 Oct 2016 20:54:30 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2016/vac3-changes/</guid><description>&lt;p&gt;I’m going to refrain from posting public information about VAC from this post forward. They seem to have noticed we are using the .text section of the modules to keep track of modules and the timestamps to determine if any updates occurred.&lt;/p&gt;
&lt;p&gt;The .rdata seems to be merged now with the code section (.text) so we can’t really use section hashes anymore.&lt;/p&gt;
&lt;figure&gt;&lt;img src="debug_in_text_vac3.png"&gt;
&lt;/figure&gt;

&lt;p&gt;No doubt that someone new is working with the VAC team and they have read my posts or they have just picked back up from the inactivity as evident of the recent major banwaves hitting p2cs.&lt;/p&gt;</description></item><item><title>VAC Banwave (13/09/2016)</title><link>https://cra0.net/blog/posts/archived/2016/vac-banwave-13092016/</link><pubDate>Thu, 15 Sep 2016 17:08:54 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2016/vac-banwave-13092016/</guid><description>&lt;p&gt;A few days ago there was a massive VAC ban wave. Some of the major P2C providers got hit:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Interwebz&lt;/li&gt;
&lt;li&gt;UnityHacks&lt;/li&gt;
&lt;li&gt;Aimware&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;&lt;img src="banwave_13.png"&gt;
&lt;/figure&gt;

&lt;p&gt;Other providers got hit but I’m not aware of who they are. News sites are reporting this to be the &lt;a href="http://www.pcinvasion.com/largest-steam-vac-ban-just-happened"&gt;largest ban wave of the year&lt;/a&gt;. Firstly I’m going to start by saying &lt;strong&gt;this is not a server side detection&lt;/strong&gt; as a big post on reddit and various other sites have threads titled “untrusted ban wave”. Untrusted though yes mostly is a ban that occurs when the server side anti-cheat detects an anomaly or something that shouldn’t be set on your client however it can also occur when the clientside VAC scanner detects an injection occurring. These bans are delayed as far as I know as when I was using the public Xenos injector I received an untrusted ban which later showed up on my profile as a VAC ban.&lt;/p&gt;</description></item><item><title>Updated VAC3 Modules</title><link>https://cra0.net/blog/posts/archived/2016/updated-vac3-modules/</link><pubDate>Sun, 21 Aug 2016 19:01:50 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2016/updated-vac3-modules/</guid><description>&lt;p&gt;As mentioned in the previous post Valve has changed the way they do import hiding. Previously there would be a bunch of string objects usually for each module that is being imported so “kernel32.dll” -&amp;gt; “GetProcAddress”,”ReadProcessMemory”, “OutputDebugStringA” etc and these would all be passed through a function which has an initial xor key of 0x55.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt; public unsafe string DecryptString(byte[] strData)
 {
 byte[] out_str = new byte[strData.Length];
 byte key = 0x55;


 byte* v3; // edx@1
 byte v4; // bl@1
 byte result; // al@1
 int v6; // edi@1
 int v7; // esi@2

 fixed (byte* str = strData)
 fixed (byte* str_out = out_str)
 {
 v3 = str_out;
 v4 = key;
 result = key;
 v6 = (char)key ^ *(byte*)str;
 if ((char)key != *(byte*)str)
 {
 v7 = (int)(str + 1 - (byte*)str_out);
 do
 {
 result = (byte)(v4 ^ v3[v7]);
 v4 = v3[v7];
 *v3++ = result;
 --v6;
 }
 while (v6 != 0);

 }
 *v3 = 0;
 }

 return Encoding.ASCII.GetString(out_str).TrimEnd(&amp;#39;\0&amp;#39;);
 }
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Now however they changed the operation and they are using IceKey encryption to decode the strings which get decoded in one big block.&lt;/p&gt;</description></item><item><title>VAC3 Updates</title><link>https://cra0.net/blog/posts/archived/2016/vac3-updates/</link><pubDate>Thu, 18 Aug 2016 18:01:38 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2016/vac3-updates/</guid><description>&lt;figure&gt;&lt;img src="VAC3_ATTRACT2.png"&gt;
&lt;/figure&gt;

&lt;p&gt;Valve pushed an update for VAC3 a few days ago or it could of been a week I’m not sure I didn’t actually check the modules for a week.&lt;/p&gt;
&lt;p&gt;Heres a log of the modules I dumped today and their time stamp dates.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;PETimeSort :: 18/08/2016 4:43:29 PM

File: vac_module_0_8e2837dc1874e71c3ba4c70c493f012bea0597be.dll
Size: 35KB
Export TimeStamp: 6/08/2016 4:35:46 AM
Debug TimeStamp: 6/08/2016 4:35:46 AM
.text hash: 351654168C6FA1D84709EFAB9369378596B92D7D

File: vac_module_10_9a3d07112e4e379334a448a542bfdea463674fcc.dll
Size: 114KB
Export TimeStamp: 6/08/2016 4:35:46 AM
Debug TimeStamp: 6/08/2016 4:35:46 AM
.text hash: 2DF41439CF8E91F2D59194D18E33C86DFE1EEB75

File: vac_module_14_c0bbd5951bdf7c3337b0e81b2429d25dc018aa50.dll
Size: 32KB
Export TimeStamp: 6/08/2016 4:35:46 AM
Debug TimeStamp: 6/08/2016 4:35:46 AM
.text hash: 8E9E0E046259943E34699B55C0142F65EB2C2729

File: vac_module_13_7161146422a2783dd2bd69b048d073794c937a54.dll
Size: 30KB
Export TimeStamp: 6/08/2016 4:35:37 AM
Debug TimeStamp: 6/08/2016 4:35:37 AM
.text hash: 21AD7FAF03D33E6164C9B009D0333F0FEE9AB7D3

File: vac_module_1_1c9adeac978bd1e63ca4aa0e1ed3479a72877809.dll
Size: 69KB
Export TimeStamp: 6/08/2016 4:35:37 AM
Debug TimeStamp: 6/08/2016 4:35:37 AM
.text hash: 95F61937748CD4AB814120AB7F20D4AC1D09DBF8

File: vac_module_2_d94ea2256edf3c6e03b968240fea154c925130c3.dll
Size: 30KB
Export TimeStamp: 6/08/2016 4:35:37 AM
Debug TimeStamp: 6/08/2016 4:35:37 AM
.text hash: 86B7B4D3CF07548A96F5F45118FA25CB48F40B88

File: vac_module_5_8500a4687cfabfda2f9fd042971fd481b65b70e6.dll
Size: 33KB
Export TimeStamp: 6/08/2016 4:35:37 AM
Debug TimeStamp: 6/08/2016 4:35:37 AM
.text hash: F90141CE8C03CD7E359383C3ADA2015B4074B309

File: vac_module_9_34fccfdc7d987f0e74fb2e546a7abb834ba65b84.dll
Size: 31KB
Export TimeStamp: 6/08/2016 4:35:37 AM
Debug TimeStamp: 6/08/2016 4:35:37 AM
.text hash: E7C549ACB6CCFA4FA384E3840822B6FFA9C286D6

File: vac_module_3_b23a14b07fd555d321e0432fb7f46859a06ec33c.dll
Size: 31KB
Export TimeStamp: 6/08/2016 4:35:36 AM
Debug TimeStamp: 6/08/2016 4:35:37 AM
.text hash: 1011BBCC7ADDFB8009E47A9161699E435EE7DA33

File: vac_module_7_f66f12c2dfc34b29f0d4305184b03d3845b9b0a3.dll
Size: 29KB
Export TimeStamp: 6/08/2016 4:35:24 AM
Debug TimeStamp: 6/08/2016 4:35:25 AM
.text hash: ED084D6562A429CF961267B7343F61212EAB80E4

File: vac_module_11_f260797499ce388f196b546b59260a77a23cbaf2.dll
Size: 32KB
Export TimeStamp: 6/08/2016 4:35:23 AM
Debug TimeStamp: 6/08/2016 4:35:24 AM
.text hash: 22DCA9E5141D960F1E45BF5735D8B9093B882F26

File: vac_module_12_c7423854a06351f64c30490099e85780f849306e.dll
Size: 27KB
Export TimeStamp: 6/08/2016 4:35:23 AM
Debug TimeStamp: 6/08/2016 4:35:23 AM
.text hash: 564FBABA08AFC5E8FD3F18F24DC1A36BF922D8A4

File: vac_module_15_51d5f83421482ab6a9fd0dc0f69ed4ee8d374659.dll
Size: 29KB
Export TimeStamp: 6/08/2016 4:35:23 AM
Debug TimeStamp: 6/08/2016 4:35:23 AM
.text hash: A22FD7769504A63C091A6CFC8A40CCB7E4311E71

File: vac_module_4_53b065d69934b4b49c02bfd38cb31f16fd61a7ec.dll
Size: 38KB
Export TimeStamp: 6/08/2016 4:35:23 AM
Debug TimeStamp: 6/08/2016 4:35:24 AM
.text hash: 06AF72EDDBBC3BA5CA88B6B0AB559B667795FF1F

File: vac_module_6_7cfdd6223b83ed997f22d0d493bc4f6876e474c6.dll
Size: 31KB
Export TimeStamp: 6/08/2016 4:35:23 AM
Debug TimeStamp: 6/08/2016 4:35:24 AM
.text hash: 68D8008E7D6AA4813F493301DAE90F8A25FC58D5

File: vac_module_8_9b09a83cf7a9a95614e061165e2f41b6ac031def.dll
Size: 30KB
Export TimeStamp: 6/08/2016 4:35:23 AM
Debug TimeStamp: 6/08/2016 4:35:23 AM
.text hash: 09A5EABA9F67A030B1FE719A64A74DE627A849D0
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;We can see they all seem to be updated at the same date. I will leave discussion to the thread on unknowncheats but at a first look we can see they seem to of changed the import resolver function which decodes the import strings.&lt;/p&gt;</description></item><item><title>Ghost In The Shell First Assault</title><link>https://cra0.net/blog/posts/archived/2016/ghost-in-the-shell-first-assault/</link><pubDate>Thu, 18 Aug 2016 16:30:00 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2016/ghost-in-the-shell-first-assault/</guid><description>&lt;p&gt;I’ve been working on reverse engineering this game with a bunch of friends over @ &lt;a href="http://www.unknowncheats.me/"&gt;UnknownCheats&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Heres some media about it all 🙂&lt;/p&gt;
&lt;p&gt;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/3ptcFBs8lLs?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;

&lt;br /&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/oB3MxPP0KnQ?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;
&lt;/p&gt;</description></item><item><title>Analyzing UnityHacks in the role of a VAC engineer</title><link>https://cra0.net/blog/posts/archived/2016/analyzing-unityhacks-in-the-role-of-a-vac-engineer/</link><pubDate>Mon, 18 Jul 2016 17:15:57 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2016/analyzing-unityhacks-in-the-role-of-a-vac-engineer/</guid><description>&lt;h1 id="unityhacks"&gt;UnityHacks&lt;/h1&gt;
&lt;figure&gt;&lt;img src="i14ZRXG.png"&gt;
&lt;/figure&gt;

&lt;p&gt;I’ve looked at many P2Cs(pay-to-cheat) in the past and unity is one I’ve come back to revisit to see if they have fixed stupid design concepts that could see them detected in an instance and seems like nope. If Valve actually actively looked for what I’m about to go through in this post they would be detected maybe we should let them know 😉&lt;/p&gt;
&lt;h1 id="man-in-the-middle"&gt;Man-in-the-Middle&lt;/h1&gt;
&lt;p&gt;This concept that is utilized by unityhacks is a way of them somewhat securing their cheat loader from detection. It is basically injecting their loader code into another 32bit process and then doing the loading from there.&lt;/p&gt;</description></item><item><title>Valve got it wrong once again</title><link>https://cra0.net/blog/posts/archived/2016/valve-got-it-wrong-once-again/</link><pubDate>Sat, 25 Jun 2016 13:44:39 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2016/valve-got-it-wrong-once-again/</guid><description>&lt;p&gt;So you may remember the incident from a long time back when a whole bunch of Modern Warfare 2 users got VAC banned for no reason.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://gamerant.com/valve-banning-innocent-mw2-free-gifts-johnj-31099/"&gt;http://gamerant.com/valve-banning-innocent-mw2-free-gifts-johnj-31099/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For those who haven’t been following the VAC team they have been in somewhat of a hibernation over the past months as VAC bans handed out were not targeting specific P2Cs (Pay 2 Cheat). However more recently they have come back and are now actively targeting cheat providers again. The last update to Steam shows that VAC3 is now loaded when you sign into an account this isn’t really an issue if you know the ways around it (I have a VAC disabler in the works coming soon to &lt;a href="https://cra0vision.net"&gt;cra0vision.net&lt;/a&gt;) but they are more aggressively scanning for cheat software now before a VAC secured game is even launched.&lt;/p&gt;</description></item><item><title>Teardrop WIP</title><link>https://cra0.net/blog/posts/archived/2016/teardrop-wip/</link><pubDate>Wed, 15 Jun 2016 14:19:45 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2016/teardrop-wip/</guid><description>&lt;p&gt;I’m working on a DLL injector which utilizes the various techniques of remote code injection. I haven’t really done any research or anything interesting hence my lack of posts on this blog.&lt;/p&gt;
&lt;figure&gt;&lt;img src="RP.png"&gt;
&lt;/figure&gt;</description></item><item><title>VAC3 Dump (5/04/2016)</title><link>https://cra0.net/blog/posts/archived/2016/vac3-dump-5042016/</link><pubDate>Tue, 05 Apr 2016 15:28:52 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2016/vac3-dump-5042016/</guid><description>&lt;p&gt;&lt;img src="e76EsHK.png" alt=""&gt;&lt;/p&gt;
&lt;h1 id="vac3-dump-5042016"&gt;VAC3 Dump (5/04/2016)&lt;/h1&gt;
&lt;p&gt;So the CSGO majors are over, hoping for a big ban wave to weed the idiots in the scene. I decided to do a vac3 dump to see if anything has changed since it’s been a good 3 months since I’ve last looked at the anti-cheat. There were a few modules deployed prior to this month.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;File: vac_module_8_e2014210dee9ef00edb44b1a0dcfee9d535b87ea.dll
Debug TimeStamp: 2/03/2016 8:44:49 AM
File: vac_module_3_8750686ddaf3e5a9c7559b0cd5d4fd2719a5c10a.dll
Debug TimeStamp: 9/03/2016 1:29:52 PM
File: vac_module_13_33221c8ce2195501792009c9d07db7fdf0c70345.dll
Debug TimeStamp: 22/03/2016 4:57:10 PM
File: vac_module_20_fd593d82e14e8702383e6ad0aa473e0de5795249.dll
Debug TimeStamp: 31/03/2016 9:42:21 AM
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Full download of the modules can be found on &lt;a href="https://www.unknowncheats.me/forum/downloads.php?do=file&amp;amp;id=17092"&gt;UnknownCheats&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Counter-Strike Global Offensive Far ESP Concept #2</title><link>https://cra0.net/blog/posts/archived/2016/csgo-far-esp-concept-2/</link><pubDate>Mon, 07 Mar 2016 20:01:31 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2016/csgo-far-esp-concept-2/</guid><description>&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;As mentioned previously in my other concept point, Valve have disabled the networking of dormant players in CSGO. Dormant meaning the players who your client should not be rendering as they are invisible to you by occlusion of objects or are outside the visibility leaf in the BSP tree. More in-depth information about these concepts can be found below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developer.valvesoftware.com/wiki/PVS"&gt;https://developer.valvesoftware.com/wiki/PVS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.valvesoftware.com/wiki/Visibility_optimization"&gt;https://developer.valvesoftware.com/wiki/Visibility_optimization&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These systems are utilized on Valve official servers however there are other techniques 3rd parties use to extend the functionality such as the anti-wall feature in SMAC which is used by leagues use to prevent people wall hacking. The concept presented in this post looks at another way of bypassing this and allowing the user to see the enemy players from anywhere on the map.&lt;/p&gt;</description></item><item><title>[REL] LiveDump</title><link>https://cra0.net/blog/posts/archived/2015/rel-livedump/</link><pubDate>Wed, 02 Dec 2015 18:51:31 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2015/rel-livedump/</guid><description>&lt;h1 id="livedump--a-simple-memory-dumper"&gt;LiveDump – A simple memory dumper&lt;/h1&gt;
&lt;p&gt;I’m a fan of &lt;a href="http://www.sweetscape.com/010editor/"&gt;010 Editor&lt;/a&gt;‘s templating system they have in place where you can write layouts for hex dumps or file formats I use it in almost all of my research/reversing. More information about that can be found &lt;a href="http://www.sweetscape.com/010editor/templates.html"&gt;here&lt;/a&gt; even though the hex editor has a built in system to open a live processes memory it’s not really great. I needed a system where the data I was looking at was live and updated almost instantaneously so I wrote LiveDump. LiveDump is a simple memory dumper which will either dump a region of memory once to a file or constantly dump it every X many milliseconds, this way I can see the data updated almost live in 010 editor and make use of their templating to reverse a portion of a data structure or class object. There are things like &lt;a href="http://www.unknowncheats.me/forum/general-programming-and-reversing/104942-reclass-x64.html"&gt;Reclass&lt;/a&gt; which are purposely built for this reason which I do use however my own personal preference is the templating feature built into &lt;a href="http://www.sweetscape.com/010editor/"&gt;010 editor&lt;/a&gt; as it’s very robust and you incorporate loops and logic into it to display the data out how you want it.&lt;/p&gt;</description></item><item><title>[REL]Cheat Engine Trainer Decryptor/Unpacker</title><link>https://cra0.net/blog/posts/archived/2015/rel-cheat-engine-trainer-decryptorunpacker/</link><pubDate>Thu, 05 Nov 2015 17:01:13 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2015/rel-cheat-engine-trainer-decryptorunpacker/</guid><description>&lt;p&gt;So someone uploaded a pretty dodgy looking binary to &lt;a href="http://www.unknowncheats.me"&gt;unknowncheats.me&lt;/a&gt; and since I moderate the uploaded files and determine if they are safe or not I decided to take a look at the particular submission, turned out to be a safe Cheat Engine trainer (sfx). Cheat Engine allows you to create trainers which include the Cheat Engine base along with the Cheat Engine table which stores the basic offsets and memory edits a user would of created, they allow this to be saved in an ‘encrypted’ manner to stop script kiddies from stealing each others CE tables. The author stated in the source code that this is very trivial however stops most of the idiots who have no idea what they are doing stealing tables. Anyway I wrote a small tool to automatically decrypt them back into plaintext xml. Sorry kids no binary here 🙂&lt;/p&gt;</description></item><item><title>[REL] Overwatch Revealer</title><link>https://cra0.net/blog/posts/archived/2015/rel-overwatch-revealer/</link><pubDate>Tue, 27 Oct 2015 18:18:45 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2015/rel-overwatch-revealer/</guid><description>&lt;p&gt;For all that don’t known (and no I’m not referring to Blizzard’s new game) CSGO has a system called &lt;a href="http://blog.counter-strike.net/index.php/overwatch"&gt;Overwatch&lt;/a&gt; where basically people who have been reported for cheating get their demos reviewed by other players or “overwatchers”. Typically these demos are stripped of all? most? information about the suspected cheater player, this includes their name, text chat, gun names (if any custom names are given to weapons) and other player names leaving the person watching the demo unaware of who it is they are reviewing. Now this is great as hopefully people who are doing these overwatch cases are not biased towards a certain player because of their name/display picture or even inventory. But hey in my opinion it’s no fun so I’ve made this tool which will reveal the suspected player. 😛&lt;/p&gt;</description></item><item><title>DirectX GUI WIP</title><link>https://cra0.net/blog/posts/archived/2015/directx-gui-wip/</link><pubDate>Sat, 17 Oct 2015 15:43:34 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2015/directx-gui-wip/</guid><description>&lt;p&gt;I have been working on GUI related developments in the past few weeks. Here is some demo work of controls I’v reimplemented in dirext2DI for cVision.&lt;/p&gt;
&lt;p&gt;Currently developed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Label&lt;/li&gt;
&lt;li&gt;Button&lt;/li&gt;
&lt;li&gt;Input Button&lt;/li&gt;
&lt;li&gt;Panel&lt;/li&gt;
&lt;li&gt;Slider&lt;/li&gt;
&lt;li&gt;Tab Control&lt;/li&gt;
&lt;li&gt;Image&lt;/li&gt;
&lt;li&gt;Checkbox&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;&lt;img src="2015-10-17_15-42-08.gif"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="2015-10-20_00-28-05.gif"&gt;
&lt;/figure&gt;</description></item><item><title>CSGO Far/Extended ESP Concept</title><link>https://cra0.net/blog/posts/archived/2015/csgo-farextended-esp-concept/</link><pubDate>Mon, 15 Jun 2015 02:39:44 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2015/csgo-farextended-esp-concept/</guid><description>&lt;p&gt;So not too long ago this happened. :|&lt;/p&gt;
&lt;figure&gt;&lt;img src="S1.png"&gt;
&lt;/figure&gt;

&lt;p&gt;Valve released an update to csgo which basically put &lt;a href="https://developer.valvesoftware.com/wiki/PVS"&gt;PVS&lt;/a&gt; to use. This update basically would not network entities(in our case the enemy players) that were not in the visibility leaf of the player. Later on they released &lt;strong&gt;another update&lt;/strong&gt; which bought this concept of player occlusion. The server would now not send any data of enemy players when they were not visible. It wasn’t as bad as what SMAC does but it ended the life of the far ESP cheat in the game, you could no longer see enemy players unless they were close to you.&lt;/p&gt;</description></item><item><title>Halo Online (eldorado) Data Extractor 1.0</title><link>https://cra0.net/blog/posts/archived/2015/halo-online-eldorado-data-extractor-1-0/</link><pubDate>Fri, 03 Apr 2015 21:47:16 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2015/halo-online-eldorado-data-extractor-1-0/</guid><description>&lt;p&gt;Quoted from Readme.txt, I don’t want to type anymore am tired&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Title: 		Halo Online (eldorado) Data extractor
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Version: 	1.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Author: 	Cra0kalo @cra0kalo http://cra0kalo.com
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Required: 	.NET Frameworks 4.5
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Information:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;For now this is just a crude unpacker, in later releases hopefully it will be able to reconstruct file formats such as textures and sounds.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Usage:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;eldorado_dat -d &amp;lt;data file&amp;gt; &amp;lt;output directory&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Example Usage:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;eldorado_dat -d O:/RamBox/video.dat O:/RamBox/_extracted
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Shout out to the ElDorito dev team!
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Download:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Dumping VAC2 and VAC3 the easier way</title><link>https://cra0.net/blog/posts/archived/2015/rel-dumping-vac2-and-vac3-the-easier-way/</link><pubDate>Mon, 02 Feb 2015 18:09:28 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2015/rel-dumping-vac2-and-vac3-the-easier-way/</guid><description>&lt;h1 id="what-is-vac"&gt;What is VAC?&lt;/h1&gt;
&lt;p&gt;&lt;img src="VAC3.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;VAC stand for (Valve Anti-cheat) and is used in many games to prevent cheats be it Valve games or 3rd party titles (Modern Warfare/DayZ). VAC comes in many different versions at the time of writing this the latest version we are calling VAC3. VAC2 and VAC3 are the only activate modules right now for games like Counter-Strike Global Offensive.&lt;/p&gt;
&lt;h1 id="where-is-vac-how-is-it-loaded"&gt;Where is VAC, how is it loaded?&lt;/h1&gt;
&lt;p&gt;VAC2 is loaded through SteamService, when you start a game steamservice appears to load it. Valve first dumps the vac2 module into your &lt;code&gt;%temp%&lt;/code&gt; directory then calls LoadLibrary. You can see this for yourself by hooking the LoadLibrary API call or by using an API Monitor.&lt;/p&gt;</description></item><item><title>Fox Engine Tool - We have bones!</title><link>https://cra0.net/blog/posts/archived/2015/fox-engine-tool-we-have-bones/</link><pubDate>Sat, 10 Jan 2015 00:22:26 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2015/fox-engine-tool-we-have-bones/</guid><description>&lt;h1 id="chico-says-hi"&gt;Chico says hi!&lt;/h1&gt;
&lt;figure&gt;&lt;img src="MGS_Bones.png"&gt;
&lt;/figure&gt;

&lt;h1 id="bones"&gt;Bones&lt;/h1&gt;
&lt;p&gt;Kojima productions seems to store bone data like so:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt; [DebuggerDisplay(&amp;#34;idx = {idx} name = {name}&amp;#34;)]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;public&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;class&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;foxBone&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;public&lt;/span&gt; int16 idx; &lt;span style="color:#75715e"&gt;//name of string also&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;public&lt;/span&gt; int16 parent;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;public&lt;/span&gt; Vector4 bonePos;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;public&lt;/span&gt; Quaternion boneRot;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; };
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now I don’t exactly know whats going on here because my first attempt didn’t work using that quaternion so I re-wrote my matrix class in C# which was originally written in VB.NET and ancient as hell.&lt;/p&gt;</description></item><item><title>Fox Engine (Metal Gear Solid 5 GZ)</title><link>https://cra0.net/blog/posts/archived/2015/fox-engine-metal-gear-solid-5-gz/</link><pubDate>Sat, 03 Jan 2015 20:37:35 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2015/fox-engine-metal-gear-solid-5-gz/</guid><description>&lt;figure&gt;&lt;img src="foxBanner.png"&gt;
&lt;/figure&gt;

&lt;h1 id="fox-engine"&gt;Fox Engine&lt;/h1&gt;
&lt;p&gt;There has been many advancements from last time I posted both by &lt;strong&gt;Sergeanur&lt;/strong&gt; and the others making it possible to extract assets from Kojima Production’s &lt;em&gt;Metal Gear Solid Ground Zeros. The Foxengine’s superb image quality is made possible by physically-Based Rendering (PBR).&lt;/em&gt; It can make a low polygon model look photo-realistic and it can do it well, researching the file format along with JayK, Chrrox and Volfin I’ve discovered that in fact most the models used in game are pretty standard and have a low poly count.&lt;/p&gt;</description></item><item><title>Metal Gear Solid 5 GZ (Fox Engine)</title><link>https://cra0.net/blog/posts/archived/2014/metal-gear-solid-5-gz-fox-engine/</link><pubDate>Fri, 26 Dec 2014 20:34:45 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/metal-gear-solid-5-gz-fox-engine/</guid><description>&lt;p&gt;I played this game briefly before leaving for my Christmas holidays, when I got back I saw that someone had already managed to figure out the package format they use. “g0s” Extracting the files it seems they have used zlib chunks on textures .ftex. Heres something funny, on top of the encryption the package archives use they xor encrypt their shader files… It’s a dead giveaway when you open the shader binary up in a hex editor.&lt;/p&gt;</description></item><item><title>Circumvent (Themida/Hackshield/Etc..) Ultimate Memory Dump Tutorial</title><link>https://cra0.net/blog/posts/archived/2014/circumvent-themidahackshieldetc-ultimate-memory-dump-tutorial/</link><pubDate>Tue, 02 Dec 2014 15:17:16 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/circumvent-themidahackshieldetc-ultimate-memory-dump-tutorial/</guid><description>&lt;h1 id="backstory--information"&gt;Backstory &amp;amp; Information&lt;/h1&gt;
&lt;p&gt;This tutorial was made possible by Nexon’s Counter-Strike Online 2 that nasty piece of shit left me no choice but to resort to this brutal nasty method.&lt;/p&gt;
&lt;p&gt;Now to give a little info first in case anyone reading this has no idea what I’m talking about or doesn’t understand the concept of memory. Games &amp;amp; Applications that run on your system all use &lt;a href="http://en.wikipedia.org/wiki/Random-access_memory"&gt;RAM&lt;/a&gt;. Sometimes they store sensitive information or valuable data there that shouldn’t be accessed by the end-user, for example an AES encryption key or maybe game assets like models/textures/scripts. This data isn’t usually protected as you can force a dump of an application’s memory, however some software/game developers like to restrict user access to this data usually to stop cheaters or people exploiting their software (like myself 😈 ). Now I won’t go into detail on what the &lt;a href="http://en.wikipedia.org/wiki/Kernel_%28operating_system%29"&gt;kernel&lt;/a&gt; is nor what &lt;a href="http://en.wikipedia.org/wiki/Userland"&gt;userland&lt;/a&gt; means but I will say that these developers use methods of protecting memory data which can be circumvented with a simple trick. The example case I will be using in this tutorial is the game &lt;a href="en.wikipedia.org/wiki/Counter-Strike_Online_2"&gt;Counter-Strike Online 2&lt;/a&gt;. Nexon the developers of this game are utilizing a technique to elevate the game process into kernel level. This means trying to access the game process or memory isn’t possible by the user anymore, normally achieved via a driver installed on the system. In CS Online2’s case Hackshields &lt;em&gt;EagleNT.SYS&lt;/em&gt; elevates the process CounterStrikeOnline2.exe and access is not possible anymore.&lt;/p&gt;</description></item><item><title>Alien Isolation (Omodel) WIP (Vertex Format)</title><link>https://cra0.net/blog/posts/archived/2014/alien-isolation-omodel-wip-vertex-format/</link><pubDate>Mon, 01 Dec 2014 17:08:05 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/alien-isolation-omodel-wip-vertex-format/</guid><description>&lt;p&gt;We have figured out the pak tree currently working on each vertex format structure the game throws at us! Up next rigged models.&lt;/p&gt;
&lt;figure&gt;&lt;img src="AI_TOOL_WIP2.png"&gt;
&lt;/figure&gt;</description></item><item><title>Alien Isolation (Omodel) Progress (Vertices/UVs/Textures)</title><link>https://cra0.net/blog/posts/archived/2014/alien-isolation-omodel-progress-verticesuvstextures/</link><pubDate>Wed, 26 Nov 2014 13:56:25 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/alien-isolation-omodel-progress-verticesuvstextures/</guid><description>&lt;h2 id="general-progress-info"&gt;General Progress Info&lt;/h2&gt;
&lt;p&gt;Progress has been slow for Alien Isolation since I’ve been busy with other things however a friend of mine volfin has been helping out with this project. We have been working on the model pak files which store the level geometry props and characters. The devs seem to love storing data in separate files as the paks themselves only contain the vertices and faces for each model. Omodels as I like to call them store a piece of a model mesh though sometimes they just contain the entire model itself like in the example mesh I’m about to talk about below.&lt;/p&gt;</description></item><item><title>Tutorial: Intel GPA &amp; Ripping geometry from 3D applications</title><link>https://cra0.net/blog/posts/archived/2014/tutorial-intel-gpa-ripping-geometry-from-3d-applications/</link><pubDate>Thu, 20 Nov 2014 19:28:05 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/tutorial-intel-gpa-ripping-geometry-from-3d-applications/</guid><description>&lt;h1 id="background-information"&gt;Background Information&lt;/h1&gt;
&lt;p&gt;Intel GPA wasn’t initially designed to be used to rip assets from 3D applications but basically what we are doing here is hooking into the GPA application and dumping the vertex buffer and index buffer for the (ergs/drawcalls) it captured.&lt;/p&gt;
&lt;p&gt;Lets start by gathering our ingredients 😉&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;What you will need:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://registrationcenter-download.intel.com/akdlm/irc_nas/4674/gpa_14.3_release_231370_windows_x64.msi"&gt;Intel GPA 2014 64bit (direct msi link)&lt;/a&gt; or &lt;a href="http://registrationcenter-download.intel.com/akdlm/irc_nas/4674/gpa_14.3_release_231370_windows_x86.msi"&gt;Intel GPA 2014 32bit (direct msi link)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/vstudio/aa496123"&gt;NET Frameworks (4.5 recommended) &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://cra0kalo.com/public/FrameAnalyzer.patched.zip"&gt;GPA patched -&amp;gt; FrameAnalyzer.patched&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="setup-and-capture"&gt;Setup and Capture&lt;/h1&gt;
&lt;p&gt;Once you have setup Intel GPA begin by running the gpamonitor. Browse to your desired 3D application and hit Run. (In this example I have TitanFall)&lt;/p&gt;</description></item><item><title>TitanFall BSPInspect</title><link>https://cra0.net/blog/posts/archived/2014/titanfall-bspinspect/</link><pubDate>Mon, 10 Nov 2014 17:30:15 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/titanfall-bspinspect/</guid><description>&lt;p&gt;&lt;figure&gt;&lt;img src="banner.png"
 alt="banner"&gt;
&lt;/figure&gt;
&lt;br&gt;
Like I said months ago I would be looking into the BSP map format for titanfall. Well I’m calling the subtool BSPInspect. In the process of making some fancy UI for it currently and actually parsing the file format.&lt;/p&gt;
&lt;figure&gt;&lt;img src="bspinspect02.png"&gt;
&lt;/figure&gt;

&lt;p&gt;Like &lt;a href="https://github.com/ata4"&gt;ata4&lt;/a&gt; described on the &lt;a href="https://developer.valvesoftware.com/wiki/Source_BSP_File_Format"&gt;V&lt;/a&gt;&lt;a href="https://developer.valvesoftware.com/wiki/Source_BSP_File_Format"&gt;alve Developers Wiki&lt;/a&gt; the BSP fileformat for Titanfall differs as the core lumps usually used in source engine titles are now unused and depreciated. This is made evident in the bsppack dll provided in titanfall.&lt;/p&gt;</description></item><item><title>Call of Duty Advance Warfare Sound (.pak) FLAC dumper</title><link>https://cra0.net/blog/posts/archived/2014/call-of-duty-advance-warfare-sound-pak-flac-dumper/</link><pubDate>Thu, 06 Nov 2014 14:27:10 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/call-of-duty-advance-warfare-sound-pak-flac-dumper/</guid><description>&lt;p&gt;Same as ghosts the sound pak files are just mushed flac audio.&lt;/p&gt;
&lt;figure&gt;&lt;img src="AWFLACTool.png"&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Download:&lt;/strong&gt;&lt;/p&gt;


&lt;div&gt;
&lt;i data-feather="download"&gt;&lt;/i&gt;
&lt;a href="https://cra0.net/public/bin-published/CODAW_FlacDumper_x64_3.0.zip"&gt;CODAW_FlacDumper_x64_3.0.zip&lt;/a&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;i data-feather="download"&gt;&lt;/i&gt;
&lt;a href="https://cra0.net/public/bin-published/CODAW_FlacDumper_x64_2.0.zip"&gt;CODAW_FlacDumper_x64_2.0.zip&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>Alien Isolation Generic PAK Unpacker (.PAK)</title><link>https://cra0.net/blog/posts/archived/2014/alien-isolation-generic-pak-unpacker-pak/</link><pubDate>Sun, 19 Oct 2014 22:08:05 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/alien-isolation-generic-pak-unpacker-pak/</guid><description>&lt;p&gt;Alien Isolation PAK files have slight variants, there was the texture ones which I previously made a tool on and now looking into the model I’ve figured out that they share a common structure. When they mean package they seem to store only the core data inside them. Lets take textures for example, you got your package file full of just compressed texture data then a linking header file containing the filenames and texture headers. Same sort of deal with the models packages except they store all sorts of strings in the accompanying file like bone names and such.&lt;/p&gt;</description></item><item><title>Alien Isolation (.PAK .BIN) PC/XBOX/PS3</title><link>https://cra0.net/blog/posts/archived/2014/alien-isolation-pak-bin-pcxboxps3/</link><pubDate>Wed, 15 Oct 2014 00:23:39 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/alien-isolation-pak-bin-pcxboxps3/</guid><description>&lt;p&gt;Not going to say much here this will crudely unpack the games texture archives and “&lt;em&gt;try&lt;/em&gt;” to produce a valid dds file&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;v0.4 fixed RGBA DDS header bitmask values being 0
v0.3 fixes imageSizes, added support for DXT5 decode
v0.2 fixes data alignment issues 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Download:&lt;/strong&gt;&lt;/p&gt;


&lt;div&gt;
&lt;i data-feather="download"&gt;&lt;/i&gt;
&lt;a href="https://cra0.net/public/bin-published/AITexPAKExtract_0.4.zip"&gt;AITexPAKExtract_0.4.zip&lt;/a&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;i data-feather="download"&gt;&lt;/i&gt;
&lt;a href="https://cra0.net/public/bin-published/AITexPAKExtract_0.3.zip"&gt;AITexPAKExtract_0.3.zip&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>Destiny (XBOX/PS3) PKGTool Alpha</title><link>https://cra0.net/blog/posts/archived/2014/destiny-xboxps3-pkgtool-alpha/</link><pubDate>Sat, 27 Sep 2014 22:25:54 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/destiny-xboxps3-pkgtool-alpha/</guid><description>&lt;figure&gt;&lt;img src="destinySplash.png"&gt;
&lt;/figure&gt;

&lt;p&gt;I took a look.🙄Their package files (.pkg) are compressed with some sort of Lzma variant from the oodle compression package by &lt;a href="http://www.radgametools.com"&gt;radgametools&lt;/a&gt;. Actually not too sure about this 😕&lt;/p&gt;
&lt;p&gt;This basically extracts all the entries in the archive. Since the filenames are hashed with SHA1 I set the output filenames as their offset in the pkg package.&lt;/p&gt;
&lt;figure&gt;&lt;img src="destinypkgPic.png"&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Download:&lt;/strong&gt;&lt;/p&gt;


&lt;i data-feather="download"&gt;&lt;/i&gt;
&lt;a href="https://cra0.net/public/bin-published/DestinyPKGTool.zip"&gt;DestinyPKGTool.zip&lt;/a&gt;

&lt;i data-feather="github"&gt;&lt;/i&gt;
&lt;a href="https://github.com/cra0kalo/DestinyPKGTool"&gt;Source Code&lt;/a&gt;</description></item><item><title>SourceVMT Color Tool</title><link>https://cra0.net/blog/posts/archived/2014/sourcevmt-color-tool/</link><pubDate>Sat, 06 Sep 2014 22:36:43 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/sourcevmt-color-tool/</guid><description>&lt;p&gt;This tool will allow you to basically visualize the color values you plug into a VMT. It’s nothing special but saves you time from tweaking a VMT -&amp;gt; checking in hlmv/game -&amp;gt; re-tweaking.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;img src="usageA.png"
 alt="usageA"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="usageB.png"
 alt="usageB"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="usageC.png"
 alt="usageC"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h1 id="download"&gt;Download:&lt;/h1&gt;


&lt;i data-feather="download"&gt;&lt;/i&gt;
&lt;a href="https://cra0.net/public/bin-published/SourceVMT_ColorTool.zip"&gt;SourceVMT_ColorTool.zip&lt;/a&gt;</description></item><item><title>TitanFall VPKTool 3.3 Update</title><link>https://cra0.net/blog/posts/archived/2014/titanfall-vpktool-3-3-update/</link><pubDate>Sun, 03 Aug 2014 02:37:41 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/titanfall-vpktool-3-3-update/</guid><description>&lt;figure&gt;&lt;img src="UpdateBanner.png"
 alt="3.3 Update"&gt;
&lt;/figure&gt;

&lt;h1 id="my-plans"&gt;&lt;strong&gt;My Plans&lt;/strong&gt;&lt;/h1&gt;
&lt;p&gt;Well it’s been a while since I last touched Titanfall, the hype had ended for me and I didn’t really play the game anymore. The fact that it didn’t even run after the first dlc patch caused me to uninstall it and forget. However recently seeing the maps in the latest dlc has sort of sparked my interest into playing it again and attempting to mod the game. If I can recall the VPKRepacker which comes with the VPKTool works however it’s a pain in the ass to use because you have to extract everything edit stuff and then repack it all again which takes like an hour in total for both operations so I made plans for making a new repacker which operates in a different way which should be easier and more feasible to use. That brings me to my next idea, a MOD manager for Titanfall. Respawn haven’t really said anything regarding mods after Vincent posted on twitter they would “evaluate” the possibility for modding the game after release, well the sad truth is they don’t wish to support modding. Aw well doesn’t mean I can’t write tools to mod the game now which is why I’m going to write a mod manager that people can use to make mods for the game and then ship them around in tfm files (titanfall mod) for everyone else to use. The doritos mod isn’t dead ok 😀&lt;/p&gt;</description></item><item><title>TopKek MDL Sorter</title><link>https://cra0.net/blog/posts/archived/2014/topkek-mdl-sorter/</link><pubDate>Sun, 22 Jun 2014 02:49:42 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/topkek-mdl-sorter/</guid><description>&lt;figure&gt;&lt;img src="MDLS.png"&gt;
&lt;/figure&gt;

&lt;p&gt;Basically sorts mdl files (source studio model data) into their respective filepaths. For example if you have an mdl &lt;code&gt;Character\_Brian.mdl&lt;/code&gt; which was compiled to be located in.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;#34;cra0kalo/models/Character_Brian.mdl&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;It will basically make that folder structure for you and place the mdl file along with its trailing &lt;code&gt;.dx80&lt;/code&gt; &lt;code&gt;.dx90&lt;/code&gt; &lt;code&gt;.vca&lt;/code&gt; files there. This is extremely useful for games like Vindictus&lt;/p&gt;
&lt;p&gt;I forgot to make a blog post about this, I guess at the time It wasn’t really relevant since someone requested it and I didn’t think it was that useful.&lt;/p&gt;</description></item><item><title>Watch_Dogs Modding/Toolkit WIP</title><link>https://cra0.net/blog/posts/archived/2014/watch_dogs-moddingtoolkit-wip/</link><pubDate>Sat, 07 Jun 2014 11:13:44 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/watch_dogs-moddingtoolkit-wip/</guid><description>&lt;h1 id="watch-dogs-research"&gt;Watch Dogs Research&lt;/h1&gt;
&lt;p&gt;So not to long ago watch_dogs came out, the game runs pretty poorly due to its unoptimized nature and Ubisoft did state they would release a patch for optimization however I’ve already beaten the game so I don’t think It really concerns me anymore. That being said I’d recommend it, has a nice single-player campaign.&lt;/p&gt;
&lt;p&gt;So lets talk about watch_dogs modding/reverse engineering, firstly to give a little back-story info the engine it runs on titled the &lt;em&gt;&lt;strong&gt;Disrupt engine&lt;/strong&gt;&lt;/em&gt; it’s an engine derived and created from the previous &lt;em&gt;&lt;strong&gt;Dunia Engine (Farcry3)&lt;/strong&gt;&lt;/em&gt; by Ubisoft Montreal. Some aspects are the same as Dunia which helped in reversing the game assets however there are significant changes. Dunia was reversed originaly by others, one person I know who has worked on this engine’s structure or I should say has worked on reversing Farcry3 is Rick. You can find his research and info &lt;a href="http://blog.gib.me"&gt;here&lt;/a&gt; and on Xentax. Watch_Dogs uses a sort of bizarre way of storing its assets, they are stored inside these .fat/dat archives heres what the structure looks like.&lt;/p&gt;</description></item><item><title>Natural Selection 2 MeshTool</title><link>https://cra0.net/blog/posts/archived/2014/natural-selection-2-meshtool/</link><pubDate>Tue, 20 May 2014 12:41:04 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/natural-selection-2-meshtool/</guid><description>&lt;p&gt;Not sure what the devs were thinking when they engineered the model format for this game. Their vertex buffer structure is 92 bytes long which could of easily been around 40 if they actually utilized common compression techniques like compressing the UVs into halffloats or store bone indices as bytes instead of 32bit integers. Anyway I don’t think anyone cares thats reading this so I’ll stop bitching.&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Whats Included?&lt;/span&gt;&lt;/p&gt;</description></item><item><title>The Scary TCP32764 backdoor</title><link>https://cra0.net/blog/posts/archived/2014/the-scary-tcp32764-backdoor/</link><pubDate>Tue, 29 Apr 2014 17:37:33 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/the-scary-tcp32764-backdoor/</guid><description>&lt;p&gt;I won’t say too much about this backdoor, it basically happens on your router/gateway which accepts a TCP connection on port 32764 Eloi Vanderbeken &lt;a href="http://twitter.com/elvanderb" title="@elvanderb"&gt;@elvanderb&lt;/a&gt; found this vulnerability last year in December and even though Netgear and Dlink have stated it’s *&lt;em&gt;patched&lt;/em&gt;* they actually just disabled it.&lt;/p&gt;
&lt;p&gt;I’ve made a small .NET tool which checks to see if you actually are vulnerable to this backdoor the source code can be found on github.&lt;/p&gt;</description></item><item><title>TitanFall VPKTool 3.0 Release</title><link>https://cra0.net/blog/posts/archived/2014/titanfall-vpktool-3-0-release/</link><pubDate>Wed, 02 Apr 2014 00:48:30 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/titanfall-vpktool-3-0-release/</guid><description>&lt;p&gt;Firstly let me say mission accomplished! 😀
&lt;figure&gt;&lt;img src="2014-04-02_00-47-19.png"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;It’s been a while but here is 3.0 of the titanfall tool now supports repacking.&lt;/p&gt;
&lt;p&gt;See &lt;code&gt;changelog.txt&lt;/code&gt; for a full list of updates but the main ones are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added repacking support&lt;/li&gt;
&lt;li&gt;Fixed audio export issues&lt;/li&gt;
&lt;li&gt;Portable exe&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="downloads"&gt;Downloads:&lt;/h2&gt;


&lt;i data-feather="download"&gt;&lt;/i&gt;
&lt;a href="https://cra0.net/public/bin-published/Titanfall_VPKTool3_Installer.zip"&gt;Titanfall VPKTool3 Installer&lt;/a&gt;



&lt;i data-feather="download"&gt;&lt;/i&gt;
&lt;a href="https://cra0.net/public/bin-published/Titanfall_VPKTool3_Portable.zip"&gt;Titanfall VPKTool3 Portable&lt;/a&gt;

&lt;p&gt;Enjoy and happy modding. 🙂&lt;/p&gt;</description></item><item><title>TitanFall VPK Tool Public Beta!</title><link>https://cra0.net/blog/posts/archived/2014/titanfall-vpk-tool-public-beta/</link><pubDate>Sat, 22 Feb 2014 20:05:13 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/titanfall-vpk-tool-public-beta/</guid><description>&lt;p&gt;OMG HERE IT IS!&lt;/p&gt;
&lt;figure&gt;&lt;img src="2014-02-22_20-02-59.png"&gt;
&lt;/figure&gt;

&lt;h2 id="download"&gt;Download:&lt;/h2&gt;


&lt;i data-feather="x-circle"&gt;&lt;/i&gt;
&lt;a href="https://cra0.net/public/bin-published/"&gt;Link Outdated&lt;/a&gt;</description></item><item><title>TitanFall VPKTool Information</title><link>https://cra0.net/blog/posts/archived/2014/titanfall-vpktool-information/</link><pubDate>Wed, 19 Feb 2014 21:57:20 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/titanfall-vpktool-information/</guid><description>&lt;p&gt;&lt;strong&gt;So the beta’s nearly over and the game should be patched and fixed for a March release.&lt;/strong&gt;&lt;/p&gt;
&lt;figure&gt;&lt;img src="vpkPrep.png"
 alt="vpk tool"&gt;
&lt;/figure&gt;

&lt;p&gt;I’ve been working on getting extraction capabilities for the TitanFall VPK Tool to extract all those game assets. Alot of people have been asking, when are you releasing this? Along with Russian’s emailing me about getting the text localized for their country or something anyway basically here is whats going on.&lt;/p&gt;</description></item><item><title>TitanFall VPK Tool</title><link>https://cra0.net/blog/posts/archived/2014/titanfall-vpk-tool/</link><pubDate>Sat, 15 Feb 2014 20:49:37 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/titanfall-vpk-tool/</guid><description>&lt;p&gt;Well the beta is out and I won’t go back on my word 😛&lt;/p&gt;
&lt;figure&gt;&lt;img src="twitter_titan.png"
 alt="Twitter screenshot"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="titanfall-vpk.png"
 alt="GUI of App"&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;span style="font-size: large;"&gt;&lt;strong&gt;Before you complain read this!&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;-Supports viewing titanfall VPK content only!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Since the VPK format has changed and the actual vpk content stuff is either encrypted or compressed, for now its only viewing. I will post updates to facepunch/twitter/this blog so keep an eye out.&lt;/p&gt;
&lt;h2 id="download"&gt;Download:&lt;/h2&gt;


&lt;i data-feather="download"&gt;&lt;/i&gt;
&lt;a href="https://cra0.net/public/bin-published/Titanfall_VPKTool2.zip"&gt;Titanfall_VPKTool2.zip&lt;/a&gt;</description></item><item><title>Disney INFINITY Model Extractor</title><link>https://cra0.net/blog/posts/archived/2014/disney-infinity-model-extractor/</link><pubDate>Mon, 03 Feb 2014 23:13:37 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/disney-infinity-model-extractor/</guid><description>&lt;p&gt;Extracts mesh from .vbuf and .ibuf. Bone support in next release&lt;/p&gt;
&lt;p&gt;&lt;img src="2014-02-03_23-14-16.png" alt=""&gt;&lt;/p&gt;
&lt;h2 id="changelog"&gt;Changelog&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Version 1.1&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed Normals now you can export them&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Version 1.0&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Release&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="download"&gt;Download:&lt;/h2&gt;


&lt;i data-feather="download"&gt;&lt;/i&gt;
&lt;a href="https://cra0.net/public/bin-published/disney-infinity-model-extractor.zip"&gt;Disney Infinity Model Extractor v1.1&lt;/a&gt;</description></item><item><title>Metal Gear Solid 4 .SEG TO .DDS</title><link>https://cra0.net/blog/posts/archived/2014/metal-gear-solid-4-seg-to-dds-converter/</link><pubDate>Mon, 03 Feb 2014 14:14:21 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/metal-gear-solid-4-seg-to-dds-converter/</guid><description>&lt;p&gt;A tool to convert MGS4 seg files to DirectDraw Surface textures.&lt;/p&gt;
&lt;p&gt;&lt;img src="segtool.jpg" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Version 1.0&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Release&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="download"&gt;Download:&lt;/h2&gt;


&lt;i data-feather="download"&gt;&lt;/i&gt;
&lt;a href="https://cra0.net/public/bin-published/fastRel_MSG4TextureTool.zip"&gt;MSG4TextureTool v1.0.1&lt;/a&gt;</description></item><item><title>BinaryDomain Reversing WIP</title><link>https://cra0.net/blog/posts/archived/2014/binarydomain-reversing-wip/</link><pubDate>Thu, 23 Jan 2014 23:44:18 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/binarydomain-reversing-wip/</guid><description>&lt;p&gt;&lt;strong&gt;An update finally!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Been working on this for a month now and I can say that the GMD format is nearly reversed.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/5scylnBrPUs?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;

&lt;p&gt;&lt;img src="ss-2014-01-23.jpg" alt=""&gt;&lt;/p&gt;</description></item><item><title>Call of Duty Ghosts PAK Extractor WIP</title><link>https://cra0.net/blog/posts/archived/2014/call-of-duty-ghosts-pak-extractor-wip/</link><pubDate>Wed, 15 Jan 2014 16:08:12 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/call-of-duty-ghosts-pak-extractor-wip/</guid><description>&lt;p&gt;&lt;img src="cod-ghosts-image-header.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Well here it is, supports FLAC streams for now.&lt;/p&gt;
&lt;h2 id="screenshots"&gt;Screenshots&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Version 1.2&lt;/strong&gt;
&lt;figure&gt;&lt;img src="PAKTool-1-2.png"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Version 1.0&lt;/strong&gt;
&lt;br /&gt;
&lt;figure&gt;&lt;img src="PAKTool.png"
 alt="Package Tool Screenshot"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="download"&gt;Download:&lt;/h2&gt;


&lt;i data-feather="download"&gt;&lt;/i&gt;
&lt;a href="https://cra0.net/public/bin-published/COD_GHOSTS_Toolset.zip"&gt;COD_GHOSTS_Toolset.zip&lt;/a&gt;</description></item><item><title>StudioMDL 2013</title><link>https://cra0.net/blog/posts/archived/2014/studiomdl-2013/</link><pubDate>Wed, 15 Jan 2014 16:04:10 +0000</pubDate><guid>https://cra0.net/blog/posts/archived/2014/studiomdl-2013/</guid><description>&lt;p&gt;Won’t go into much detail here, if you mod for the source engine then you would know what studiomdl is.&lt;/p&gt;
&lt;p&gt;Usual commands and parameters apply here however I will add some additional options in the future.&lt;/p&gt;
&lt;figure&gt;&lt;img src="2013-07-31_19-25-21.png"
 alt="STUDIOMDL"&gt;&lt;figcaption&gt;
 &lt;h4&gt;StudioMDL Compiler&lt;/h4&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;VALID COMMANDS:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;script
 type="text/javascript"
 src="https://gist.github.com/cra0/1f5db523adf5037d03a4b0980c978287.js"&gt;
 &lt;/script&gt;
&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Updated texture limits&lt;/li&gt;
&lt;li&gt;Able to compile vta (vertex animation over 128mb’s)&lt;/li&gt;
&lt;li&gt;Updated bone limits from 256 to 512 (may crash the game)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Usage:&lt;/strong&gt;
Throw inside dota2’s &lt;code&gt;bin/&lt;/code&gt; or csgo’s &lt;code&gt;bin/&lt;/code&gt; alongside the dll it comes with.&lt;/p&gt;</description></item><item><title>Ratchet and Clank Trilogy Texture Extractor</title><link>https://cra0.net/blog/posts/archived/2014/ratchet-and-clank-trilogy-texture-extractor/</link><pubDate>Wed, 15 Jan 2014 16:07:35 +1100</pubDate><guid>https://cra0.net/blog/posts/archived/2014/ratchet-and-clank-trilogy-texture-extractor/</guid><description>&lt;p&gt;Here it is!&lt;/p&gt;
&lt;p&gt;This tool will allow you to extract all the texture archives from Ratchet &amp;amp; Clank Trilogy game on the ps3.&lt;/p&gt;
&lt;h2 id="screenshots"&gt;Screenshots&lt;/h2&gt;
&lt;p&gt;&lt;img src="pic1.png" alt=""&gt;
&lt;img src="pic3.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Download:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;(updated to v1.1) – supports Ratchet Deadlock&lt;/li&gt;
&lt;/ul&gt;


&lt;i data-feather="download"&gt;&lt;/i&gt;
&lt;a href="https://cra0.net/public/bin-published/R%26C_Textool.zip"&gt;R&amp;C_Textool.zip&lt;/a&gt;</description></item><item><title>Gameloft Archive Tool (.gla)</title><link>https://cra0.net/blog/posts/archived/2014/gameloft-archive-tool-gla/</link><pubDate>Wed, 15 Jan 2014 16:07:01 +1100</pubDate><guid>https://cra0.net/blog/posts/archived/2014/gameloft-archive-tool-gla/</guid><description>&lt;h1 id="package-extractor"&gt;Package Extractor&lt;/h1&gt;
&lt;p&gt;First real file format I have reversed, this tool will extract the contents of a gameloft archive.&lt;/p&gt;
&lt;p&gt;&lt;img src="gameloft-arc-tool.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Download:&lt;/strong&gt;&lt;/p&gt;


&lt;i data-feather="download"&gt;&lt;/i&gt;
&lt;a href="https://cra0.net/public/bin-published/Gameloft-Archive-Tool.zip"&gt;Gameloft Archive Tool v1.0&lt;/a&gt;</description></item><item><title>403 Forbidden</title><link>https://cra0.net/blog/403.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cra0.net/blog/403.html</guid><description>&lt;p&gt;You don&amp;rsquo;t have authorization to view this resource.&lt;/p&gt;


&lt;a href="javascript:history.back()"&gt;Go back to the previous page&lt;/a&gt;</description></item><item><title>500 Internal Server Error</title><link>https://cra0.net/blog/500.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cra0.net/blog/500.html</guid><description>&lt;p&gt;Oops! Something went really wrong it seems. Please try again later.&lt;/p&gt;</description></item></channel></rss>