<?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>Tara Andrei &#187; hacks</title>
	<atom:link href="http://www.andreitara.com/category/hacks/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.andreitara.com</link>
	<description>a developer&#039;s blog</description>
	<lastBuildDate>Sun, 18 Jul 2010 17:46:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Interoperabilitate intre  Matlab si C++</title>
		<link>http://www.andreitara.com/2009/11/interoperabilitate-matlab-c/</link>
		<comments>http://www.andreitara.com/2009/11/interoperabilitate-matlab-c/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 21:21:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programare]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[matlab]]></category>
		<category><![CDATA[matlab and c++]]></category>

		<guid isPermaLink="false">http://www.andreitara.com/?p=189</guid>
		<description><![CDATA[
Cu siguranta ca nu este o noutate pentru nimeni notiunea de cross compilare(sau daca este&#8230;corss compilare=compilare pentru o masina cu o arhitectura diferita de cea pe care ruleaza compilatorul ) sau intreoperabilitate (in doua cuvinte&#8230;proces prin care se utilizeaza cod scris in limbaje diferite).
Daca cross compilarea  este un process destul de banal, daca ai [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">
<div class="wp-caption alignleft" style="width: 153px"><img title="matlab logo" src="http://www.rose-hulman.edu/mathprograms/scicomp/MA490SciComputing/matlab_logo.gif" alt="matlab" width="143" height="107" /><p class="wp-caption-text">matlab</p></div>
<p>Cu siguranta ca nu este o noutate pentru nimeni notiunea de cross compilare(sau daca este&#8230;corss compilare=compilare pentru o masina cu o arhitectura diferita de cea pe care ruleaza compilatorul ) sau intreoperabilitate (in doua cuvinte&#8230;proces prin care se utilizeaza cod scris in limbaje diferite).</p>
<p style="text-align: left;">Daca cross compilarea  este un process destul de banal, daca ai la indemana uneltele necesare,in sensul ca totul se face &#8220;din mouse&#8221;. In cazul interoperabilitatii trebuie totusi si ceva cunostinte mai avansate de modul de oparare al limbajelor implicate (ca de ex. conversii de apel ) dar trebuie mentionat ca  se poate si metoda mai simpla folosiund asa numitul &#8220;limbaj neutru&#8221; sau cu alte cuvinte prin dll-uri.</p>
<p style="text-align: left;">Se poate exporta codul sub forma unor functii intr-un fiser .dll , acesta putand fi importat si folosit in orce limbaj care este capabil sa incarce un dll.Ca si un exmplu, sa zicem, extrem se poate incarca un dll pana si in PHP.  Dar o sa insist asupra unui exemplu si mai extrem adica folosirea codului din MATLAB in C++ si invers.</p>
<p style="text-align: left;">Daca in cazul C++-ului asi putea sa dau o definitie scurta, ei bine, in cazul MATLAB-ului imi este destul de greu deoarece acesta este un adevarat mamut computational ce stie sa faca cam de toate in ce priveste calculul de matematica si inginerie..ca si un exemplu care sa ilustreze forta sa se poate rezolva o integrala in 2 linii de cod&#8230; destul de impresionant daca ne gandim la agoritmii din c++ ce rezolva o integrala in cele mai 1000 de linii de cod &#8230;dar nu despre asta este vorba.</p>
<p style="text-align: left;">Pentru a exporta un fiser .m (fiser de cod matlab) se foloseste mcc-ul , un fel de compilator de c,c++,fortran de matlab.</p>
<blockquote>
<p style="text-align: left;">mcc -m -B sgl name of function.m</p>
</blockquote>
<p style="text-align: left;">codul de mai sus transforma un fiser de cod matlab intr-un fiser executabil (.exe)&#8230;se poate exporta ca si fisere de librarie (.dll sau .lib) precum urmeaza:</p>
<blockquote>
<p style="text-align: left;">mcc -t -W lib:name of function lib -L C -T link:lib -h libmwsglm.mlib<br />
libmmfile.mlib name of function.m</p></blockquote>
<p style="text-align: left;">acest cod generaza:  name of function lib.dll,  name of function lib.lib, name of function lib.h</p>
<p style="text-align: left;">Prin acest post vreau cumva sa demonstrez faptul a fi bun programator nu inseamna a stii &#8220;perfect&#8221; un singur limbaj de programare ci mai de graba de a gasi solutia cea mai eficienta folosind toate limbajele disponibile.</p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://www.andreitara.com/2009/11/interoperabilitate-matlab-c/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Reveal password</title>
		<link>http://www.andreitara.com/2008/12/58/</link>
		<comments>http://www.andreitara.com/2008/12/58/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 14:10:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programare]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[parole]]></category>
		<category><![CDATA[password revealer]]></category>

		<guid isPermaLink="false">http://www.andreitara.com/?p=58</guid>
		<description><![CDATA[Pentru astazi va propun un mic tutorial in care o sa va arat cum se &#8216;dezvaluie&#8217; un string dintr-un input de pe orice forumlar care este mascat..ma refer la campurile acelea in care se introduce parola.
Ideia de baza este una foarte simpla tot ce trebuie sa facem este sa luam fiecare proces in  parte [...]]]></description>
			<content:encoded><![CDATA[<p>Pentru astazi va propun un mic tutorial in care o sa va arat cum se &#8216;dezvaluie&#8217; un string dintr-un input de pe orice forumlar care este mascat..ma refer la campurile acelea in care se introduce parola.<br />
Ideia de baza este una foarte simpla tot ce trebuie sa facem este sa luam fiecare proces in  parte si daca acesta contine un fomular ce are campuri mascate atunci le dezvaluim( trimitem un mesaj catre componenta pentru a reseta carcaterul de masca).Haideti sa aruncam o privire la cod, am incercat sa ma folosesc doar de WinAPI pentru a evita eventualele dependente de platforme sau mai stiu eu ce.</p>
<p>//declarare functii<br />
BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam);<br />
BOOL CALLBACK EnumWindowsProc2(HWND hwnd,LPARAM lParam);</p>
<p>//functia principala<br />
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,<br />
LPSTR lpCmdLine, int nCmdShow)<br />
{<br />
EnumWindows(EnumWindowsProc,0);<br />
return 0;<br />
}</p>
<p>BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam)<br />
{<br />
// se &#8216;enumereaza&#8217; toate procesele ce contin ferstre<br />
EnumChildWindows(hwnd,EnumWindowsProc2,lParam);<br />
return TRUE;<br />
}</p>
<p>BOOL CALLBACK EnumWindowsProc2(HWND hwnd,LPARAM)<br />
{<br />
//se reseteaza caracterul de masca pentru input-ul de parola<br />
::SendMessage(hwnd,EM_SETPASSWORDCHAR,0,0);<br />
InvalidateRect(hwnd,NULL,FALSE);<br />
return TRUE;<br />
}</p>
<p>Iata o demonstratie:</p>
<p><a href="http://www.andreitara.com/wp-content/uploads/2008/12/ss1.jpg"><img class="alignnone size-medium wp-image-60" title="ss1" src="http://www.andreitara.com/wp-content/uploads/2008/12/ss1.jpg" alt="" width="222" height="81" /></a><a href="http://www.andreitara.com/wp-content/uploads/2008/12/ss2.jpg"><br />
<img class="alignnone size-medium wp-image-61" title="ss2" src="http://www.andreitara.com/wp-content/uploads/2008/12/ss2.jpg" alt="" width="234" height="70" /></a></p>
<p>Singura remarca care s-ar putea face este ca programul nu functioneaza pentru procesele care contin formulare ierarhizate pe mai mult de 2 nivele. Acest neajuns se poate rezolva printr-o tehnica mult mai avansata ,care cere anumite cunostiinte destul de serioase despre sistemul de operare, si anume DLL injection, tehnica pe care sper sa am timp sa o abordez ceva mai pe larg in masura in care timpul mi-o permite si mai ales daca sunt cititori intersati <img src='http://www.andreitara.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreitara.com/2008/12/58/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
