<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CFF Explorer &#8211; NTCore</title>
	<atom:link href="https://ntcore.com/tag/cff-explorer/feed/" rel="self" type="application/rss+xml" />
	<link>https://ntcore.com</link>
	<description></description>
	<lastBuildDate>Thu, 25 Oct 2012 08:32:44 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://ntcore.com/wp-content/uploads/2018/07/cropped-ntcore_icon-2-32x32.png</url>
	<title>CFF Explorer &#8211; NTCore</title>
	<link>https://ntcore.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">184274875</site>	<item>
		<title>Preparing a bugfix version of CFF Explorer</title>
		<link>https://ntcore.com/preparing-a-bugfix-version-of-cff-explorer/</link>
					<comments>https://ntcore.com/preparing-a-bugfix-version-of-cff-explorer/#comments</comments>
		
		<dc:creator><![CDATA[Erik Pistelli]]></dc:creator>
		<pubDate>Thu, 25 Oct 2012 08:32:44 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Update]]></category>
		<category><![CDATA[CFF Explorer]]></category>
		<guid isPermaLink="false">http://rcecafe.net/?p=250</guid>

					<description><![CDATA[It has been many years since the last update of what had started as a hobby side-project when I was 19. I&#8217;m sorry that I haven&#8217;t updated the CFF for such a long time, given that thousands of people use it every day. A few months ago I stopped working for Hex-Rays to fully dedicate &#8230; <a href="https://ntcore.com/preparing-a-bugfix-version-of-cff-explorer/" class="more-link">Continue reading<span class="screen-reader-text"> "Preparing a bugfix version of CFF Explorer"</span></a>]]></description>
										<content:encoded><![CDATA[<p>It has been many years since the last update of what had started as a hobby side-project when I was 19. I&#8217;m sorry that I haven&#8217;t updated the CFF for such a long time, given that thousands of people use it every day. A few months ago I stopped working for Hex-Rays to fully dedicate myself to my own company and thus I have decided that I have now the time and the energy (barely) to finally update the CFF.</p>
<p>Over the years I&#8217;ve received several bugfix requests, but couldn&#8217;t oblige because of the lack of time. If you&#8217;re interested that a particular fix goes into the upcoming release, please leave a comment under this blog post or drop me an email to <a href="mailto:ntcore@gmail.com">ntcore@gmail.com</a> (feel free to repeat the request, as it might have been lost during the years).</p>
<p>Please don&#8217;t include radical changes or improvements, we&#8217;ll leave that for later maybe. If your company needs professional PE inspection (not editing), I&#8217;d advice you to check out my current commercial product at <a href="http://cerbero.io/profiler/">cerbero.io/profiler</a>, which doesn&#8217;t cover &#8216;just&#8217; the Portable Executable format.</p>
<p><strong>UPDATE</strong>: Uploaded new version with the following improvements:</p>
<p>&#8211; Dropped Itanium version<br />
&#8211; Added ENCLog and ENCMap .NET tables<br />
&#8211; Modify resources of system files (MUI limitation)<br />
&#8211; Fixed resource loop bug<br />
&#8211; Fixed MDTables string overflow bug<br />
&#8211; Fixed command line scripting bug<br />
&#8211; Fixed &#8216;Select All&#8217; bug in hex editor<br />
&#8211; Fixed missing offset check in .NET tables<br />
&#8211; Fixed missing reloc size check<br />
&#8211; Fixed scripting handles bug<br />
&#8211; Use FTs when OFTs are invalid<br />
&#8211; Updated UPX</p>
<p>You can continue to leave comments or send me emails. As soon as there are enough new bug reports, I&#8217;ll upload a new version. In time, maybe, some small improvements could be included apart from bug fixes.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ntcore.com/preparing-a-bugfix-version-of-cff-explorer/feed/</wfw:commentRss>
			<slash:comments>37</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">250</post-id>	</item>
		<item>
		<title>CFF Explorer 7.9 &#038; Secunia</title>
		<link>https://ntcore.com/cff-explorer-7-9-secunia/</link>
					<comments>https://ntcore.com/cff-explorer-7-9-secunia/#comments</comments>
		
		<dc:creator><![CDATA[Erik Pistelli]]></dc:creator>
		<pubDate>Fri, 13 Aug 2010 17:32:04 +0000</pubDate>
				<category><![CDATA[Update]]></category>
		<category><![CDATA[CFF Explorer]]></category>
		<guid isPermaLink="false">http://rcecafe.net/?p=159</guid>

					<description><![CDATA[Today I&#8217;ve received a Secunia report email about a buffer overflow vulnerability in the CFF Explorer. I was quite amused =). I mean, I usually get emails sent me by users about bugs in the CFF, never got an email by Secunia before. However, it&#8217;s always good to get bug reports. The bug itself was &#8230; <a href="https://ntcore.com/cff-explorer-7-9-secunia/" class="more-link">Continue reading<span class="screen-reader-text"> "CFF Explorer 7.9 &#038; Secunia"</span></a>]]></description>
										<content:encoded><![CDATA[<p>Today I&#8217;ve received a Secunia report email about a buffer overflow vulnerability in the CFF Explorer. I was quite amused =).  I mean, I usually get emails sent me by users about bugs in the CFF, never got an email by Secunia before.</p>
<p>However, it&#8217;s always good to get bug reports. The bug itself was related to a string overflow in the resource editor. I put string safe functions quite some time ago in the old kernel of the CFF, but apparently I missed one.</p>
<p>So, since I had already the project open to fix this bug, I also added support for .NET unoptimized metadata streams. Which is the most important new feature in this release.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ntcore.com/cff-explorer-7-9-secunia/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">159</post-id>	</item>
		<item>
		<title>CFF &#038; Rebel.NET Update</title>
		<link>https://ntcore.com/cff-rebel-net-update/</link>
					<comments>https://ntcore.com/cff-rebel-net-update/#respond</comments>
		
		<dc:creator><![CDATA[Erik Pistelli]]></dc:creator>
		<pubDate>Thu, 01 Apr 2010 20:58:26 +0000</pubDate>
				<category><![CDATA[Update]]></category>
		<category><![CDATA[CFF Explorer]]></category>
		<category><![CDATA[Rebel.NET]]></category>
		<guid isPermaLink="false">http://rcecafe.net/?p=138</guid>

					<description><![CDATA[Fixed some bugs in both applications. In particular, made some part of the CFF Explorer more robust. The current CFF Explorer still contains the core I wrote when I was 19yo. The newer kernel, which I don&#8217;t know if I&#8217;ll ever get the time to finish, doesn&#8217;t have the same problems. Anyway, this should improve &#8230; <a href="https://ntcore.com/cff-rebel-net-update/" class="more-link">Continue reading<span class="screen-reader-text"> "CFF &#038; Rebel.NET Update"</span></a>]]></description>
										<content:encoded><![CDATA[<p>Fixed some bugs in both applications.<br />
In particular, made some part of the CFF Explorer more robust. The current CFF Explorer still contains the core I wrote when I was 19yo. The newer kernel, which I don&#8217;t know if I&#8217;ll ever get the time to finish, doesn&#8217;t have the same problems. Anyway, this should improve rebuilding, resources importing and displaying of .NET table elements with extremely long names (more than 4096 characters).</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ntcore.com/cff-rebel-net-update/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">138</post-id>	</item>
		<item>
		<title>CFF Explorer update: scripting arguments</title>
		<link>https://ntcore.com/cff-explorer-update-scripting-arguments/</link>
					<comments>https://ntcore.com/cff-explorer-update-scripting-arguments/#respond</comments>
		
		<dc:creator><![CDATA[Erik Pistelli]]></dc:creator>
		<pubDate>Sun, 01 Nov 2009 17:23:37 +0000</pubDate>
				<category><![CDATA[Update]]></category>
		<category><![CDATA[CFF Explorer]]></category>
		<guid isPermaLink="false">http://rcecafe.net/?p=127</guid>

					<description><![CDATA[Arguments can now be passed through command line just by making them follow the name of the script. E.g.: &#8220;CFF Explorer.exe&#8221; &#8220;C:\mydir\script.cff&#8221; arg1 arg2 &#8220;arg 3&#8221; To access the arguments from the scripting part you can use the global variables argv and argc, which are the same thing as in C. Actually, argv would&#8217;ve been &#8230; <a href="https://ntcore.com/cff-explorer-update-scripting-arguments/" class="more-link">Continue reading<span class="screen-reader-text"> "CFF Explorer update: scripting arguments"</span></a>]]></description>
										<content:encoded><![CDATA[<p>Arguments can now be passed through command line just by making them follow the name of the script. E.g.:</p>
<p>&#8220;CFF Explorer.exe&#8221; &#8220;C:\mydir\script.cff&#8221; arg1 arg2 &#8220;arg 3&#8221;</p>
<p>To access the arguments from the scripting part you can use the global variables <strong>argv</strong> and <strong>argc</strong>, which are the same thing as in C. Actually, argv would&#8217;ve been sufficient as it is a table and its size can be retrieved with &#8220;#&#8221;, <strong>argc</strong> is only present for coherence with the C-style.</p>
<p>Example:</p>
<p>[cc lang=&#8221;lua&#8221;]x = 0<br />
while x < argc do
    MsgBox(argv[x])
    x = x + 1
end[/cc]

I also fixed a bug in the add section code and improved the PE rebuilding.
</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ntcore.com/cff-explorer-update-scripting-arguments/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">127</post-id>	</item>
		<item>
		<title>Explorer Suite update</title>
		<link>https://ntcore.com/explorer-suite-update/</link>
					<comments>https://ntcore.com/explorer-suite-update/#comments</comments>
		
		<dc:creator><![CDATA[Erik Pistelli]]></dc:creator>
		<pubDate>Wed, 21 Oct 2009 13:18:37 +0000</pubDate>
				<category><![CDATA[Update]]></category>
		<category><![CDATA[CFF Explorer]]></category>
		<category><![CDATA[Explorer Suite]]></category>
		<guid isPermaLink="false">http://rcecafe.net/?p=122</guid>

					<description><![CDATA[CFF Explorer: Improved support for tiny PEs. Fixed a bug in the Exception Directory which was due to the grid set up. Task Explorer: Fixed a minor bug on x64. Added the Driver List tool.]]></description>
										<content:encoded><![CDATA[<p>CFF Explorer:<br />
Improved support for tiny PEs.<br />
Fixed a bug in the Exception Directory which was due to the grid set up.</p>
<p>Task Explorer:<br />
Fixed a minor bug on x64.<br />
Added the Driver List tool.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ntcore.com/explorer-suite-update/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">122</post-id>	</item>
		<item>
		<title>CFF Explorer bug-fix</title>
		<link>https://ntcore.com/cff-explorer-bug-fix/</link>
					<comments>https://ntcore.com/cff-explorer-bug-fix/#comments</comments>
		
		<dc:creator><![CDATA[Erik Pistelli]]></dc:creator>
		<pubDate>Wed, 30 Sep 2009 14:22:26 +0000</pubDate>
				<category><![CDATA[Update]]></category>
		<category><![CDATA[CFF Explorer]]></category>
		<guid isPermaLink="false">http://rcecafe.net/?p=114</guid>

					<description><![CDATA[Fixed a bug reported by icy. It was causing crashes in executables without sections when calculating their PE size.]]></description>
										<content:encoded><![CDATA[<p>Fixed a bug reported by icy. It was causing crashes in executables without sections when calculating their PE size.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ntcore.com/cff-explorer-bug-fix/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">114</post-id>	</item>
		<item>
		<title>.NET MetaData Tables Reports</title>
		<link>https://ntcore.com/net-metadata-tables-reports/</link>
					<comments>https://ntcore.com/net-metadata-tables-reports/#respond</comments>
		
		<dc:creator><![CDATA[Erik Pistelli]]></dc:creator>
		<pubDate>Fri, 29 May 2009 23:54:38 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Update]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[CFF Explorer]]></category>
		<category><![CDATA[MetaData]]></category>
		<guid isPermaLink="false">http://rcecafe.net/?p=89</guid>

					<description><![CDATA[I updated the scripting language of the old CFF Explorer which now provides a function to automatically create reports of .NET metadata tables. The function is called LogPrintStruct and is to be used along with the logging functions the scripting provides. Here&#8217;s a small script you can find in the &#8220;Scripts&#8221; directory of the CFF &#8230; <a href="https://ntcore.com/net-metadata-tables-reports/" class="more-link">Continue reading<span class="screen-reader-text"> ".NET MetaData Tables Reports"</span></a>]]></description>
										<content:encoded><![CDATA[<p>I updated the scripting language of the old CFF Explorer which now provides a function to automatically create reports of .NET metadata tables. The function is called LogPrintStruct and is to be used along with the logging functions the scripting provides. Here&#8217;s a small script you can find in the &#8220;Scripts&#8221; directory of the CFF Explorer which creates a report of all .NET tables contained in an assembly:</p>
<p>[cc lang=&#8221;lua&#8221;]&#8211; this script generates a report of a PE&#8217;s .NET metadata tables.</p>
<p>filename = GetOpenFile(&#8220;Open&#8230;&#8221;,  &#8220;All\n*.*\nexe\n*.exe\ndll\n*.dll\n&#8221;)</p>
<p>if filename == null then<br />
	return<br />
end</p>
<p>hPE = OpenFile(filename)</p>
<p>if hPE == null then<br />
	return<br />
end</p>
<p>if GetOffset(hPE, PE_DotNETDirectory) == null then<br />
	MsgBox(&#8220;The current is not a valid .NET assembly.&#8221;, &#8220;Error&#8221;, MB_ICONEXCLAMATION)<br />
end</p>
<p>repname = GetSaveFile(&#8220;Save Report As..&#8221;,  &#8220;Text File\n*.txt\n&#8221;)</p>
<p>if repname == null then<br />
	return<br />
end</p>
<p>hReport = CreateLog(repname)</p>
<p>if hReport == null then<br />
	return<br />
end</p>
<p>fieldsToLog = {<br />
	PE_MetaDataTable_Module,<br />
	PE_MetaDataTable_TypeRef,<br />
	PE_MetaDataTable_TypeDef,<br />
	PE_MetaDataTable_Field,<br />
	PE_MetaDataTable_Method,<br />
	PE_MetaDataTable_Param,<br />
	PE_MetaDataTable_InterfaceImpl,<br />
	PE_MetaDataTable_MemberRef,<br />
	PE_MetaDataTable_Constant,<br />
	PE_MetaDataTable_CustomAttribute,<br />
	PE_MetaDataTable_FieldMarshal,<br />
	PE_MetaDataTable_DeclSecurity,<br />
	PE_MetaDataTable_ClassLayout,<br />
	PE_MetaDataTable_FieldLayout,<br />
	PE_MetaDataTable_StandAloneSig,<br />
	PE_MetaDataTable_EventMap,<br />
	PE_MetaDataTable_Event,<br />
	PE_MetaDataTable_PropertyMap,<br />
	PE_MetaDataTable_Property,<br />
	PE_MetaDataTable_MethodSemantics,<br />
	PE_MetaDataTable_MethodImpl,<br />
	PE_MetaDataTable_ModuleRef,<br />
	PE_MetaDataTable_TypeSpec,<br />
	PE_MetaDataTable_ImplMap,<br />
	PE_MetaDataTable_FieldRVA,<br />
	PE_MetaDataTable_Assembly,<br />
	PE_MetaDataTable_AssemblyProcessor,<br />
	PE_MetaDataTable_AssemblyOS,<br />
	PE_MetaDataTable_AssemblyRef,<br />
	PE_MetaDataTable_AssemblyRefProcessor,<br />
	PE_MetaDataTable_AssemblyRefOS,<br />
	PE_MetaDataTable_File,<br />
	PE_MetaDataTable_ExportedType,<br />
	PE_MetaDataTable_ManifestResource,<br />
	PE_MetaDataTable_NestedClass,<br />
	PE_MetaDataTable_GenericParam,<br />
	PE_MetaDataTable_MethodSpec,<br />
	PE_MetaDataTable_GenericParamConstraint<br />
	}</p>
<p>fieldNames = {<br />
	&#8220;Module&#8221;,<br />
	&#8220;TypeRef&#8221;,<br />
	&#8220;TypeDef&#8221;,<br />
	&#8220;Field&#8221;,<br />
	&#8220;Method&#8221;,<br />
	&#8220;Param&#8221;,<br />
	&#8220;InterfaceImpl&#8221;,<br />
	&#8220;MemberRef&#8221;,<br />
	&#8220;Constant&#8221;,<br />
	&#8220;CustomAttribute&#8221;,<br />
	&#8220;FieldMarshal&#8221;,<br />
	&#8220;DeclSecurity&#8221;,<br />
	&#8220;ClassLayout&#8221;,<br />
	&#8220;FieldLayout&#8221;,<br />
	&#8220;StandAloneSig&#8221;,<br />
	&#8220;EventMap&#8221;,<br />
	&#8220;Event&#8221;,<br />
	&#8220;PropertyMap&#8221;,<br />
	&#8220;Property&#8221;,<br />
	&#8220;MethodSemantics&#8221;,<br />
	&#8220;MethodImpl&#8221;,<br />
	&#8220;ModuleRef&#8221;,<br />
	&#8220;TypeSpec&#8221;,<br />
	&#8220;ImplMap&#8221;,<br />
	&#8220;FieldRVA&#8221;,<br />
	&#8220;Assembly&#8221;,<br />
	&#8220;AssemblyProcessor&#8221;,<br />
	&#8220;AssemblyOS&#8221;,<br />
	&#8220;AssemblyRef&#8221;,<br />
	&#8220;AssemblyRefProcessor&#8221;,<br />
	&#8220;AssemblyRefOS&#8221;,<br />
	&#8220;File&#8221;,<br />
	&#8220;ExportedType&#8221;,<br />
	&#8220;ManifestResource&#8221;,<br />
	&#8220;NestedClass&#8221;,<br />
	&#8220;GenericParam&#8221;,<br />
	&#8220;MethodSpec&#8221;,<br />
	&#8220;GenericParamConstraint&#8221;<br />
	}</p>
<p>LogPrint(hReport, &#8220;.NET metadata tables report for \&#8221;&#8221; .. filename .. &#8220;\&#8221;\n\n&#8221;)<br />
loggedTables = 0<br />
for i = 0, #fieldsToLog &#8211; 1 do<br />
	if GetOffset(hPE, fieldsToLog[i]) != null then<br />
		if loggedTables > 0 then<br />
			LogPrint(hReport, &#8220;\n\n\n&#8221;)<br />
		end<br />
		LogPrint(hReport, fieldNames[i] .. &#8221; Table\n&#8221;)<br />
		LogPrint(hReport, &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;\n\n&#8221;)<br />
		LogPrintStruct(hPE, hReport, fieldsToLog[i])<br />
		loggedTables = loggedTables + 1<br />
	end<br />
end</p>
<p>&#8212; Open the report?</p>
<p>CloseLog(hReport)</p>
<p>nRet = MsgBox(&#8220;Open report file?&#8221;, &#8220;.NET Tables Report&#8221;, MB_ICONQUESTION | MB_YESNO)</p>
<p>if nRet == IDYES then<br />
	ExecuteAppAndWait(@&#8221;C:\Windows\System32\notepad.exe&#8221;, GetShortPathName(repname))<br />
end[/cc]</p>
<p>A generated report file looks like this:</p>
<p>[cc lang=&#8221;asm&#8221;].NET metadata tables report for &#8220;K:\Explorer Suite\Setup\Signature Explorer.exe&#8221;</p>
<p>Module Table<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>1.<br />
Generation: 0<br />
Name: 1 (Signature Explorer.exe)<br />
Mvid: 1<br />
EncId: 0<br />
EncBaseId: 0</p>
<p>TypeRef Table<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>1.<br />
ResolutionScope: 6<br />
Name: 18 (Control)<br />
Namespace: 20 (System.Windows.Forms)</p>
<p>2.<br />
ResolutionScope: A<br />
Name: 35 (Enum)<br />
Namespace: 3A (System)</p>
<p>3.<br />
ResolutionScope: 6<br />
Name: 41 (Button)<br />
Namespace: 20 (System.Windows.Forms)</p>
<p>4.<br />
ResolutionScope: 6<br />
Name: 48 (Form)<br />
Namespace: 20 (System.Windows.Forms)</p>
<p>5.<br />
ResolutionScope: A<br />
Name: 4D (Object)<br />
Namespace: 3A (System)</p>
<p>6.<br />
ResolutionScope: A<br />
Name: 54 (ValueType)<br />
Namespace: 3A (System)</p>
<p>etc.[/cc]</p>
<p>I included this new feature because many developers asked me to. Reading the generated report files is much easier than manually reading the raw .NET format. The current scripting system won&#8217;t be implemented in the newer CFF Explorer, I only inserted this new feature because it will take me much more time to release the newer CFF Explorer. </p>
<p>Thanks to CodeRipper for signalling a corrupted .NET assembly which caused the CFF Explorer to crash when opening it. I improved the integrity checks.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ntcore.com/net-metadata-tables-reports/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">89</post-id>	</item>
		<item>
		<title>Data Execution Prevention (NX) flag</title>
		<link>https://ntcore.com/data-execution-prevention-nx-flag/</link>
					<comments>https://ntcore.com/data-execution-prevention-nx-flag/#respond</comments>
		
		<dc:creator><![CDATA[Erik Pistelli]]></dc:creator>
		<pubDate>Fri, 10 Apr 2009 22:38:47 +0000</pubDate>
				<category><![CDATA[Update]]></category>
		<category><![CDATA[CFF Explorer]]></category>
		<category><![CDATA[PE]]></category>
		<guid isPermaLink="false">http://rcecafe.net/?p=85</guid>

					<description><![CDATA[As you probably know the DEP (Data Execution Prevention) was introduced in XPSP2 and it prevents code to be executed from data sections. Let&#8217;s consider this code snippet: [cc lang=&#8221;cpp&#8221;]unsigned char b = 0xC3; // ret int _tmain(int argc, _TCHAR* argv[]) { void *addr = &#038;b; __asm call addr; getchar(); return 0; }[/cc] This code &#8230; <a href="https://ntcore.com/data-execution-prevention-nx-flag/" class="more-link">Continue reading<span class="screen-reader-text"> "Data Execution Prevention (NX) flag"</span></a>]]></description>
										<content:encoded><![CDATA[<p>As you probably know the DEP (Data Execution Prevention) was introduced in XPSP2 and it prevents code to be executed from data sections.</p>
<p>Let&#8217;s consider this code snippet:</p>
<p>[cc lang=&#8221;cpp&#8221;]unsigned char b = 0xC3; // ret</p>
<p>int _tmain(int argc, _TCHAR* argv[])<br />
{<br />
	void *addr = &b;<br />
	__asm call addr;<br />
	getchar();<br />
	return 0;<br />
}[/cc]</p>
<p>This code sample will crash if the DEP is enabled. DEP is a very important security improvement against buffer overlow exploits, but it might be generate incompatibility with older applications which rely on executing code inside the data section.</p>
<p>The DEP can be disabled individually for an executable. The only thing which needs to be done is to unset the &#8220;NX Compatibility&#8221; flag inside &#8220;Optional Header -> Characteristics&#8221;.</p>
<p>Make sure to have the latest CFF Explorer release. I also updated the flags of the &#8220;Characteristics&#8221; field, because they were outdated. Among the new flags there is the ASLR flag (DLL can move), which enables the executable to be relocated at a random (256 possibilities) address if it contains a relocation table.</p>
<p>Both the ASLR and the DEP flag are enabled by default in Visual C++.</p>
<p>Another flag is the &#8220;Code Integrity&#8221; one. This flag when set checks the digital signature of the executable and runs it only if the signature is correct.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ntcore.com/data-execution-prevention-nx-flag/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">85</post-id>	</item>
		<item>
		<title>Kernel: 3rd edition</title>
		<link>https://ntcore.com/kernel-3rd-edition/</link>
					<comments>https://ntcore.com/kernel-3rd-edition/#comments</comments>
		
		<dc:creator><![CDATA[Erik Pistelli]]></dc:creator>
		<pubDate>Thu, 02 Apr 2009 13:23:28 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[CFF Explorer]]></category>
		<guid isPermaLink="false">http://rcecafe.net/?p=80</guid>

					<description><![CDATA[I don&#8217;t want to show too much, this is just a small preview. Yes, it&#8217;s running on Ubuntu and it runs on OSX just as well. I don&#8217;t know if I&#8217;m going to ship a Linux and an OSX version apart from the Windows one, maybe not immediately. It also depends on the number of &#8230; <a href="https://ntcore.com/kernel-3rd-edition/" class="more-link">Continue reading<span class="screen-reader-text"> "Kernel: 3rd edition"</span></a>]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" src="/wp-content/uploads/legacy/ucff_pre_alpha.jpg" alt="" /></p>
<p>I don&#8217;t want to show too much, this is just a small preview. Yes, it&#8217;s running on Ubuntu and it runs on OSX just as well.<br />
I don&#8217;t know if I&#8217;m going to ship a Linux and an OSX version apart from the Windows one, maybe not immediately. It also depends on the number of requests for it.</p>
<p>Some insights into the new kernel:</p>
<p>&#8211; The kernel is now stream based, this means it can read files, memory, disks etc.<br />
&#8211; Complete multithread support.<br />
&#8211; A CFFStream can be shared among CFFObjects even if they&#8217;re owned by a different thread.<br />
&#8211; The same CFFObject can be shared among threads.<br />
&#8211; Complete endianess support: every file format has a default endianess but can be loaded with a different one. For instance: it is possible to load a PE file with all fields in big endian.<br />
&#8211; Support for all most common string encodings.<br />
&#8211; Support for integer types of infinite size.<br />
&#8211; Support for multiple file formats.<br />
&#8211; Easily exposable to scripting languages.</p>
<p>There is more and an impressive amount of work has still to be done, although the kernel is about to be finished. I won&#8217;t tell all the new features of the GUI, because it&#8217;s way too soon.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ntcore.com/kernel-3rd-edition/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">80</post-id>	</item>
		<item>
		<title>Multiple Updates</title>
		<link>https://ntcore.com/multiple-update/</link>
					<comments>https://ntcore.com/multiple-update/#comments</comments>
		
		<dc:creator><![CDATA[Erik Pistelli]]></dc:creator>
		<pubDate>Thu, 19 Feb 2009 11:20:26 +0000</pubDate>
				<category><![CDATA[Update]]></category>
		<category><![CDATA[CFF Explorer]]></category>
		<category><![CDATA[Phoenix Protector]]></category>
		<category><![CDATA[Rebel.NET]]></category>
		<guid isPermaLink="false">http://rcecafe.net/?p=77</guid>

					<description><![CDATA[A serious bug in the CFF Explorer, Rebel.NET and Phoenix Protector has been fixed. The bug affected the ExportedType .NET metadata table where the member TypeDefID was declared as a TypeDef index, while it&#8217;s a dword. The table is declared correctly in my .NET article, but somehow I wrote the wrong type in the code. &#8230; <a href="https://ntcore.com/multiple-update/" class="more-link">Continue reading<span class="screen-reader-text"> "Multiple Updates"</span></a>]]></description>
										<content:encoded><![CDATA[<p>A serious bug in the CFF Explorer, Rebel.NET and Phoenix Protector has been fixed. The bug affected the ExportedType .NET metadata table where the member TypeDefID was declared as a TypeDef index, while it&#8217;s a dword. The table is declared correctly in my .NET article, but somehow I wrote the wrong type in the code.</p>
<p>Many thanks to Yaroslav Liulko for reporting the bug.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ntcore.com/multiple-update/feed/</wfw:commentRss>
			<slash:comments>11</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">77</post-id>	</item>
	</channel>
</rss>
