<?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>Security News &#187; Reversing</title> <atom:link href="http://www.secnews.pl/category/reversing/feed/" rel="self" type="application/rss+xml" /><link>http://www.secnews.pl</link> <description>Reverse engineering, ochrona oprogramowania.</description> <lastBuildDate>Mon, 30 Jan 2012 14:41:10 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Kompresja aplikacji .NET</title><link>http://www.secnews.pl/2012/01/29/kompresja-aplikacji-net/</link> <comments>http://www.secnews.pl/2012/01/29/kompresja-aplikacji-net/#comments</comments> <pubDate>Sat, 28 Jan 2012 22:42:02 +0000</pubDate> <dc:creator>bartek</dc:creator> <category><![CDATA[C#]]></category> <category><![CDATA[Narzędzia]]></category> <category><![CDATA[Programowanie]]></category> <category><![CDATA[Reversing]]></category> <category><![CDATA[.netshrink]]></category> <category><![CDATA[dll binder]]></category> <category><![CDATA[dotnete]]></category> <category><![CDATA[exe-packer]]></category><guid isPermaLink="false">http://www.secnews.pl/?p=1232</guid> <description><![CDATA[.netshrink v2.2 .netshrink to kompresor (tzw. exe-packer) aplikacji .NET-owych, wykorzystujący kompresję LZMA, DLL binder pozwalający scalić aplikację oraz jej dodatkowe moduły DLL do jednego pliku EXE, .netshrink pozwala także na ochronę aplikacji na hasło przed uruchomieniem. W zaktualizowanej wersji poprawione zostało uruchamianie skompresowanych aplikacji ze ścieżek UNC (zasoby sieciowe) z linii komend i zachowywanie oryginalnej [...]]]></description> <content:encoded><![CDATA[<h1>.netshrink v2.2</h1><p><a href="http://www.pelock.com/products/netshrink">.netshrink</a> to kompresor (tzw. <em>exe-packer</em>) aplikacji .NET-owych, wykorzystujący kompresję LZMA, DLL binder pozwalający scalić aplikację oraz jej dodatkowe moduły DLL do jednego pliku EXE, .netshrink pozwala także na ochronę aplikacji na hasło przed uruchomieniem.</p><p><a href="http://www.secnews.pl/wp-content/uploads/2012/01/netshrink_main1.png"><img class="alignnone size-full wp-image-1233" title="Okno główne .netshrink v2.2" src="http://www.secnews.pl/wp-content/uploads/2012/01/netshrink_main1.png" alt="" width="551" height="621" /></a></p><p>W zaktualizowanej wersji poprawione zostało uruchamianie skompresowanych aplikacji ze ścieżek UNC (zasoby sieciowe) z linii komend i zachowywanie oryginalnej architektury CPU dla skompresowanych plików.</p><p>Strona domowa:<br /> <a href="http://www.pelock.com/products/netshrink">http://www.pelock.com/products/netshrink</a></p><p>Wersje demonstracyjną można ściągnąć z:</p><p>Setup:<br /> <a href="http://www.pelock.com/download.php?f=netshrink.exe">http://www.pelock.com/download.php?f=netshrink.exe</a> (701 kB)</p><p>Archiwum zip:<br /> <a href="http://www.pelock.com/download.php?f=netshrink.exe">http://www.pelock.com/download.php?f=netshrink.exe</a> (415 kB)</p> ]]></content:encoded> <wfw:commentRss>http://www.secnews.pl/2012/01/29/kompresja-aplikacji-net/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>DataHASP</title><link>http://www.secnews.pl/2012/01/27/datahasp/</link> <comments>http://www.secnews.pl/2012/01/27/datahasp/#comments</comments> <pubDate>Fri, 27 Jan 2012 14:54:57 +0000</pubDate> <dc:creator>bartek</dc:creator> <category><![CDATA[Artykuły]]></category> <category><![CDATA[Reversing]]></category> <category><![CDATA[DataHASP]]></category> <category><![CDATA[hasp]]></category> <category><![CDATA[Sentinel HASP Envelope]]></category><guid isPermaLink="false">http://www.secnews.pl/?p=1225</guid> <description><![CDATA[DataHASP to system szyfrowania dowolnych plików aplikacji, dzięki któremu oryginalna treść takich zaszyfrowanych plików widoczna jest jedynie dla aplikacji, które zostały zabezpieczone przez Sentinel HASP Envelope (exe-protector HASPa). HASP pozwala na szyfrowanie pojedynczych plików jak i całych katalogów z danymi aplikacji poprzez dodatkowe narzędzie: W samym envelope określa się rodzaj plików, które zostały zaszyfrowane: Zaszyfrowane pliki [...]]]></description> <content:encoded><![CDATA[<p><strong>DataHASP</strong> to system szyfrowania dowolnych plików aplikacji, dzięki któremu oryginalna treść takich zaszyfrowanych plików widoczna jest <strong>jedynie</strong> dla aplikacji, które zostały zabezpieczone przez <a href="http://www.safenet-inc.com/products/software-rights-management/hasp-srm-envelope/">Sentinel HASP Envelope</a> (<em>exe-protector</em> HASPa).</p><p>HASP pozwala na szyfrowanie pojedynczych plików jak i całych katalogów z danymi aplikacji poprzez dodatkowe narzędzie:</p><p><a href="http://www.secnews.pl/wp-content/uploads/2012/01/data_hasp.png"><img class="alignnone size-medium wp-image-1226" title="DataHASP" src="http://www.secnews.pl/wp-content/uploads/2012/01/data_hasp-300x202.png" alt="" width="300" height="202" /></a></p><p>W samym envelope określa się rodzaj plików, które zostały zaszyfrowane:</p><p><a href="http://www.secnews.pl/wp-content/uploads/2012/01/sentinel_envelope.png"><img class="alignnone size-medium wp-image-1227" title="Sentinel HASP Envelope" src="http://www.secnews.pl/wp-content/uploads/2012/01/sentinel_envelope-300x231.png" alt="" width="300" height="231" /></a></p><p>Zaszyfrowane pliki aplikacji może odczytać <strong>jedynie zabezpieczona aplikacja</strong>, realizowane jest to poprzez system hooków na funkcje systemu plików na poziomie usera.</p><p>Jeśli aplikacja zostanie rozpakowana, dostęp do oryginalnej treści zaszyfrowanych plików będzie <strong>niemożliwy</strong> (brakuje tych hooków, które w locie deszyfrują dane).</p><p>Jak uzyskać zatem dostęp do oryginalnej treści zaszyfrowanych plików?</p><p>Należy do działającej i <strong>zabezpieczonej</strong> aplikacji wstrzyknąć kod, który wykorzysta jej funkcje systemu plików (na które nałożone są hooki HASPa) i po prostu zaemulować czytanie wybranych plików.</p><p>Najprościej można to zrealizować poprzez skrypt ODBScript:</p><div class="wp_syntax"><div class="code"><pre class="asm" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">; wolna przestrzen po sekcji kodu</span>
	<span style="color: #00007f; font-weight: bold;">mov</span>	dump_hasp<span style="color: #339933;">,</span>008864D5
