<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-35893388</id><updated>2011-04-21T16:35:52.587-07:00</updated><category term='Advisory'/><title type='text'>Amish's blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://amishshah.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35893388/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://amishshah.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Amish shah</name><uri>http://www.blogger.com/profile/07601967931168482606</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-35893388.post-2489636827242623438</id><published>2007-08-20T23:27:00.000-07:00</published><updated>2007-08-20T23:42:57.066-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Advisory'/><title type='text'>Cross Site Scripting(XSS) on research.microsoft.com</title><content type='html'>Cross Site Scripting Vulnerability on &lt;a href="http://research.microsoft.com/"&gt;http://research.microsoft.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="Default" style="line-height: 16.4pt;"&gt;&lt;b&gt;&lt;span style=""&gt;URL: &lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(0, 0, 0);font-size:11;" &gt;&lt;a href="http://reserach.microsoft.com/search/search.aspx"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;http://reserach.microsoft.com/search/search.aspx&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default" style="line-height: 16.4pt;"&gt;&lt;b&gt;&lt;span style=""&gt;OS: &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11;"&gt;Windows XP SP2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default" style="line-height: 16.4pt;"&gt;&lt;b&gt;&lt;span style=""&gt;Browsers:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11;"&gt; Internet Explorer 6.0, Firefox 2.0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default" style="line-height: 16.4pt;"&gt;&lt;b&gt;&lt;span style=""&gt;Severity:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11;"&gt; High&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35893388-2489636827242623438?l=amishshah.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amishshah.blogspot.com/feeds/2489636827242623438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35893388&amp;postID=2489636827242623438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35893388/posts/default/2489636827242623438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35893388/posts/default/2489636827242623438'/><link rel='alternate' type='text/html' href='http://amishshah.blogspot.com/2007/08/cross-site-scriptingxss-on.html' title='Cross Site Scripting(XSS) on research.microsoft.com'/><author><name>Amish shah</name><uri>http://www.blogger.com/profile/07601967931168482606</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35893388.post-116324870705661264</id><published>2006-11-11T04:16:00.000-08:00</published><updated>2006-11-11T04:38:28.006-08:00</updated><title type='text'>Subject: "MyBand is Your Band" band object msdn sample unregister problem</title><content type='html'>if you want to create toolbar/explorer bar in the internet explorer, you have to play with the band objects. MSDN very well explains band object but if you want to study and understand then Paul has written very good article &lt;br /&gt;&lt;br /&gt;"MyBand is Your Band: More Reusable MFC Goodies with Band Objects and COMToys" by Paul DiLascia in November 1999. you can find this at msdn site,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/msj/1199/bandobj/bandobj.aspx"&gt;http://www.microsoft.com/msj/1199/bandobj/bandobj.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;on the xp machine, I found problem while unregistring. it gave me error, and so i couldn't unregister. then i debug the problem and I found issue. &lt;br /&gt;&lt;br /&gt;Microsoft provides ICatRegister COM interface to register CATID_InfoBand and CATID_CommBand. With the use of RegisterClassImplCategories and UnRegisterClassImplCategories functions of ICatRegister you&lt;br /&gt;can easily register both the band objects into Internet Explorer registry contexts. The code is also using this interface. Now the problem is code deletes both key tree first and then unregister band object, which fails this UnRegisterClassImplCategories function and return false. if you change sequence, it works fine, here is modified code of UpdateRegistry function,&lt;br /&gt;&lt;br /&gt;BOOL CBandObjFactory::UpdateRegistry(BOOL bRegister)&lt;br /&gt;{&lt;br /&gt; BOTRACEFN(_T("CBandObjFactory(%p)::UpdateRegistry(%d)\n"), this, bRegister);&lt;br /&gt;&lt;br /&gt; static const LPOLESTR RT_REGISTRY = OLESTR("REGISTRY");&lt;br /&gt; UINT nID = GetResourceID();&lt;br /&gt; if (nID==0)&lt;br /&gt;  return TRUE;&lt;br /&gt;&lt;br /&gt; if (!::FindResource(AfxGetResourceHandle(),&lt;br /&gt;  MAKEINTRESOURCE(nID), CString(RT_REGISTRY)))&lt;br /&gt;  return FALSE;&lt;br /&gt;&lt;br /&gt; // initialize registry variables&lt;br /&gt; CTRegistrar iReg;&lt;br /&gt; OnInitRegistryVariables(iReg);&lt;br /&gt;&lt;br /&gt; // register/unregister script&lt;br /&gt; CString s;&lt;br /&gt; ::GetModuleFileName(AfxGetInstanceHandle(),&lt;br /&gt;  s.GetBuffer(_MAX_PATH), _MAX_PATH);&lt;br /&gt;&lt;br /&gt; USES_CONVERSION;&lt;br /&gt; LPOLESTR lposModuleName = T2OLE(s);&lt;br /&gt; TRACE("sModuleName=%s\n",OLE2T(lposModuleName));&lt;br /&gt;&lt;br /&gt; HRESULT hr = bRegister ?&lt;br /&gt;  iReg-&gt;ResourceRegister(lposModuleName, nID, RT_REGISTRY) :&lt;br /&gt;  iReg-&gt;ResourceUnregister(lposModuleName, nID, RT_REGISTRY);&lt;br /&gt; if (!SUCCEEDED(hr)) {&lt;br /&gt;  TRACE(_T("*** CBandObj:: error %s loading registry script"),DbgName(hr));&lt;br /&gt;  return FALSE;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; // register/unregister categories using ICatRegister&lt;br /&gt; CTCatRegister iCat;&lt;br /&gt; REFIID clsid = m_clsid;&lt;br /&gt; hr = bRegister ?&lt;br /&gt;  iCat-&gt;RegisterClassImplCategories(clsid, 1, &amp;m_catid) :&lt;br /&gt;  iCat-&gt;UnRegisterClassImplCategories(clsid, 1, &amp;m_catid);&lt;br /&gt; if (!SUCCEEDED(hr)) {&lt;br /&gt;  TRACE(_T("*** CBandObj:: error %s registering categoriy"),DbgName(hr));&lt;br /&gt;  return FALSE;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;   /* change sequence, previously it was before ICatRegister code */&lt;br /&gt; if (bRegister==FALSE) {&lt;br /&gt;  // IRegistrar doesn't always delete top-level key right, so delete it&lt;br /&gt;  CString sClsid;&lt;br /&gt;  sClsid = StringFromCLSID(m_clsid);&lt;br /&gt;  if (!sClsid.IsEmpty()) { // for extra-safety! don't delete CLSID !!&lt;br /&gt;   CString sKey;&lt;br /&gt;   sKey.Format(_T("CLSID\\%s"), (LPCTSTR)sClsid);&lt;br /&gt;   AfxGetApp()-&gt;DelRegTree(HKEY_CLASSES_ROOT, sKey);&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; return SUCCEEDED(hr); // return, bypassing MFC/COleObjectFactory&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Since this code has written in 1999, it was working fine on NT and 98, however i have not checked on 98 or NT. Paul has created really a good framework.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35893388-116324870705661264?l=amishshah.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amishshah.blogspot.com/feeds/116324870705661264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35893388&amp;postID=116324870705661264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35893388/posts/default/116324870705661264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35893388/posts/default/116324870705661264'/><link rel='alternate' type='text/html' href='http://amishshah.blogspot.com/2006/11/subject-myband-is-your-band-band.html' title='Subject: &quot;MyBand is Your Band&quot; band object msdn sample unregister problem'/><author><name>Amish shah</name><uri>http://www.blogger.com/profile/07601967931168482606</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35893388.post-116324591751731901</id><published>2006-11-11T03:26:00.000-08:00</published><updated>2006-11-11T03:51:57.570-08:00</updated><title type='text'>How to set REG_BINARY data by registrar scripts</title><content type='html'>The ATL Registrar provides IRegistrar COM interface to access system registry. The Registrar is free-threaded and allows static linking of code for C++ clients. User&lt;br /&gt;has to create .rgs file using BNF Syntax. The BNF Syntax is very well explain in the MSDN. I don't find any example for binary data, so here is the sample script to add/modify binary data in registry&lt;br /&gt;&lt;br /&gt;This creates test key under HKLM\Software key. Then it crates&lt;br /&gt;Foo variable with REG_BINARY value 0x23, aka 23 00 00 00 00 00 00 00&lt;br /&gt;&lt;br /&gt;HKLM&lt;br /&gt;{&lt;br /&gt; NoRemove Software&lt;br /&gt; {&lt;br /&gt;    Remove 'test' = s ''&lt;br /&gt;    {    &lt;br /&gt;     val Foo = b '2300000000000000'&lt;br /&gt;      }&lt;br /&gt; }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35893388-116324591751731901?l=amishshah.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amishshah.blogspot.com/feeds/116324591751731901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35893388&amp;postID=116324591751731901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35893388/posts/default/116324591751731901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35893388/posts/default/116324591751731901'/><link rel='alternate' type='text/html' href='http://amishshah.blogspot.com/2006/11/how-to-set-regbinary-data-by-registrar.html' title='How to set REG_BINARY data by registrar scripts'/><author><name>Amish shah</name><uri>http://www.blogger.com/profile/07601967931168482606</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35893388.post-116063096496138872</id><published>2006-10-11T22:26:00.000-07:00</published><updated>2006-11-11T03:25:23.583-08:00</updated><title type='text'>just created, comeback soon..</title><content type='html'>I've just created. Soon upload some good nuts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35893388-116063096496138872?l=amishshah.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amishshah.blogspot.com/feeds/116063096496138872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35893388&amp;postID=116063096496138872' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35893388/posts/default/116063096496138872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35893388/posts/default/116063096496138872'/><link rel='alternate' type='text/html' href='http://amishshah.blogspot.com/2006/10/just-created-comeback-soon.html' title='just created, comeback soon..'/><author><name>Amish shah</name><uri>http://www.blogger.com/profile/07601967931168482606</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
