Difference between revisions of "Gits2012teaser"

From Fixme.ch
Jump to: navigation, search
(→‎#2 AL's Revenge)
 
(24 intermediate revisions by 3 users not shown)
Line 1: Line 1:
−
== #1 TelAviv ==
+
[[Category:CTF]]
 +
[[Image:gits-scores.png]]
  
−
== #2 AL's Revenge ==
+
= Ghost in the Shellcode 2012 Teasers writeups =
  
−
* file 49dd327824d5afe9cdf931ea4b13719f.bin says xz compressed file -> xzcat > f
+
http://ghostintheshellcode.com/
−
* file f says LLVM bitcode -> llvm-dis > f.s (only works with LLVM 2.8, not with 3.0)
+
−
* analyze disassembly, extract C representation:
+
  
−
<pre>
+
Thanks to the organizers for those pretty nice teasers!
−
int
+
−
VerifySerial(uint64_t name, uint64_t serial)
+
−
{
+
−
uint64_t a = 0x8000000000000000LL;
+
−
        uint64_t b = 0xa348fccd93aea5a7LL;
+
−
uint64_t result = 0;
+
  
−
/* high order bit set? */
+
The following writeups have been made by members of the FIXME team during between January 6th and January 8th.
−
if (name & a)
+
−
a ^= b;
+
  
−
if (serial & a)
+
* Challenge [[CTF/gits2012teaser/1-TelAviv|#1 TelAviv]] by [[User:Francois|Francois]]
−
serial ^= b;
+
* Challenge [[CTF/gits2012teaser/2-ALsRevenge|#2 AL's Revenge]] by [[User:Corecode|Corecode]]
−
 
+
* Challenge [[CTF/gits2012teaser/3-Hackquest|#3 Hackquest]] by [[User:Corecode|Corecode]]
−
while (serial != 0) {
+
−
if (serial & 1)
+
−
result ^= name;
+
−
 
+
−
serial >>= 1;
+
−
name <<= 1;
+
−
 
+
−
if (name & a)
+
−
name ^= b;
+
−
}
+
−
 
+
−
return (result == 1);
+
−
}
+
−
</pre>
+
−
 
+
−
== #3 Hackquest ==
+

Latest revision as of 11:24, 22 October 2012

Gits-scores.png

Ghost in the Shellcode 2012 Teasers writeups

http://ghostintheshellcode.com/

Thanks to the organizers for those pretty nice teasers!

The following writeups have been made by members of the FIXME team during between January 6th and January 8th.