&nbsp;
	<span style="color: #00007f; font-weight: bold;">mov</span>	eip<span style="color: #339933;">,</span>dump_hasp
	asmtxt	eip<span style="color: #339933;">,</span><span style="color: #7f007f;">&quot;dumper.asm&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">; alokuj 2 bufory na nazwe pliku wyjsciowego i wejsciowego</span>
	alloc	<span style="color: #0000ff;">512</span>
	<span style="color: #00007f; font-weight: bold;">mov</span>	input_file<span style="color: #339933;">,</span>$RESULT
	alloc	<span style="color: #0000ff;">512</span>
	<span style="color: #00007f; font-weight: bold;">mov</span>	output_file<span style="color: #339933;">,</span>$RESULT
&nbsp;
<span style="color: #666666; font-style: italic;">; zrzuc 1 plik</span>
	<span style="color: #00007f; font-weight: bold;">mov</span>	x<span style="color: #339933;">,</span> <span style="color: #7f007f;">&quot;C:\PATH\APP\DATA.DAT&quot;</span>
	<span style="color: #00007f; font-weight: bold;">call</span>	dump_file
&nbsp;
<span style="color: #666666; font-style: italic;">; zrzuc 2 plik</span>
	<span style="color: #00007f; font-weight: bold;">mov</span>	x<span style="color: #339933;">,</span> <span style="color: #7f007f;">&quot;C:\PATH\APP\CONFIG.DAT&quot;</span>
	<span style="color: #00007f; font-weight: bold;">call</span>	dump_file
&nbsp;
	<span style="color: #00007f; font-weight: bold;">ret</span>
&nbsp;
<span style="color: #666666; font-style: italic;">; funkcja do zrzucania zaszyfrowanych plikow</span>
dump_file<span style="color: #339933;">:</span>
&nbsp;
	fill	input_file<span style="color: #339933;">,</span> <span style="color: #0000ff;">512</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">0</span>
	<span style="color: #00007f; font-weight: bold;">mov</span>	<span style="color: #009900; font-weight: bold;">&#91;</span>input_file<span style="color: #009900; font-weight: bold;">&#93;</span><span style="color: #339933;">,</span> x
&nbsp;
<span style="color: #666666; font-style: italic;">; plik wyjsciowy bedzie posiadal rozszerzenie .x</span>
	<span style="color: #00007f; font-weight: bold;">add</span>	x<span style="color: #339933;">,</span> <span style="color: #7f007f;">&quot;.X&quot;</span>
	fill	output_file<span style="color: #339933;">,</span> <span style="color: #0000ff;">512</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">0</span>
	<span style="color: #00007f; font-weight: bold;">mov</span>	<span style="color: #009900; font-weight: bold;">&#91;</span>output_file<span style="color: #009900; font-weight: bold;">&#93;</span><span style="color: #339933;">,</span>x
&nbsp;
<span style="color: #666666; font-style: italic;">; ESI -&gt; sciezka pliku wejsciowego</span>
<span style="color: #666666; font-style: italic;">; EDI -&gt; sciezka pliku wyjsciowego</span>
	<span style="color: #00007f; font-weight: bold;">mov</span>	<span style="color: #00007f;">esi</span><span style="color: #339933;">,</span>input_file
	<span style="color: #00007f; font-weight: bold;">mov</span>	<span style="color: #00007f;">edi</span><span style="color: #339933;">,</span>output_file
&nbsp;
<span style="color: #666666; font-style: italic;">; ustaw EIP na adres procedury dumpujacej</span>
	<span style="color: #00007f; font-weight: bold;">mov</span>	eip<span style="color: #339933;">,</span>dump_hasp
&nbsp;
<span style="color: #666666; font-style: italic;">; exec ... ende za chiny nie dziala u mnie... inaczej bym tu dal call dump_hasp?</span>
<span style="color: #666666; font-style: italic;">; uruchom kod z biezacego EIP do napotkania instrukcji RET</span>
	rtr <span style="color: #666666; font-style: italic;">;run to return</span>
&nbsp;
	<span style="color: #00007f; font-weight: bold;">mov</span>	x<span style="color: #339933;">,</span> <span style="color: #7f007f;">&quot;&quot;</span>
&nbsp;
	<span style="color: #00007f; font-weight: bold;">ret</span></pre></div></div><p>Pomocniczy kod w assemblerze dla skryptu:</p><div class="wp_syntax"><div class="code"><pre class="asm" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</span>
<span style="color: #666666; font-style: italic;">;</span>
<span style="color: #666666; font-style: italic;">; odczytaj plik wejsciowy</span>
<span style="color: #666666; font-style: italic;">;</span>
<span style="color: #666666; font-style: italic;">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">; zapamietaj na stosie nazwe pliku wyjsciowego</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #00007f;">edi</span>
&nbsp;
<span style="color: #666666; font-style: italic;">; otworz plik wejsciowy</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">0</span>				<span style="color: #666666; font-style: italic;">; hTemplate</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">0</span>				<span style="color: #666666; font-style: italic;">; attribs</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">3</span> <span style="color: #666666; font-style: italic;">;OPEN_EXISTING		; creation</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">0</span>				<span style="color: #666666; font-style: italic;">; security</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">1</span>				<span style="color: #666666; font-style: italic;">; share mode</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">80000000</span> <span style="color: #666666; font-style: italic;">;GENERIC_READ</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #00007f;">esi</span>				<span style="color: #666666; font-style: italic;">; lpFileName</span>
	<span style="color: #00007f; font-weight: bold;">call</span>	<span style="color: #009900; font-weight: bold;">&#91;</span><span style="color: #0000ff;">0800004</span><span style="color: #009900; font-weight: bold;">&#93;</span> <span style="color: #666666; font-style: italic;">;CreateFileA</span>
	<span style="color: #00007f; font-weight: bold;">mov</span>	<span style="color: #00007f;">ebx</span><span style="color: #339933;">,</span><span style="color: #00007f;">eax</span>
&nbsp;
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">0</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #00007f;">ebx</span>				<span style="color: #666666; font-style: italic;">; hFile</span>
	<span style="color: #00007f; font-weight: bold;">call</span>	<span style="color: #009900; font-weight: bold;">&#91;</span><span style="color: #0000ff;">0800008</span><span style="color: #009900; font-weight: bold;">&#93;</span> <span style="color: #666666; font-style: italic;">;GetFileSize</span>
	<span style="color: #00007f; font-weight: bold;">mov</span>	<span style="color: #00007f;">edi</span><span style="color: #339933;">,</span><span style="color: #00007f;">eax</span>
&nbsp;
<span style="color: #666666; font-style: italic;">; zaalokuj pamiec do odczytania danych pliku wejsciowego</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">4</span> <span style="color: #666666; font-style: italic;">;PAGE_READWRITE</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">3000</span> <span style="color: #666666; font-style: italic;">;MEM_RESERVE or MEM_COMMIT</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #00007f;">edi</span>				<span style="color: #666666; font-style: italic;">; size</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">0</span>
	<span style="color: #00007f; font-weight: bold;">call</span>	VirtualAlloc
	<span style="color: #00007f; font-weight: bold;">mov</span>	<span style="color: #00007f;">esi</span><span style="color: #339933;">,</span><span style="color: #00007f;">eax</span>
