<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title><![CDATA[RCE Messageboard's Regroupment]]></title>
		<link>http://www.woodmann.com/forum/</link>
		<description>Serious reversing, cracking and programming discussions</description>
		<language>en</language>
		<lastBuildDate>Sat, 11 Feb 2012 08:01:12 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>http://www.woodmann.com/forum/images/misc/rss.png</url>
			<title><![CDATA[RCE Messageboard's Regroupment]]></title>
			<link>http://www.woodmann.com/forum/</link>
		</image>
		<item>
			<title><![CDATA[[Discussion] Do you have an analysis format?]]></title>
			<link>http://www.woodmann.com/forum/showthread.php?14612-Discussion-Do-you-have-an-analysis-format&amp;goto=newpost</link>
			<pubDate>Thu, 09 Feb 2012 16:36:50 GMT</pubDate>
			<description><![CDATA[Hey everyone. 
 
When reversing targets, I have always been writing my findings & comments on the analysis of the target on a sheet of Notepad++ file. It is really messy and Only I (if at all) can understand it. 
 
Furthermore, I've noticed that If i deal with a really large target with a lot of...]]></description>
			<content:encoded><![CDATA[<div>Hey everyone.<br />
<br />
When reversing targets, I have always been writing my findings &amp; comments on the analysis of the target on a sheet of Notepad++ file. It is really messy and Only I (if at all) can understand it.<br />
<br />
Furthermore, I've noticed that If i deal with a really large target with a lot of analysis required, and I'd pause and come back to the target like a week later, I'd forget all the things I've learned about the target, and my messy analysis comments on Notepad++ would be of little help to understand what the hell i was doing.<br />
<br />
If i were to try and cooperate with someone to reverse a target, It would be almost impossible for me and him to understand each other's comments without some kind of fixed format.<br />
<br />
<br />
So, my question is to you: Do you have your own Format for writing your Analysis, thoughts and ideas about the target you're reversing?<br />
<br />
Please post an example format if you have one.<br />
<br />
Thanks for any comments!</div>

]]></content:encoded>
			<category domain="http://www.woodmann.com/forum/forumdisplay.php?2-Advanced-Reversing-and-Programming">Advanced Reversing and Programming</category>
			<dc:creator>Zerith</dc:creator>
			<guid isPermaLink="true">http://www.woodmann.com/forum/showthread.php?14612-Discussion-Do-you-have-an-analysis-format</guid>
		</item>
		<item>
			<title>crackmes.de is back!</title>
			<link>http://www.woodmann.com/forum/showthread.php?14611-crackmes-de-is-back!&amp;goto=newpost</link>
			<pubDate>Wed, 08 Feb 2012 16:38:37 GMT</pubDate>
			<description>Hi there, 
 
I just saw that crackmes.de is back in the ring. 
A day to celebrate - at least for me since I like the site very much. 
 
Regards 
darkelf</description>
			<content:encoded><![CDATA[<div>Hi there,<br />
<br />
I just saw that crackmes.de is back in the ring.<br />
A day to celebrate - at least for me since I like the site very much.<br />
<br />
Regards<br />
darkelf</div>

]]></content:encoded>
			<category domain="http://www.woodmann.com/forum/forumdisplay.php?6-Off-Topic">Off Topic</category>
			<dc:creator>Darkelf</dc:creator>
			<guid isPermaLink="true">http://www.woodmann.com/forum/showthread.php?14611-crackmes-de-is-back!</guid>
		</item>
		<item>
			<title>OllyDbg v1.10 And Hardware Breakpoints</title>
			<link>http://www.woodmann.com/forum/showthread.php?14610-OllyDbg-v1-10-And-Hardware-Breakpoints&amp;goto=newpost</link>
			<pubDate>Tue, 07 Feb 2012 23:16:23 GMT</pubDate>
			<description>While playing with OllyDbg v1.10, i  came across a weird behavior of OllyDbg v1.10, which was fixed in the latest version. The problem lies in the way OllyDbg sets hardware breakpoints. 
 
At 0x4D8D70, there is an array of four structures of type, t_hardbpoint. 
Image:...</description>
			<content:encoded><![CDATA[<div>While playing with OllyDbg v1.10, i  came across a weird behavior of OllyDbg v1.10, which was fixed in the latest version. The problem lies in the way OllyDbg sets hardware breakpoints.<br />
<br />
At 0x4D8D70, there is an array of four structures of type, t_hardbpoint.<br />
<img src="http://3.bp.blogspot.com/-jDHuerF5XGI/TzCC0Pmk6yI/AAAAAAAAAUU/aqXl2mjbJ-c/s1600/Untitled.png" border="0" alt="" /><br />
<br />
Each structure in this array holds information about each hardware breakpoint. Information includes hardware breakpoint address, type, and size. When you manually set a hardware breakpoint, this structure is filled, but the breakpoint is not immediately activated.<br />
<br />
On the other hand, when an EXCEPTION_SINGLE_STEP or EXCEPTION_BREAKPOINT is received, information in the structures at 0x4D8D70 is copied to DR0 through DR3 overwriting old values in them, if there are any. The point here is that if you programmatically set a hardware breakpoint, single stepping will be enough to cause debug registers to be cleared.<br />
<img src="http://1.bp.blogspot.com/-5fIwPjAJXgQ/TzCf-_gXJ_I/AAAAAAAAAUc/6g0nPFwNPSw/s1600/Untitled.png" border="0" alt="" /><br />
N.B. IDA pro and OllyDbg v2.0 behave normally with this scenario.<br />
<br />
An executable demonstrating how to use this strange behavior to detect OllyDbg v1.10 can be found here.<br />
<i><u>http://ollytlscatch.googlecode.com/files/demo_hwbp.exe</u></i><br />
<br />
Original topic here.<br />
<i><u>http://waleedassar.blogspot.com/2012/02/ollydbg-v110-and-hardware-breakpoints.html</u></i></div>

]]></content:encoded>
			<category domain="http://www.woodmann.com/forum/forumdisplay.php?39-Bugs">Bugs</category>
			<dc:creator>walied</dc:creator>
			<guid isPermaLink="true">http://www.woodmann.com/forum/showthread.php?14610-OllyDbg-v1-10-And-Hardware-Breakpoints</guid>
		</item>
		<item>
			<title>Help with flexlm 10.1 license</title>
			<link>http://www.woodmann.com/forum/showthread.php?14609-Help-with-flexlm-10-1-license&amp;goto=newpost</link>
			<pubDate>Tue, 07 Feb 2012 02:57:12 GMT</pubDate>
			<description>Hey, ive read a lot lately, but havent found my type of license which goes like this(this is a cracked license i found on web): 
 
FEATURE Urien_S2k MAPTEK 1.000 01-jan-2013 uncounted AC8FC346E630 \...</description>
			<content:encoded><![CDATA[<div>Hey, ive read a lot lately, but havent found my type of license which goes like this(this is a cracked license i found on web):<br />
<br />
FEATURE Urien_S2k MAPTEK 1.000 01-jan-2013 uncounted AC8FC346E630 \<br />
	VENDOR_STRING=2100000mk&gt;j[FXWFGAEgTX_KA6G_qqBDR[CO?;EXK7BGM:PelqN6MF&lt;V=WWjT`9CG2O8HVQbIXecfbm@a]HLN2Al2@00 \<br />
	HOSTID=ANY <br />
<br />
So the questions are:<br />
<br />
- How do i generate a license that contains Vendor:String, <br />
- Is there a way to decrypt vendr string?<br />
<br />
Another issue im having is that i cant find features, i know i can search for &quot;lm_ckout&quot; and then i find lc_checkout, but where exactly should i look to get the feature names. (Ive tried enabling FLExlm diagnostics, it doesnt work.<br />
<br />
Hope someone can help me, thx in advance</div>

]]></content:encoded>
			<category domain="http://www.woodmann.com/forum/forumdisplay.php?16-The-Newbie-Forum">The Newbie Forum</category>
			<dc:creator>naragorn</dc:creator>
			<guid isPermaLink="true">http://www.woodmann.com/forum/showthread.php?14609-Help-with-flexlm-10-1-license</guid>
		</item>
		<item>
			<title>what are differences between a packer and a crypter?????</title>
			<link>http://www.woodmann.com/forum/showthread.php?14608-what-are-differences-between-a-packer-and-a-crypter&amp;goto=newpost</link>
			<pubDate>Sat, 04 Feb 2012 00:31:31 GMT</pubDate>
			<description>As far as i know, packer is partly for anti reversing and crypter is to bypass anti virus program. So what are differences between them , if have???Can anybody tell some basic princples of them??? Thank in advance</description>
			<content:encoded><![CDATA[<div>As far as i know, packer is partly for anti reversing and crypter is to bypass anti virus program. So what are differences between them , if have???Can anybody tell some basic princples of them??? Thank in advance</div>

]]></content:encoded>
			<category domain="http://www.woodmann.com/forum/forumdisplay.php?16-The-Newbie-Forum">The Newbie Forum</category>
			<dc:creator>kbt0000</dc:creator>
			<guid isPermaLink="true">http://www.woodmann.com/forum/showthread.php?14608-what-are-differences-between-a-packer-and-a-crypter</guid>
		</item>
		<item>
			<title>Free tool for tree disassembly?</title>
			<link>http://www.woodmann.com/forum/showthread.php?14607-Free-tool-for-tree-disassembly&amp;goto=newpost</link>
			<pubDate>Fri, 03 Feb 2012 18:02:02 GMT</pubDate>
			<description><![CDATA[I'm a little familiar with linear disassembly with something like Olly, but am wondering if there is free software that does tree disassembly other than the free version of IDA.  I've searched but haven't found anything so far.]]></description>
			<content:encoded><![CDATA[<div>I'm a little familiar with linear disassembly with something like Olly, but am wondering if there is free software that does tree disassembly other than the free version of IDA.  I've searched but haven't found anything so far.</div>

]]></content:encoded>
			<category domain="http://www.woodmann.com/forum/forumdisplay.php?3-Tools-of-Our-Trade-(TOT)-Messageboard">Tools of Our Trade (TOT) Messageboard</category>
			<dc:creator>Sunk</dc:creator>
			<guid isPermaLink="true">http://www.woodmann.com/forum/showthread.php?14607-Free-tool-for-tree-disassembly</guid>
		</item>
		<item>
			<title>Writing a pure Native DLL</title>
			<link>http://www.woodmann.com/forum/showthread.php?14604-Writing-a-pure-Native-DLL&amp;goto=newpost</link>
			<pubDate>Mon, 30 Jan 2012 23:47:00 GMT</pubDate>
			<description><![CDATA[Does anyone have a small sample of how to do this? I'd like to write a native DLL which doesn't link to anything other than ntdll.lib, is this possible and will the entrypoint be executed when loaded by a Win32 process? I don't need to export any routines or anything, just wanting to write a native...]]></description>
			<content:encoded><![CDATA[<div>Does anyone have a small sample of how to do this? I'd like to write a native DLL which doesn't link to anything other than ntdll.lib, is this possible and will the entrypoint be executed when loaded by a Win32 process? I don't need to export any routines or anything, just wanting to write a native DLL since I never have seen this done exactly. Thanks<br />
<br />
Regards,<br />
cpuZ</div>

]]></content:encoded>
			<category domain="http://www.woodmann.com/forum/forumdisplay.php?2-Advanced-Reversing-and-Programming">Advanced Reversing and Programming</category>
			<dc:creator>cpuZ</dc:creator>
			<guid isPermaLink="true">http://www.woodmann.com/forum/showthread.php?14604-Writing-a-pure-Native-DLL</guid>
		</item>
		<item>
			<title>Hackforums.net down????</title>
			<link>http://www.woodmann.com/forum/showthread.php?14603-Hackforums-net-down&amp;goto=newpost</link>
			<pubDate>Mon, 30 Jan 2012 12:16:29 GMT</pubDate>
			<description>anyone know what s happened to famed hackforums.net.In recent days, i could not access it and received 403 forbidden page. Is it in trouble with police like megaupload??sorry for my bad question, but i do not know where to ask</description>
			<content:encoded><![CDATA[<div>anyone know what s happened to famed hackforums.net.In recent days, i could not access it and received 403 forbidden page. Is it in trouble with police like megaupload??sorry for my bad question, but i do not know where to ask</div>

]]></content:encoded>
			<category domain="http://www.woodmann.com/forum/forumdisplay.php?16-The-Newbie-Forum">The Newbie Forum</category>
			<dc:creator>dotuanvn1977</dc:creator>
			<guid isPermaLink="true">http://www.woodmann.com/forum/showthread.php?14603-Hackforums-net-down</guid>
		</item>
		<item>
			<title><![CDATA[OllyDbg trace gets "lost" in OS code]]></title>
			<link>http://www.woodmann.com/forum/showthread.php?14602-OllyDbg-trace-gets-quot-lost-quot-in-OS-code&amp;goto=newpost</link>
			<pubDate>Sat, 28 Jan 2012 12:00:24 GMT</pubDate>
			<description><![CDATA[I'm trying to trace through a piece of code in two different situations and see the point at which the execution traces diverge. 
 
For some reason, however, my traces seem to get lost while executing OS code: Olly traces on and on through a system DLL and then all of a sudden it finds itself on a...]]></description>
			<content:encoded><![CDATA[<div>I'm trying to trace through a piece of code in two different situations and see the point at which the execution traces diverge.<br />
<br />
For some reason, however, my traces seem to get lost while executing OS code: Olly traces on and on through a system DLL and then all of a sudden it finds itself on a breakpoint back in user code, having skipped a large number of instructions. For example:<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">004036A3 Main&nbsp; &nbsp;  push&nbsp; &nbsp; 0<br />
004036A5 Main&nbsp; &nbsp;  call&nbsp; &nbsp; &lt;jmp.&amp;user32.GetKeyboardType&gt;<br />
00403698 Main&nbsp; &nbsp;  jmp&nbsp; &nbsp;  [dword &lt;&amp;user32.GetKeyboardType&gt;]<br />
GetKeyboardType&nbsp;  mov&nbsp; &nbsp;  edi, edi<br />
75A29AC6 Main&nbsp; &nbsp;  push&nbsp; &nbsp; ebp<br />
75A29AC7 Main&nbsp; &nbsp;  mov&nbsp; &nbsp;  ebp, esp<br />
...<br />
... snip 20 thousand instructions<br />
...<br />
77801003 Main&nbsp; &nbsp;  call&nbsp; &nbsp; [dword fs:C0]<br />
73A92320 Main&nbsp; &nbsp;  jmp&nbsp; &nbsp;  far 0033:73A9271E<br />
759E60E2 Main&nbsp; &nbsp;  add&nbsp; &nbsp;  esp, 4<br />
&nbsp; &nbsp; Breakpoint at mycode.00575E5E<br />
00575E5E Main&nbsp; &nbsp;  mov&nbsp; &nbsp;  ebp, esp</code><hr />
</div>See what happens there at the end: the trace stops at the &quot;add&quot; for some reason, after successfully tracing quite a bunch of OS code, and never really resumes until it hits a breakpoint.<br />
<br />
Why is this happening and how can I fix this?</div>

]]></content:encoded>
			<category domain="http://www.woodmann.com/forum/forumdisplay.php?37-OllyDbg-Support-Forums">OllyDbg Support Forums</category>
			<dc:creator>romkyns</dc:creator>
			<guid isPermaLink="true">http://www.woodmann.com/forum/showthread.php?14602-OllyDbg-trace-gets-quot-lost-quot-in-OS-code</guid>
		</item>
		<item>
			<title>CoreRestore alternative?</title>
			<link>http://www.woodmann.com/forum/showthread.php?14601-CoreRestore-alternative&amp;goto=newpost</link>
			<pubDate>Thu, 26 Jan 2012 23:25:05 GMT</pubDate>
			<description><![CDATA[I've heard good things about CoreRestore, but I can't find it anymore...  so are there any alternatives hardware solutions for easily restoring a hard drive to a previous state?]]></description>
			<content:encoded><![CDATA[<div>I've heard good things about CoreRestore, but I can't find it anymore...  so are there any alternatives hardware solutions for easily restoring a hard drive to a previous state?</div>

]]></content:encoded>
			<category domain="http://www.woodmann.com/forum/forumdisplay.php?16-The-Newbie-Forum">The Newbie Forum</category>
			<dc:creator>Sunk</dc:creator>
			<guid isPermaLink="true">http://www.woodmann.com/forum/showthread.php?14601-CoreRestore-alternative</guid>
		</item>
		<item>
			<title>x64 Memory Mapped File Execution Issue</title>
			<link>http://www.woodmann.com/forum/showthread.php?14600-x64-Memory-Mapped-File-Execution-Issue&amp;goto=newpost</link>
			<pubDate>Tue, 24 Jan 2012 01:59:31 GMT</pubDate>
			<description>Hello all, 
 
I am wondering why my example code below works perfectly fine on x86 Windows NT OS (XP SP2 and above) compiled as a 32-bit binary and when compiled as a 64-bit binary it does not work on x64 OS (Testing with Windows 7 Ultimate x64). It appears that doing this causes a seg fault in...</description>
			<content:encoded><![CDATA[<div>Hello all,<br />
<br />
I am wondering why my example code below works perfectly fine on x86 Windows NT OS (XP SP2 and above) compiled as a 32-bit binary and when compiled as a 64-bit binary it does not work on x64 OS (Testing with Windows 7 Ultimate x64). It appears that doing this causes a seg fault in x64, removing stdcall also has no effect. Oddly enough, if I were to point to a native API such as NtClose it works perfectly on x64 but not other functions in other DLL modules. Anyone know what is going on here with this 64-bit difference?<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">#define FILE_MAP_EXECUTE 0<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; LPVOID __stdcall MapModuleToMemory(LPCSTR lpFileName) <br />
&nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; HANDLE hFile = CreateFile(lpFileName, GENERIC_READ | GENERIC_EXECUTE,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, 0);<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; if (hFile == INVALID_HANDLE_VALUE)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return NULL;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; HANDLE hMappedFile = CreateFileMapping(hFile, NULL, SEC_IMAGE | PAGE_EXECUTE_READ,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0, 0, NULL);<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; CloseHandle(hFile);<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; if (!hMappedFile)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return NULL;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; LPVOID lpMap = MapViewOfFile(hMappedFile, FILE_MAP_READ | FILE_MAP_EXECUTE, 0,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0, 0);<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; CloseHandle(hMappedFile);<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; return lpMap;<br />
}<br />
<br />
<br />
<br />
typedef void (__stdcall *PSleep )(ULONG Milliseconds);<br />
<br />
&nbsp; &nbsp; PSleep MySleep = NULL;<br />
<br />
<br />
<br />
int main(int argc, char *argv[])<br />
{<br />
&nbsp; &nbsp; char Buf[1024] = {0};<br />
&nbsp; &nbsp; GetSystemDirectory(Buf, MAX_PATH);<br />
&nbsp; &nbsp; lstrcat(Buf, &quot;\\kernel32.dll&quot;);<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; LPVOID lpMapBase = MapModuleToMemory(Buf);<br />
&nbsp; &nbsp; if (lpMapBase)<br />
&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp;  ULONG_PTR SleepPtr = (ULONG_PTR)GetProcAddress(GetModuleHandle(Buf), &quot;Sleep&quot;);<br />
&nbsp; &nbsp;  SleepPtr -= (ULONG_PTR)GetModuleHandle(Buf);<br />
&nbsp; &nbsp;  MySleep = (PSleep)(SleepPtr + (ULONG_PTR)lpMapBase);&nbsp; <br />
&nbsp; &nbsp;  printf(&quot;H&quot;);<br />
&nbsp; &nbsp;  MySleep(500); <br />
&nbsp; &nbsp;  printf(&quot;E&quot;);<br />
&nbsp; &nbsp;  MySleep(500); <br />
&nbsp; &nbsp;  printf(&quot;L&quot;);<br />
&nbsp; &nbsp;  MySleep(500); <br />
&nbsp; &nbsp;  printf(&quot;L&quot;);<br />
&nbsp; &nbsp;  MySleep(500); <br />
&nbsp; &nbsp;  printf(&quot;0\n\n&quot;);&nbsp; &nbsp;  <br />
&nbsp; &nbsp;  UnmapViewOfFile(lpMapBase);<br />
&nbsp; &nbsp; } <br />
&nbsp;  else<br />
&nbsp; &nbsp; printf(&quot;Error: Could not map module!&quot;); <br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; getchar();<br />
&nbsp; &nbsp; return 0;<br />
}</code><hr />
</div>Regards,<br />
cpuZ</div>

]]></content:encoded>
			<category domain="http://www.woodmann.com/forum/forumdisplay.php?2-Advanced-Reversing-and-Programming">Advanced Reversing and Programming</category>
			<dc:creator>cpuZ</dc:creator>
			<guid isPermaLink="true">http://www.woodmann.com/forum/showthread.php?14600-x64-Memory-Mapped-File-Execution-Issue</guid>
		</item>
		<item>
			<title>.net String decryption</title>
			<link>http://www.woodmann.com/forum/showthread.php?14599-net-String-decryption&amp;goto=newpost</link>
			<pubDate>Mon, 23 Jan 2012 07:34:00 GMT</pubDate>
			<description>I am trying to reverse a key verification. The target is written in .net and obfuscated with a to me unknown obfuscator. All the method, class names etc. got renamed to some weired unicode characters. The Strings an encrypted in a similar matter. This is what I got so far: 
Verification works like...</description>
			<content:encoded><![CDATA[<div>I am trying to reverse a key verification. The target is written in .net and obfuscated with a to me unknown obfuscator. All the method, class names etc. got renamed to some weired unicode characters. The Strings an encrypted in a similar matter. This is what I got so far:<br />
Verification works like this:<ol class="decimal"><li style="">Read Code from registry and check if valid (generating a valid key is not my problem, that was a no-brainer)</li><li style="">Read Email from registry</li><li style="">Read hash from registry</li><li style="">Generate hash like md5(const String + email + const String + code + const String) and compare both</li></ol>The last thing is where I get stuck. I can't get the Strings (at lest two) to plaintext. The hash is sent initially by a server on activation. The decryption Class looks like this:<br />
<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center">
<tr>
<td>
<span style="font-size: 11px;">
<div style="margin:20px; margin-top:5px">
<div class="smallfont" style="margin-bottom:2px">
<input type="button" value="Spoiler:" style="width:65px;font-size:10px;margin:0px;padding:0px;" onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Spoiler:'; }">

</div>
<p>
<div class="alt2" style="margin: 0px; padding: 6px; border: 1px inset; background-color: #FFFFFF; border: #D1D7DC; border-style: solid; border-left-width: 1px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px">
<div style="display: none;">
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">internal sealed class Class2<br />
{<br />
&nbsp; &nbsp; // Methods<br />
&nbsp; &nbsp; public static string smethod_0(string string_0, int int_0)<br />
&nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; return string.Intern(Class1.class1_0.method_0(string_0, int_0));<br />
&nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; // Properties<br />
&nbsp; &nbsp; public static string String_0<br />
&nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; get<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return &quot;XXX&quot;; //32char hexadecimal, only unencrypted String so far, hash of some sort?<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; // Nested Types<br />
&nbsp; &nbsp; private sealed class Class1<br />
&nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; // Fields<br />
&nbsp; &nbsp; &nbsp; &nbsp; private byte[] byte_0;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public static readonly Class2.Class1 class1_0 = new Class2.Class1();<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; // Methods<br />
&nbsp; &nbsp; &nbsp; &nbsp; private Class1()<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Stream manifestResourceStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(Class2.String_0);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (manifestResourceStream != null)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.byte_0 = new byte[0x100];<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; manifestResourceStream.Read(this.byte_0, 0, this.byte_0.Length);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; public string method_0(string string_0, int int_0)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int length = string_0.Length;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int index = int_0 &amp; 0xff;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; char[] chArray = string_0.ToCharArray();<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; while (--length &gt;= 0)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; chArray[length] = (char) (chArray[length] ^ (this.byte_0[index] | int_0));<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return string.Intern(new string(chArray));<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; }<br />
}</code><hr />
</div>
</div>
</p>
</div>
</div>
</span>
</td>
</tr>
</table><br />
There is also a small addon program which uses the same license/obfuscator and Class but the String_0 is different there.<br />
So every time a String is used, it uses the function Class2.smethod_0(weired unicode, integer). I just copied the the smethod_0 to my key-generator and strangely some values get decrytped right but the most of them do not. For example:<br />
decodestring(&quot;\uf78e\uf78c\uf79b\uf786\uf799\uf78e\uf79b\uf786\uf780\uf781\uf7b0\uf78c\uf780\uf78b\u  f78a&quot;, 0xf7ef) returns &quot;activation_code&quot; which is right<br />
decodestring(&quot;\uf31a\uf318\uf30f\uf312\uf30d\uf31a\uf30f\uf312\uf314\uf315\uf324\uf31e\uf316\uf31a\u  f312\uf317&quot;, 0xf369) should return &quot;activation_email&quot; but it does not.<br />
I got the right values from watching the process via ProcMon trying to access the registry.<br />
Any help would be greatly appreciated.</div>

]]></content:encoded>
			<category domain="http://www.woodmann.com/forum/forumdisplay.php?16-The-Newbie-Forum">The Newbie Forum</category>
			<dc:creator>KarlK</dc:creator>
			<guid isPermaLink="true">http://www.woodmann.com/forum/showthread.php?14599-net-String-decryption</guid>
		</item>
		<item>
			<title>Yet Another Anti-Debug Trick</title>
			<link>http://www.woodmann.com/forum/showthread.php?14598-Yet-Another-Anti-Debug-Trick&amp;goto=newpost</link>
			<pubDate>Sun, 22 Jan 2012 16:31:50 GMT</pubDate>
			<description><![CDATA[I have recently come up with a new anti-debug trick, which can be useful only if the "Break on new thread" option is set. The trick has been tried on OllyDbg v1.10 and Immunity Debugger v1.83 in WOW64 running on Windows 7. Actually, i am not sure if someone else has already found it. 
 
In any...]]></description>
			<content:encoded><![CDATA[<div>I have recently come up with a new anti-debug trick, which can be useful only if the &quot;Break on new thread&quot; option is set. The trick has been tried on OllyDbg v1.10 and Immunity Debugger v1.83 in WOW64 running on Windows 7. Actually, i am not sure if someone else has already found it.<br />
<br />
In any affected debugger, if CREATE_THREAD_DEBUG_EVENT is received and the &quot;Break on new thread&quot; option is set, the debugger places an int3 software breakpoint on the lpStartAddress. There is a narrow time window between setting the int3 software breakpoint and recovering the original byte and this is what we are going to exploit.<br />
<br />
N.B. The next few lines are only for demonstration. More complicated methods may evolve out of them.<br />
<br />
Having two threads in an application, the first thread does almost nothing and the second one checks the first byte of the first thread's entrypoint, we can simply detect the debugger. See the image below.<br />
<br />
<img src="http://2.bp.blogspot.com/-PKiZ37_05-Q/Txldw3Fm_GI/AAAAAAAAATI/QztIPGPiwnA/s1600/1.jpg" border="0" alt="" /><br />
<br />
Here are the demo and its source code.<br />
<i><u>http://ollytlscatch.googlecode.com/files/demo.exe</u></i><br />
<i><u>https://docs.google.com/document/d/1kd-Fw110lbK9h-i6Jc2fs57LUjdU2sYji97XCLTTawE/edit</u></i><br />
<br />
An XP-compatible demo and its source code.<br />
<i><u>http://ollytlscatch.googlecode.com/files/demo_xp.exe</u></i><br />
<i><u>https://docs.google.com/document/d/1G-6VSCrqM9KI_t82kPTGdo05cmaqyoVZG23o304Pk_o/edit</u></i><br />
<br />
<br />
The original topic.<br />
<i><u>http://waleedassar.blogspot.com/2012/01/yet-another-anti-debug-trick.html</u></i></div>

]]></content:encoded>
			<category domain="http://www.woodmann.com/forum/forumdisplay.php?4-Malware-Analysis-and-Unpacking-Forum">Malware Analysis and Unpacking Forum</category>
			<dc:creator>walied</dc:creator>
			<guid isPermaLink="true">http://www.woodmann.com/forum/showthread.php?14598-Yet-Another-Anti-Debug-Trick</guid>
		</item>
		<item>
			<title>PETools</title>
			<link>http://www.woodmann.com/forum/showthread.php?14597-PETools&amp;goto=newpost</link>
			<pubDate>Thu, 19 Jan 2012 08:59:37 GMT</pubDate>
			<description>Hi all,  
 
while playing with a library of mine, dealing with different file formats, i usually use tools like peid, petools and co for revalidation my results and so i saw, that PETools has a bug in deserialization of load config table data directory. it seems that is processing all field with 8...</description>
			<content:encoded><![CDATA[<div>Hi all, <br />
<br />
while playing with a library of mine, dealing with different file formats, i usually use tools like peid, petools and co for revalidation my results and so i saw, that PETools has a bug in deserialization of load config table data directory. it seems that is processing all field with 8 byte size are considered to be 4 bytes only, what is wrong, specificationwise....<br />
<br />
maybe somebody who knows NEOx, tell him to fix it ;))))<br />
<br />
Regards,<br />
OHPen</div>

]]></content:encoded>
			<category domain="http://www.woodmann.com/forum/forumdisplay.php?3-Tools-of-Our-Trade-(TOT)-Messageboard">Tools of Our Trade (TOT) Messageboard</category>
			<dc:creator>OHPen</dc:creator>
			<guid isPermaLink="true">http://www.woodmann.com/forum/showthread.php?14597-PETools</guid>
		</item>
		<item>
			<title>Reversing NUTCracker.exe</title>
			<link>http://www.woodmann.com/forum/showthread.php?14596-Reversing-NUTCracker-exe&amp;goto=newpost</link>
			<pubDate>Thu, 19 Jan 2012 01:57:15 GMT</pubDate>
			<description><![CDATA[Hi All, 
 
I am new to RCE, however a long back I studied a bit on it & cracked/reversed a few CrackMe/KeyGenMe exercises. Recently, I have come across another cracking exercise, a binary called "NUTCracker.exe". The challenge is to extract a key out of it. With my present knowledge & expertise, I...]]></description>
			<content:encoded><![CDATA[<div>Hi All,<br />
<br />
I am new to RCE, however a long back I studied a bit on it &amp; cracked/reversed a few CrackMe/KeyGenMe exercises. Recently, I have come across another cracking exercise, a binary called &quot;NUTCracker.exe&quot;. The challenge is to extract a key out of it. With my present knowledge &amp; expertise, I am unable to solve it. Can you please guide me to crack the challenge as well as learn the tricks &amp; techniques?<br />
<br />
The binary is <i><u><i><u>here</u></i></u></i>.</div>

]]></content:encoded>
			<category domain="http://www.woodmann.com/forum/forumdisplay.php?16-The-Newbie-Forum">The Newbie Forum</category>
			<dc:creator>Holmes.Sherlock</dc:creator>
			<guid isPermaLink="true">http://www.woodmann.com/forum/showthread.php?14596-Reversing-NUTCracker-exe</guid>
		</item>
	</channel>
</rss>