&nbsp;
<span style="color: #666666; font-style: italic;">; czytaj plik wejsciowy korzystajac z hookowanych API</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">0</span>
	<span style="color: #00007f; font-weight: bold;">mov</span>	<span style="color: #00007f;">eax</span><span style="color: #339933;">,</span><span style="color: #00007f;">esp</span>
&nbsp;
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">0</span>				<span style="color: #666666; font-style: italic;">; dwOverlapped</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #00007f;">eax</span>				<span style="color: #666666; font-style: italic;">; &amp;dwRead</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #00007f;">edi</span>				<span style="color: #666666; font-style: italic;">; dwSize</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #00007f;">esi</span>				<span style="color: #666666; font-style: italic;">; lpBuffer</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #00007f;">ebx</span>				<span style="color: #666666; font-style: italic;">; hFile</span>
	<span style="color: #00007f; font-weight: bold;">call</span>	<span style="color: #009900; font-weight: bold;">&#91;</span><span style="color: #0000ff;">0800024</span><span style="color: #009900; font-weight: bold;">&#93;</span> <span style="color: #666666; font-style: italic;">;adres funkcji ReadFile w zabezpieczonym pliku</span>
&nbsp;
	<span style="color: #00007f; font-weight: bold;">pop</span>	<span style="color: #00007f;">edx</span>
&nbsp;
<span style="color: #666666; font-style: italic;">; zamknij plik wejsciowy</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #00007f;">ebx</span>
	<span style="color: #00007f; font-weight: bold;">call</span>	<span style="color: #009900; font-weight: bold;">&#91;</span><span style="color: #0000ff;">0800088</span><span style="color: #009900; font-weight: bold;">&#93;</span> <span style="color: #666666; font-style: italic;">;CloseHandle</span>
&nbsp;
<span style="color: #666666; font-style: italic;">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</span>
<span style="color: #666666; font-style: italic;">;</span>
<span style="color: #666666; font-style: italic;">; zapisz plik wyjsciowy</span>
<span style="color: #666666; font-style: italic;">;</span>
<span style="color: #666666; font-style: italic;">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">; zdejmij ze stosu nazwe pliku wyjsciowego (odszyfrowany)</span>
	<span style="color: #00007f; font-weight: bold;">pop</span>	<span style="color: #00007f;">eax</span>
&nbsp;
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">0</span>				<span style="color: #666666; font-style: italic;">; hTemplate</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">0</span>				<span style="color: #666666; font-style: italic;">; attribs</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">2</span> <span style="color: #666666; font-style: italic;">;CREATE_ALWAYS		; creation</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">0</span>				<span style="color: #666666; font-style: italic;">; security</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">0</span>				<span style="color: #666666; font-style: italic;">; share mode</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">40000000</span> <span style="color: #666666; font-style: italic;">;GENERIC_WRITE</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #00007f;">eax</span>				<span style="color: #666666; font-style: italic;">; lpFileName</span>
	<span style="color: #00007f; font-weight: bold;">call</span>	CreateFileA
	<span style="color: #00007f; font-weight: bold;">mov</span>	<span style="color: #00007f;">ebx</span><span style="color: #339933;">,</span><span style="color: #00007f;">eax</span>
&nbsp;
<span style="color: #666666; font-style: italic;">; zapisz odczytana tresc pliku wejsciowego</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">0</span>
	<span style="color: #00007f; font-weight: bold;">mov</span>	<span style="color: #00007f;">eax</span><span style="color: #339933;">,</span><span style="color: #00007f;">esp</span>
&nbsp;
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">0</span>				<span style="color: #666666; font-style: italic;">; overlapped</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #00007f;">eax</span>				<span style="color: #666666; font-style: italic;">; &amp;dwWritten</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #00007f;">edi</span>				<span style="color: #666666; font-style: italic;">; size</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #00007f;">esi</span>				<span style="color: #666666; font-style: italic;">; buffer</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #00007f;">ebx</span>
	<span style="color: #00007f; font-weight: bold;">call</span>	WriteFile
&nbsp;
	<span style="color: #00007f; font-weight: bold;">pop</span>	<span style="color: #00007f;">edx</span>
&nbsp;
<span style="color: #666666; font-style: italic;">; zamknij plik wyjsciowy</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #00007f;">ebx</span>
	<span style="color: #00007f; font-weight: bold;">call</span>	CloseHandle
&nbsp;
<span style="color: #666666; font-style: italic;">; zwolnij pamiec</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">8000</span> <span style="color: #666666; font-style: italic;">;MEM_RELEASE</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #0000ff;">0</span>
	<span style="color: #00007f; font-weight: bold;">push</span>	<span style="color: #00007f;">esi</span>
	<span style="color: #00007f; font-weight: bold;">call</span>	VirtualFree
&nbsp;
	<span style="color: #00007f; font-weight: bold;">ret</span></pre></div></div><p>Przedstawiona technika pozwala z łatwością odczytać wszystkie zaszyfrowane pliki.</p> ]]></content:encoded> <wfw:commentRss>http://www.secnews.pl/2012/01/27/datahasp/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>.netshrink v2.1 &#8211; kompresor i DLL binder dla aplikacji .NET</title><link>http://www.secnews.pl/2012/01/21/netshrink-v2-1-kompresor-i-dll-binder-dla-aplikacji-dotnet/</link> <comments>http://www.secnews.pl/2012/01/21/netshrink-v2-1-kompresor-i-dll-binder-dla-aplikacji-dotnet/#comments</comments> <pubDate>Sat, 21 Jan 2012 14:53:48 +0000</pubDate> <dc:creator>bartek</dc:creator> <category><![CDATA[C#]]></category> <category><![CDATA[Narzędzia]]></category> <category><![CDATA[Programowanie]]></category> <category><![CDATA[Reversing]]></category> <category><![CDATA[.netshrink]]></category> <category><![CDATA[dll binder]]></category> <category><![CDATA[dotnete]]></category> <category><![CDATA[exe-packer]]></category><guid isPermaLink="false">http://www.secnews.pl/?p=1201</guid> <description><![CDATA[.netshrink v2.1 Właśnie ukazała się nowa wersja mojego małego narzędzia do kompresji aplikacji .NET. .netshrink to kompresor (tzw. exe-packer)  aplikacji .NET-owych, wykorzystujący kompresję LZMA. DLL Binder W nowej wersji została dodana opcja dołączania bibliotek dynamicznych DLL do aplikacji, dzięki czemu można swoją aplikację i jej pomocnicze biblioteki skompresować do pojedynczego pliku wykonywalnego. Wykrywanie narzędzi do łamania [...]]]></description> <content:encoded><![CDATA[<h1>.netshrink v2.1</h1><p>Właśnie ukazała się nowa wersja mojego małego narzędzia do <strong>kompresji aplikacji .NET</strong>.</p><p><strong><a href="http://www.pelock.com/products/netshrink">.netshrink</a></strong> to kompresor (tzw. <em>exe-packer</em>)  aplikacji .NET-owych, wykorzystujący kompresję LZMA.</p><h2>DLL Binder</h2><p>W nowej wersji została dodana opcja <strong>dołączania bibliotek dynamicznych DLL</strong> do aplikacji, dzięki czemu można swoją aplikację i jej pomocnicze biblioteki <strong>skompresować do pojedynczego pliku wykonywalnego</strong>.</p><p><img title="Scalanie aplikacji i jej bibliotek do jednego pliku" src="http://www.secnews.pl/wp-content/uploads/2012/01/netshrink_dll_binder.png" alt="" width="357" height="324" /></p><h2>Wykrywanie narzędzi do łamania aplikacji</h2><p>Zaktualizowana wersja pozwala również skompresowanym aplikacjom na <strong>wykrywanie popularnych narzędzi do łamania i rozpakowywania</strong> oprogramowania poprzez stałe monitorowanie systemu na ich obecność, w razie ich wykrycia, <strong>skompresowana aplikacja zostanie zamknięta</strong>.</p><h2>Ochrona na hasło</h2><p>.netshrink pozwala także na zaszyfrowanie aplikacji hasłem, bez poprawnego hasła nie można uruchomić skompresowanej aplikacji. Zabezpieczenie na hasło wykorzystuje weryfikację bazującą na funkcji skrótu <strong>SHA256</strong> i szyfrowanie danych algorytmem <strong>AES / Rijndael</strong> z kluczem 256 bitowym bazującym na wartości hash z hasła.</p><p><a href="http://www.secnews.pl/wp-content/uploads/2012/01/netshrink_main.png"><img class="alignright size-full wp-image-1202" title=".netshrink kompresor i DLL binder dla aplikacji .NET" src="http://www.secnews.pl/wp-content/uploads/2012/01/netshrink_main.png" alt=".netshrink kompresor i DLL binder dla aplikacji .NET" width="541" height="618" /></a></p><p>Nowości obejmują także:</p><ul><li>tworzenie <strong>kopii zapasowej</strong> kompresowanych aplikacji</li><li>tworzenie skryptu wsadowego .BAT pozwalającego na <strong>szybkie przywrócenie</strong> oryginalnego pliku z kopii zapasowej</li><li><strong>zachowywanie oryginalnych atrybutów</strong> kompresowanego assembly (nazwa aplikacji, dane firmy etc.)</li></ul><p>Strona domowa:<br /> <a href="http://www.pelock.com/products/netshrink">http://www.pelock.com/products/netshrink</a></p><p>Wersje demonstracyjną można ściągnąć z:</p><p>Setup:<br /> <a href="http://www.pelock.com/download.php?f=netshrink.exe">http://www.pelock.com/download.php?f=netshrink.exe</a> (692 kB)</p><p>Archiwum zip:<br /> <a href="http://www.pelock.com/download.php?f=netshrink.exe">http://www.pelock.com/download.php?f=netshrink.exe</a> (405 kB)</p> ]]></content:encoded> <wfw:commentRss>http://www.secnews.pl/2012/01/21/netshrink-v2-1-kompresor-i-dll-binder-dla-aplikacji-dotnet/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Hexedytor HIEW v8.21</title><link>http://www.secnews.pl/2011/12/06/hexedytor-hiew-v8-21/</link> <comments>http://www.secnews.pl/2011/12/06/hexedytor-hiew-v8-21/#comments</comments> <pubDate>Tue, 06 Dec 2011 10:13:32 +0000</pubDate> <dc:creator>bartek</dc:creator> <category><![CDATA[Narzędzia]]></category> <category><![CDATA[Reversing]]></category> <category><![CDATA[hexedytor]]></category> <category><![CDATA[hiew]]></category><guid isPermaLink="false">http://www.secnews.pl/?p=1182</guid> <description><![CDATA[HIEW Ukazała się nowa wersja hexedytora HIEW, doszło parę fixów w obsłudze uszkodzonych plików PE oraz poprawki w disassemblingu, jednak warte odnotowania jest dodanie przeglądania zasobów plików PE, co dostępne jest poprzez F8 -&#62; F12 Wersja demonstracyjna dostępna na: http://www.hiew.ru/files/hiew821.zip]]></description> <content:encoded><![CDATA[<h1>HIEW</h1><p>Ukazała się nowa wersja <strong>hexedytora HIEW</strong>, doszło parę fixów w obsłudze uszkodzonych plików PE oraz poprawki w disassemblingu, jednak warte odnotowania jest dodanie <strong>przeglądania zasobów plików PE</strong>, co dostępne jest poprzez F8 -&gt; F12</p><p><a href="http://www.secnews.pl/wp-content/uploads/2011/12/hiew821.png"><img class="alignnone size-medium wp-image-1183" title="HIEW v8.21" src="http://www.secnews.pl/wp-content/uploads/2011/12/hiew821-300x152.png" alt="" width="300" height="152" /></a></p><p>Wersja demonstracyjna dostępna na:</p><div><a href="http://www.hiew.ru/files/hiew821.zip">http://www.hiew.ru/files/hiew821.zip</a></div> ]]></content:encoded> <wfw:commentRss>http://www.secnews.pl/2011/12/06/hexedytor-hiew-v8-21/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Reverse engineering na IRCu</title><link>http://www.secnews.pl/2011/12/04/reverse-engineering-na-ircu/</link> <comments>http://www.secnews.pl/2011/12/04/reverse-engineering-na-ircu/#comments</comments> <pubDate>Sun, 04 Dec 2011 21:29:36 +0000</pubDate> <dc:creator>bartek</dc:creator> <category><![CDATA[Reversing]]></category> <category><![CDATA[irc]]></category> <category><![CDATA[reverse engineering]]></category><guid isPermaLink="false">http://www.secnews.pl/?p=1172</guid> <description><![CDATA[Reverse engineering Wszystkich zainteresowanych tematami związanymi z zagadnieniami reverse engineeringu polecamy kanał na IRCu: #crackscene Jak to zrobić? Wystarczy: ściągnąć klienta IRC-a, np. mIRC ze strony www.mirc.com połączyć się z serwerem polska.irc.pl wpisać komendę /join #crackscene Prosimy o: przedstawienie się nie zadawanie pytań &#8220;gdzie znajdę cracka do xxx&#8221; (autoban) kulturalne zachowanie (w przeciwnym wypadku leci [...]]]></description> <content:encoded><![CDATA[<h1>Reverse engineering</h1><p>Wszystkich zainteresowanych tematami związanymi z zagadnieniami <strong>reverse engineeringu</strong> polecamy kanał na <a href="http://en.wikipedia.org/wiki/Internet_Relay_Chat">IRCu</a>:</p><h1><span style="color: #333399;">#crackscene</span></h1><p>Jak to zrobić? Wystarczy:</p><ul><li>ściągnąć klienta IRC-a, np. <strong>mIRC</strong> ze strony <a href="http://www.mirc.com">www.mirc.com</a></li><li>połączyć się z serwerem <strong>polska.irc.pl</strong></li><li>wpisać komendę <strong>/join #crackscene</strong></li></ul><p>Prosimy o:</p><ul><li>przedstawienie się</li><li>nie zadawanie pytań &#8220;gdzie znajdę cracka do xxx&#8221; (autoban)</li><li>kulturalne zachowanie (w przeciwnym wypadku leci ban)</li></ul><p>Zapewniamy:</p><ul><li>konsultacje z zakresu reverse engineeringu (w miarę możliwości)</li><li>informacje o narzędziach do RE:</li><li>dyskusje o nowościach anime</li><li>porady sercowe <img src='http://www.secnews.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></li></ul><p>W razie trybu <strong>invite only</strong>, należy poprosić o zaproszenie na kanał, wydając komendę /query i poprosić wybranego operatora kanału o zaproszenie, uprzednio przedstawiając się:</p><ul><li>/query<strong> ReWolf</strong></li><li>/query <strong>krzywy_</strong></li><li>/query <strong>ved</strong></li><li>/query<strong> cauchy</strong></li><li>Przybywajcie <img src='http://www.secnews.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></li></ul> ]]></content:encoded> <wfw:commentRss>http://www.secnews.pl/2011/12/04/reverse-engineering-na-ircu/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Hex Workshop ehh</title><link>http://www.secnews.pl/2011/12/02/hex-workshop-ehh/</link> <comments>http://www.secnews.pl/2011/12/02/hex-workshop-ehh/#comments</comments> <pubDate>Fri, 02 Dec 2011 10:35:34 +0000</pubDate> <dc:creator>bartek</dc:creator> <category><![CDATA[Inne]]></category> <category><![CDATA[Narzędzia]]></category> <category><![CDATA[Reversing]]></category> <category><![CDATA[Rozrywka]]></category> <category><![CDATA[hex workshop]]></category><guid isPermaLink="false">http://www.secnews.pl/?p=1161</guid> <description><![CDATA[Ja się pytam, do czego edytorowi Hex Workshop potrzebny jest restart po instalacji! Głupota ludzka chyba osiągnęła apogeum (nigdy bym takich skomplikowanych słów nie używał, ale ręce mi opadają)&#8230; Nie byłbym sobą jakbym tego nie sprawdził — zainstalował sobie menu kontekstowe dla shella, no dobra ale nie żyjemy w czasach Windows 3.11 i takie operacje [...]]]></description> <content:encoded><![CDATA[<p>Ja się pytam, do czego edytorowi <strong>Hex Workshop</strong> potrzebny jest restart po instalacji!</p><p><a href="http://www.secnews.pl/wp-content/uploads/2011/12/hexworkshop.png"><img class="alignnone size-full wp-image-1162" title="Hex Workshop" src="http://www.secnews.pl/wp-content/uploads/2011/12/hexworkshop.png" alt="" width="366" height="165" /></a><span></span></p><p>Głupota ludzka chyba osiągnęła <strong>apogeum</strong> (nigdy bym takich skomplikowanych słów nie używał, ale ręce mi opadają)&#8230;</p><p>Nie byłbym sobą jakbym tego nie sprawdził — zainstalował sobie menu kontekstowe dla shella, no dobra ale nie żyjemy w czasach Windows 3.11 i takie operacje nie wymagają restartu,  przypomnij sobie kiedy restartowałeś komputer po instalacji np. WinRara, który również wrzuca menu kontekstowe — nigdy!</p> ]]></content:encoded> <wfw:commentRss>http://www.secnews.pl/2011/12/02/hex-workshop-ehh/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Praca w ArcaBit</title><link>http://www.secnews.pl/2011/11/24/praca-w-arcabit/</link> <comments>http://www.secnews.pl/2011/11/24/praca-w-arcabit/#comments</comments> <pubDate>Thu, 24 Nov 2011 21:04:59 +0000</pubDate> <dc:creator>bartek</dc:creator> <category><![CDATA[Artykuły]]></category> <category><![CDATA[Praca]]></category> <category><![CDATA[Reversing]]></category> <category><![CDATA[antywirus]]></category> <category><![CDATA[ArcaBit]]></category> <category><![CDATA[ArcaVir]]></category><guid isPermaLink="false">http://www.secnews.pl/?p=1131</guid> <description><![CDATA[ArcaBit to polski producent oprogramowania antywirusowego ArcaVir, wywodzący się z MksVir-a. Całą smutną historię rozdzielenia się części pracowników i utworzenia ArcaVir oraz o późniejszych wielu sporach moża przeczytać na forach obu firm oraz na portalu DobreProgramy.pl. Dzisiaj ciekawe opinie o pracy w tej firmie znalazłem na forum 4programmers, a docelowo znajdują się na portalu o pracy [...]]]></description> <content:encoded><![CDATA[<p><strong><a href="http://www.arcabit.pl/"><img class="alignright size-full wp-image-1133" title="ArcaVir" src="http://www.secnews.pl/wp-content/uploads/2011/11/arcavir.png" alt="" width="48" height="219" /></a>ArcaBit</strong> to polski producent <strong>oprogramowania antywirusowego ArcaVir</strong>, wywodzący się z <strong>MksVir-a</strong>. Całą <em>smutną</em> historię rozdzielenia się części pracowników i utworzenia ArcaVir oraz o późniejszych wielu sporach moża przeczytać na forach obu firm oraz na portalu <a href="http://www.dobreprogramy.pl/MKS-vs-ArcaBit,Aktualnosc,2942.html">DobreProgramy.pl</a>.</p><p>Dzisiaj ciekawe opinie o pracy w tej firmie znalazłem na forum <a href="http://forum.4programmers.net/Off-Topic/182952-co_sie_dzieje_w_firmie_arcabit">4programmers</a>, a docelowo znajdują się na portalu o pracy GoWork, jeden z ciekawszych cytatów:</p><blockquote><p>Właściciele mają samochody za kilkaset tysięcy [każdy] a w biurze nie ma nawet sprzątaczki.<br /> Jest biuro na parterze i tam ludzie mają grafik, kto i kiedy sprząta [myje podłogi, odkurza i czyści kible - tak kible]. Biuro na piętrze jest sprzątane przez Panią W. [odkurzanie, mucie naczyń, kurze i kible]. Warto nadmienić że Pani W. jest szefową biura a mimo wszystko w godzinach pracy w elegandzkim stroju &#8211; sprząta.<br /> Najlepsza było przyjęcie wigilijne &#8211; było owszem ciasto i Cola i &#8230;.. no niestety nic więcej nie było.<br /> Okropne dziadostwo</p></blockquote><p>Oryginalny wpis:</p><p><a href="http://www.gowork.pl/opinie_czytaj2,33733,0,0">http://www.gowork.pl/opinie_czytaj2,33733,0,0</a></p><p><em>PS.<br /> Dzisiaj wyszedł news o upadłości firmy MKS, R.I.P gorszego <strong>dziadostwa</strong> antywirusowego nie widziałem, jeszcze w czasach wersji DOS-owej skasował mi połowę exeków z dysku, a w czasach Windowsa nie chcieli ze mną nawet rozmawiać o false-positivach w moich pierwszych exe-pakerach.</em></p> ]]></content:encoded> <wfw:commentRss>http://www.secnews.pl/2011/11/24/praca-w-arcabit/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Narzędzia do analizy aplikacji .NET</title><link>http://www.secnews.pl/2011/11/17/narzedzia-do-analizy-aplikacji-net/</link> <comments>http://www.secnews.pl/2011/11/17/narzedzia-do-analizy-aplikacji-net/#comments</comments> <pubDate>Thu, 17 Nov 2011 12:24:05 +0000</pubDate> <dc:creator>bartek</dc:creator> <category><![CDATA[Artykuły]]></category> <category><![CDATA[Narzędzia]]></category> <category><![CDATA[Reversing]]></category> <category><![CDATA[.net]]></category> <category><![CDATA[dotnet]]></category> <category><![CDATA[tools]]></category><guid isPermaLink="false">http://www.secnews.pl/?p=1070</guid> <description><![CDATA[Analiza aplikacji .NET Zestaw narzędzi do analizy .NET-owych aplikacji znacznie różni się od klasycznych narzędzi dla zwykłych aplikacji x86 / x64, odmienna architektura kodu wymusiła utworzenie całej gamy dedykowanych narzędzi dla plików wykonywalnych .NET, spróbuję przedstawić kilka z nich, które mogą się przydać w reversingu. Dekompilacja kodu Pierwszym i podstawowym narzędziem, które chyba zna większość osób zajmujących [...]]]></description> <content:encoded><![CDATA[<h1>Analiza aplikacji .NET</h1><p><img class="alignright size-full wp-image-1111" title=".NET" src="http://www.secnews.pl/wp-content/uploads/2011/11/dotnet.png" alt="" width="75" height="72" />Zestaw narzędzi do analizy .NET-owych aplikacji znacznie <strong>różni się</strong> od klasycznych narzędzi dla zwykłych aplikacji x86 / x64, odmienna architektura kodu wymusiła utworzenie całej gamy <strong>dedykowanych narzędzi</strong> dla plików wykonywalnych .NET, spróbuję przedstawić kilka z nich, które mogą się przydać w reversingu.</p><h2>Dekompilacja kodu</h2><p>Pierwszym i <strong>podstawowym</strong> narzędziem, które chyba zna większość osób zajmujących się analizą oprogramowania i nie tylko jest dekompilator <strong>.NET Reflector</strong>.</p><h3>.NET Reflector</h3><p><a href="http://www.secnews.pl/wp-content/uploads/2011/11/reflector.png"><img class="alignnone size-medium wp-image-1073" title=".NET Reflector" src="http://www.secnews.pl/wp-content/uploads/2011/11/reflector-300x217.png" alt=".NET Reflector" width="300" height="217" /></a></p><p>Pozwala on na dekompilację plików wykonywalnych z formatu kodu przejściowego CIL (<a href="http://en.wikipedia.org/wiki/Common_Intermediate_Language">Common Intermediate Language</a>) do kodu wysokiego poziomu w wybranym lub ulubionym przez nas języku np. C#, VB# etc.</p><p>Jest to <strong>najbardziej znany dekompilator</strong> i nie tylko, gdyż dzięki całej <strong>masie wtyczek</strong> umożliwia np. modyfikację plików binarnych (wtyczka <a href="http://reflexil.net/">Reflexil</a>), debugowanie aplikacji (wtyczka <a href="http://deblector.codeplex.com/">Deblector</a>) i wiele innych czynności związanych z analizą kodu.</p><p>Ostatnio .NET Reflector stracił na popularności, gdyż projekt od początku istnienia <strong>był darmowy</strong>, jednak po przejęciu go przez firmę <a href="http://www.red-gate.com/">Red Gate Software</a> (notabene twórców obfuscatora <em>SmartAssembly</em>, z czego można wysnuć teorię spiskową, że chcieli ograniczyć dostęp do jednego z najpopularniejszych narzędzi do analizy aplikacji) i początkowych zapewnień o utrzymaniu jego darmowego statusu, po jakimś czasie został przekształcony w komercyjną wersję, z najtańszą licencją za 35 USD. W Internecie można jednak znaleźć złamane kopie jak również całkowicie zrekompilowane (wraz ze źródłami), bardziej odporne na narzędzia zabezpieczające.</p><p>Strona domowa — <a href="http://www.reflector.net/">www.reflector.net</a></p><p>Lista wtyczek  — <a href="http://reflectoraddins.codeplex.com/">http://reflectoraddins.codeplex.com/</a></p><h3>IL DASM</h3><p>Warto wspomnieć również o tym narzędziu, chociaż z mojego doświadczenia wynika, że jest ono raczej <strong>mało używane</strong>, to deasembler dla .NET-owych binariów firmy Microsoft dołączany do SDK .NET-a oraz dostarczany wraz z Visual Studio.</p><p><a href="http://www.secnews.pl/wp-content/uploads/2011/11/ildasm1.png"><img class="alignnone size-medium wp-image-1075" title="ID DASM" src="http://www.secnews.pl/wp-content/uploads/2011/11/ildasm1-300x209.png" alt="" width="300" height="209" /></a></p><p>Pozwala on na przeglądanie struktury pliku oraz deasembling do kodu przejściowego w związku z czym nie jest tak poręczny w analizie jak .NET Reflector.</p><p><a href="http://www.secnews.pl/wp-content/uploads/2011/11/ildasm2.png"><img class="alignnone size-medium wp-image-1076" title="IL DASM" src="http://www.secnews.pl/wp-content/uploads/2011/11/ildasm2-300x187.png" alt="IL DASM" width="300" height="187" /></a></p><h3>Simple Assembly Explorer</h3><p>Jest to kolejny deasembler i edytor jednak już bardziej zaawansowany od IL DASM-a, posiadający <strong>masę opcji</strong>, pozwalających na łatwą modyfikację kodu IL, kopiowanie instrukcji, wycinanie, wszystko bardzo poręcznie skonstruowane, od jakiegoś czasu jest to mój faworyt jeśli chodzi o modyfikację .NET-owych plików binarnych.</p><p><a href="http://www.secnews.pl/wp-content/uploads/2011/11/sae1.png"><img class="alignnone size-medium wp-image-1078" title="Simple Assembly Explorer" src="http://www.secnews.pl/wp-content/uploads/2011/11/sae1-300x225.png" alt="Simple Assembly Explorer" width="300" height="225" /></a></p><p>SAE posiada system wtyczek oraz wbudowany <strong>deobfuscator</strong>, który może przydać się w analizie zabezpieczonych aplikacji.</p><p><a href="http://www.secnews.pl/wp-content/uploads/2011/11/sae2.png"><img class="alignnone size-medium wp-image-1079" title="Simple Assembly Explorer Deobfuscator" src="http://www.secnews.pl/wp-content/uploads/2011/11/sae2-300x186.png" alt="Simple Assembly Explorer Deobfuscator" width="300" height="186" /></a></p><p>Jeśli chcesz nauczyć się podstaw programowania w IL, zmodyfikować szybko i sprawnie binaria to jest to idealne narzędzie.</p><p>Strona domowa — <a href="http://code.google.com/p/simple-assembly-explorer/">http://code.google.com/p/simple-assembly-explorer/</a></p><h3>Dis#</h3><p>Dis# to stosunkowo mało znany dekompilator, być może ze względu na to, że to komercyjne narzędzie, projekt dawno nie był aktualizowany, ale może być traktowany jako ciekawostka, gdyż posiada kilka interesujących cech jak wbudowany deobfuscator, edytor kodu pozwalający w prosty sposób zamieniać nazwy funkcji, zmiennych etc.</p><p><a href="http://www.secnews.pl/wp-content/uploads/2011/11/dis.png"><img class="alignnone size-medium wp-image-1093" title="Dekompilator Dis#" src="http://www.secnews.pl/wp-content/uploads/2011/11/dis-300x217.png" alt="Dekompilator Dis#" width="300" height="217" /></a></p><p>Strona domowa — <a href="http://netdecompiler.com">http://netdecompiler.com</a></p><h2>Debuggery</h2><p>Z moich obserwacji i doświadczeń wynika, że większość analiz związanych z .NET da się rozwiązać statycznie (w przeciwieństwie do natywnych aplikacji), jednak i tutaj może przydać się prześledzenie wykonywanego kodu.</p><h3>Dotnet IL Editor (DILE)</h3><p>Dile to prosty w obsłudze debugger dla .NET-owych aplikacji, troszkę przypomina debugger z Visual Studio.</p><p><a href="http://www.secnews.pl/wp-content/uploads/2011/11/dile.png"><img class="alignnone size-medium wp-image-1107" title="DILE" src="http://www.secnews.pl/wp-content/uploads/2011/11/dile-300x186.png" alt="DILE" width="300" height="186" /></a></p><p>Strona domowa <a href="http://sourceforge.net/projects/dile/">http://sourceforge.net/projects/dile/</a></p><h2>Identyfikatory</h2><p>Dla aplikacji natywnych podstawowym identyfikatorem jest <a href="http://www.peid.info/">PEiD</a> oraz częściej uaktualniany <a href="http://pid.gamecopyworld.com/">Protection ID</a> (oraz kilka innych), dla .NET powstał odpowiednik PEiD o nazwie <strong>DNiD</strong>.</p><p><a href="http://www.secnews.pl/wp-content/uploads/2011/11/dnid.png"><img class="alignnone size-medium wp-image-1081" title="Identyfikator DNiD" src="http://www.secnews.pl/wp-content/uploads/2011/11/dnid-300x130.png" alt="Identyfikator DNiD" width="300" height="130" /></a></p><p><span>Wykrywa on obecnie większość stosowanych zabezpieczeń stosowanych dla aplikacji .NET-owych.</span> <span>Do ściągnięcia lokalna kopia  — <a href="http://www.secnews.pl/wp-content/uploads/2011/11/DNiD.v0.11-Rue.rar">DNiD.v0.11-Rue.rar</a> (384 kB)</span></p><h2>Dumpery</h2><p>Aplikacje .NET-owe obecnie <strong>rzadko</strong> rozprowadzane są w <strong>czystej formie</strong> po kompilacji, gdyż dzięki narzędziom takim jak .NET Reflector jest to praktyczne równoznaczne z rozprowadzaniem <strong>open source</strong> i większości wypadków do zabezpieczania używane są <strong>obfuscatory</strong>.</p><p>Część obfuscatorów oprócz modyfikacji kodu IL, całość aplikacji <em>&#8220;opakowuje&#8221;</em> w kod ładujący (z ang. loader) w <strong>formacie natywnym</strong> (x86), który zwykle deszyfruje całe .NET-owe assembly i dopiero w odszyfrowanej formie <strong>ładuje je do pamięci</strong>.</p><p>Taka forma zabezpieczenia nie pozwala na używanie narzędzi .NET-owych i wymagane jest najpierw <strong>zrzucenie z pamięci</strong> załadowanych assembly .NET-owych w celu dalszej analizy.</p><h3>.NET Generic Unpacker</h3><p>Projekt autorstwa <strong>Daniela Pistelli</strong> (obecnie pracujący nad IDA w HexRays), generyczny jak nazwa wskazuje dumper, który potrafi wykryć w pamięci obraz pliku wykonywalnego .NET mimo zewnętrznego natywnego loadera.</p><p><a href="http://www.secnews.pl/wp-content/uploads/2011/11/NETUnpack.jpg"><img class="alignnone size-medium wp-image-1084" title=".NET Generic Unpacker" src="http://www.secnews.pl/wp-content/uploads/2011/11/NETUnpack-300x148.jpg" alt=".NET Generic Unpacker" width="300" height="148" /></a></p><p>Strona domowa —  <a href="http://www.ntcore.com/netunpack.php">http://www.ntcore.com/netunpack.php</a></p><h3>DotNetDumper</h3><p>Prosty w użyciu dumper, który również posiada obsługę zrzucania z pamięci plików kilku rodzajów zabezpieczeń, generalnie z tymi dwoma dumperami można sobie poradzić z większością zabezpieczeń natywnych.</p><p><a href="http://www.secnews.pl/wp-content/uploads/2011/11/dotnetdumper.png"><img class="alignnone size-medium wp-image-1086" title="DotNet Dumper" src="http://www.secnews.pl/wp-content/uploads/2011/11/dotnetdumper-300x92.png" alt="DotNet Dumper" width="300" height="92" /></a></p><p>Do ściągnięcia lokalna kopia  — <a href="http://www.secnews.pl/wp-content/uploads/2011/11/DotnetDumper.zip">DotnetDumper.zip</a> (66 kB)</p><p>Oprócz dedykowanych dumperów, równie dobrze działają klasyczne metody przeszukiwania pamięci np. w OllyDbg w poszukiwaniu sygnatur .NET-owych aplikacji (np. stringów <em>&#8220;_CorExeMain&#8221;</em>).</p><h2>Fixery</h2><p>Po zrzuceniu z pamięci obrazu pliku .NET jest on <strong>często niezdatny do analizy</strong> w narzędziach takich jak .NET Reflector, wynika to ze zmian jakie wprowadzają najczęściej obfuscatory, aby dodatkowo utrudnić analizę. Tak zrzucone obrazy plików należy naprawić.</p><h3>Universal Fixer</h3><p><a href="http://www.secnews.pl/wp-content/uploads/2011/11/universalfixer.png"><img class="alignnone size-medium wp-image-1103" title="Universal Fixer" src="http://www.secnews.pl/wp-content/uploads/2011/11/universalfixer-259x300.png" alt="Universal Fixer" width="259" height="300" /></a></p><p>Do ściągnięcia lokalna kopia  — <a href="http://www.secnews.pl/wp-content/uploads/2011/11/Universal_Fixer.zip">Universal_Fixer.zip</a> (31 kB)</p><p>Zawsze aktualna kopia — <a href="http://forum.tuts4you.com/topic/25376-universal-fixer/" class="broken_link">http://forum.tuts4you.com/topic/25376-universal-fixer/</a></p><h2>Deobfuscatory</h2><p>Liczba obfuscatorów dostępnych na rynku jest <strong>ogromna</strong>, mogę śmiało powiedzieć, że przebija ilość dostępnych narzędzi zabezpieczających dla natywnych aplikacji. W związku z tak zmasowanym atakiem, powstały deobfuscatory dla wielu narzędzi, często zintegrowane i obsługujące wiele rodzajów zabezpieczeń.</p><h3>de4dot</h3><p><a href="https://github.com/0xd4d/de4dot#readme">de4dot</a> to aktywnie rozwijany deobfuscator obsługujący sporą listę zabezpieczeń, podstawa jeśli ktoś myśli poważnie o analizie oprogramowania .NET</p><p><a href="http://www.secnews.pl/wp-content/uploads/2011/11/de4dot.png"><img class="alignnone size-medium wp-image-1097" title="Deobfuscator de4dot" src="http://www.secnews.pl/wp-content/uploads/2011/11/de4dot-300x288.png" alt="Deobfuscator de4dot" width="300" height="288" /></a></p><p>Do ściągnięcia ze strony —  <a href="https://github.com/0xd4d/de4dot/downloads">https://github.com/0xd4d/de4dot/downloads</a></p><h2>Podsumowanie</h2><p>Obecny stan zabezpieczeń .NET-owych może <strong>z początku przerazić</strong> i zniechęcić do dalszej analizy, ale jak widać istnieje wiele narzędzi, które potrafią <strong>ułatwić nam życie</strong>.</p><p>Celowo nie opisywałem tutaj gotowych unpakerów, które można z łatwością znaleźć samemu, gdyż nie zawsze sprawdzają się w działaniu i warto wtedy wiedzieć jak sobie poradzić bez ich pomocy.</p><p>Jeśli natknę się na jakieś ciekawe narzędzie to dopiszę je do artykułu, a jeśli wy <strong>znacie coś interesującego</strong> do analizy aplikacji .NET — opiszcie w komentarzach, a ja to przejrzę i z chęcią dodam opis do artykułu.</p><p>Na koniec jeszcze kilka linków, gdzie można znaleźć narzędzia do analizy .NET-owych aplikacji:</p><p>BlackStorm — <a href="http://portal.b-at-s.net/download.php?list.9">http://portal.b-at-s.net/download.php?list.9</a></p><p>RCE Tool Library — <a href="http://www.woodmann.com/collaborative/tools/index.php/Category:.NET_Tools">http://www.woodmann.com/collaborative/tools/index.php/Category:.NET_Tools</a></p> ]]></content:encoded> <wfw:commentRss>http://www.secnews.pl/2011/11/17/narzedzia-do-analizy-aplikacji-net/feed/</wfw:commentRss> <slash:comments>8</slash:comments> </item> <item><title>Rozwiązania konkursu Pimp My Crackme</title><link>http://www.secnews.pl/2011/07/01/rozwiazania-konkursu-pimp-my-crackme/</link> <comments>http://www.secnews.pl/2011/07/01/rozwiazania-konkursu-pimp-my-crackme/#comments</comments> <pubDate>Fri, 01 Jul 2011 21:57:06 +0000</pubDate> <dc:creator>bartek</dc:creator> <category><![CDATA[Reversing]]></category> <category><![CDATA[crackme]]></category> <category><![CDATA[konkurs]]></category> <category><![CDATA[pimp my crackme]]></category><guid isPermaLink="false">http://www.secnews.pl/?p=1048</guid> <description><![CDATA[Zgodnie z obietnicą, trochę spóźnioną, ale zawsze, publikuję opisy i rozwiązania wszystkich CrackMe z konkursu Pimp My Crackme. SecurityNews &#8211; Pimp My Crackme (Solutions + Sources).zip W międzyczasie powstało rozwiązanie oraz częściowy opis mechanizmu CrackMe j00ru na jego blogu. Pozostałe CrackMe nie zostały od czasu ich opublikowania rozwiązane.]]></description> <content:encoded><![CDATA[<p><img class="alignright size-full wp-image-1049" title="Find" src="http://www.secnews.pl/wp-content/uploads/2011/07/find.png" alt="" width="128" height="128" />Zgodnie z obietnicą, trochę spóźnioną, ale zawsze, publikuję opisy i rozwiązania wszystkich CrackMe z konkursu <a href="http://www.secnews.pl/2011/04/28/konkurs-pimp-my-crackme/">Pimp My Crackme</a>.</p><p><a href="http://www.secnews.pl/wp-content/uploads/2011/07/SecurityNews%20-%20Pimp%20My%20Crackme%20(Solutions%20+%20Sources).zip">SecurityNews &#8211; Pimp My Crackme (Solutions + Sources).zip</a></p><p>W międzyczasie powstało <a href="http://gdtr.wordpress.com/2011/06/24/solving-pimp-crackme-by-j00ru-and-gynvael-coldwind/">rozwiązanie</a> oraz częściowy opis mechanizmu <a href="http://j00ru.vexillium.org/?p=866">CrackMe j00ru na jego blogu</a>.</p><p>Pozostałe CrackMe nie zostały od czasu ich opublikowania rozwiązane.</p> ]]></content:encoded> <wfw:commentRss>http://www.secnews.pl/2011/07/01/rozwiazania-konkursu-pimp-my-crackme/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>IDA Pro v6.1</title><link>http://www.secnews.pl/2011/06/28/ida-pro-v61/</link> <comments>http://www.secnews.pl/2011/06/28/ida-pro-v61/#comments</comments> <pubDate>Mon, 27 Jun 2011 22:20:25 +0000</pubDate> <dc:creator>bartek</dc:creator> <category><![CDATA[Narzędzia]]></category> <category><![CDATA[Reversing]]></category> <category><![CDATA[deasembler]]></category> <category><![CDATA[decompiler]]></category> <category><![CDATA[hex-rays]]></category> <category><![CDATA[ida]]></category><guid isPermaLink="false">http://www.secnews.pl/?p=1044</guid> <description><![CDATA[Wyciekła najnowsza wersja deasemblera IDA Pro v6.1, biorąc pod uwagę popularność tego narzędzia i ścisłe metody weryfikacji potencjalnych klientów przed zakupem, należy to i tak uznać za sukces, gdyż ostatni wyciek miał miejsce ponad rok temu. Szczegóły sprawy na: http://forum.exetools.com/showthread.php?t=13428]]></description> <content:encoded><![CDATA[<p><a href="http://www.hex-rays.com/"><img class="alignright size-full wp-image-1045" title="IDA Pro" src="http://www.secnews.pl/wp-content/uploads/2011/06/ida61.png" alt="" width="96" height="96" /></a>Wyciekła najnowsza wersja deasemblera <strong>IDA Pro v6.1</strong>, biorąc pod uwagę popularność tego narzędzia i ścisłe metody weryfikacji potencjalnych klientów przed zakupem, należy to i tak uznać za sukces, gdyż ostatni <em>wyciek</em> miał miejsce ponad rok temu.</p><p>Szczegóły sprawy na:<br /> <a href="http://forum.exetools.com/showthread.php?t=13428 ">http://forum.exetools.com/showthread.php?t=13428 </a></p><div id="__ImgTipPopup__" style="position: fixed; z-index: 1000000; display: none; box-shadow: 2px 2px 15px; background-color: #ffffff; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; opacity: 0.5; padding: 0px; border: 1px solid #000000;"><img alt="" /></div> ]]></content:encoded> <wfw:commentRss>http://www.secnews.pl/2011/06/28/ida-pro-v61/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> </channel> </rss>
