<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Michael Jay Lissner</title><link href="https://michaeljaylissner.com/" rel="alternate"></link><link href="https://michaeljaylissner.com/feeds/tag/microsoft" rel="self"></link><id>https://michaeljaylissner.com/</id><updated>2008-09-26T20:34:31-07:00</updated><entry><title>The Argument for Encryption, and Why Vista Is Irresponsible</title><link href="https://michaeljaylissner.com/posts/2008/09/26/the-argument-for-encryption-and-why-vista-is-irresponsible/" rel="alternate"></link><updated>2008-09-26T20:34:31-07:00</updated><author><name>Mike Lissner</name></author><id>tag:michaeljaylissner.com,2008-09-26:posts/2008/09/26/the-argument-for-encryption-and-why-vista-is-irresponsible/</id><summary type="html">&lt;p&gt;We all agree that security is necessary for our data, but we all fall down when it comes to implementation. An example that I keep returning to is the need for encryption. I posted a few days ago about how Yahoo! doesn&amp;#8217;t encrypt their email, allowing a sophisticated hacker to intercept any message to or from your&amp;nbsp;account. &lt;/p&gt;
&lt;p&gt;Today, I encountered my password in plain text in a configuration file that is easily accessible to anybody that gains physical access to my computer. The guilty program is the Pidgin &lt;span class="caps"&gt;IM&lt;/span&gt; client (&lt;a href="http://developer.pidgin.im/ticket/5872"&gt;bug filed here&lt;/a&gt;), which stores login and password information in an &lt;span class="caps"&gt;XML&lt;/span&gt; file in your home directory. I&amp;#8217;ve seen files of this sort a number of times, and for some reason programmers keep using this&amp;nbsp;technique.&lt;/p&gt;
&lt;p&gt;Most people believe that if they have confidential information in their computers, and if they use a password on their computer, they&amp;#8217;ll be &lt;span class="caps"&gt;OK&lt;/span&gt;. Nobody will be able to get past the password. While that isn&amp;#8217;t entirely true (most passwords are easily broken), the thing to remember is that once a hard drive is removed from a computer, any of the data on it can be accessed &amp;#8212; without the password. So, so long as programmers keep using this technique, sensitive data will still be out&amp;nbsp;there.&lt;/p&gt;
&lt;p&gt;The easiest solution to this problem is to encrypt your entire hard disk at all times. That way, even if your hard disk is removed from your computer, all the data is jumbled anyway. Ubuntu released this feature back in April, and Microsoft released this feature with the release of Vista. Unfortunately though, to receive encryption on your Vista installation, you have to buy Vista Ultimate, which costs $120 more than the Home version (&lt;a href="http://www.microsoft.com/windows/windows-vista/compare-editions/default.aspx"&gt;at a cool $320!&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;As we trust more and more data on our computers, is this irresponsible product engineering? Absolutely. It costs Microsoft no more money to put encryption on all versions. Unfortunately though, they make more money by charging for&amp;nbsp;it. &lt;/p&gt;</summary><category term="microsoft"></category><category term="security"></category><category term="vista"></category><category term="pidgin"></category></entry><entry><title>On DRM and the Darknet</title><link href="https://michaeljaylissner.com/posts/2008/09/15/on-drm-and-the-darknet/" rel="alternate"></link><updated>2008-09-15T21:09:43-07:00</updated><author><name>Mike Lissner</name></author><id>tag:michaeljaylissner.com,2008-09-15:posts/2008/09/15/on-drm-and-the-darknet/</id><summary type="html">&lt;p&gt;I just read &lt;a href="http://www.google.com/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fcrypto.stanford.edu%2FDRM2002%2Fdarknet5.doc&amp;ei=VTLPSLfdG5m0sQOo1ciIBw&amp;usg=AFQjCNHZkIYjxy6LnWvUSt6kGrZ3SYLMZQ&amp;sig2=hz865qMKNfakTgDi4sUVpA"&gt;an 
interesting paper&lt;/a&gt; written by some Microsoft engineers on the subject of 
the futures of darknets and illicit file sharing on the&amp;nbsp;Internet. &lt;/p&gt;
&lt;p&gt;Pretty interesting&amp;nbsp;stuff:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#8230;the darknet will be a competitor to legal commerce. From the point of 
view of economic theory, this has profound implications for business strategy: 
for example, increased security (e.g. stronger &lt;span class="caps"&gt;DRM&lt;/span&gt; systems) may act as a
disincentive to legal commerce. Consider an &lt;span class="caps"&gt;MP3&lt;/span&gt; file sold on a web site: this 
costs money, but the purchased object is as useful as a version acquired from 
the darknet. However, a securely &lt;span class="caps"&gt;DRM&lt;/span&gt;-wrapped song is strictly less attractive: 
although the industry is striving for flexible licensing rules, customers will 
be restricted in their actions if the system is to provide meaningful&amp;nbsp;security.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It seems so obvious, yet&amp;#8230;this paper was written several years&amp;nbsp;ago. &lt;/p&gt;</summary><category term="microsoft"></category><category term="DRM"></category><category term="darknet"></category></entry><entry><title>Create a List of Formulas from Excel Files</title><link href="https://michaeljaylissner.com/posts/2008/05/22/create-a-list-of-formulas-from-excel-files/" rel="alternate"></link><updated>2008-05-22T12:16:59-07:00</updated><author><name>Mike Lissner</name></author><id>tag:michaeljaylissner.com,2008-05-22:posts/2008/05/22/create-a-list-of-formulas-from-excel-files/</id><summary type="html">&lt;p&gt;I have begun training a replacement at work, and I need to teach him all of 
the excel formulas that we use in our department documents. I started making a 
list of all the formulas, but my mind quickly went blank, and I decided I 
needed a way to automate&amp;nbsp;it. &lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s the technique I figured out. Open each of the files that you believe 
has useful formulas in it, and go to File &amp;gt; Save as&amp;#8230; Save each document into 
an empty directory as xml spreadsheets (.xml). If you open one of these 
documents in a text editor, you are likely to see a line something like the&amp;nbsp;following: &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;Cell&lt;/span&gt; &lt;span class="na"&gt;ss:Formula=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;=SUM(C:C[1])&amp;quot;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;Data&lt;/span&gt; &lt;span class="na"&gt;ss:Type=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Number&amp;quot;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;0&lt;span class="nt"&gt;&amp;lt;/Data&amp;gt;&amp;lt;/Cell&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;The key is that each row in your new xml documents that contains a formula 
will have the formula keyword, so to isolate these, run the following on a 
Unix computer in the directory where you saved all the xml&amp;nbsp;documents.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;grep &lt;span class="s1"&gt;&amp;#39;Formula=&amp;#39;&lt;/span&gt; *.xml | sort | uniq &amp;gt; uniqLinesWithFormulas.txt
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;That will create a file called uniqLinesWithFormulas.txt that will contain 
each line from all of your &lt;code&gt;.xml&lt;/code&gt; files that contains a formula. From there, 
you can skim them visually for useful formulas, or put the file into Excel 
again and play with it there. This was as far as I needed to go in my 
analysis. Once I had this done, it was pretty easy to see the 30 or so 
formulas I regularly&amp;nbsp;use.&lt;/p&gt;</summary><category term="microsoft"></category><category term="excel"></category></entry><entry><title>Remap Caps Lock as Backspace in Windows and Linux</title><link href="https://michaeljaylissner.com/posts/2008/04/29/remap-caps-lock-as-backspace/" rel="alternate"></link><updated>2008-04-29T21:33:41-07:00</updated><author><name>Mike Lissner</name></author><id>tag:michaeljaylissner.com,2008-04-29:posts/2008/04/29/remap-caps-lock-as-backspace/</id><summary type="html">
&lt;p&gt;A while back my wrist started hurting from reaching for the cursed backspace
key. I was making too many mistakes. My solution was to remap the caps 
lock key on all the computers I use to act as an additional backspace key.
How did I do it? Well, I’m glad you asked. I’ll tell you.&lt;/p&gt;
&lt;h2 id="in-windows"&gt;In Windows&lt;/h2&gt;
&lt;p&gt;&lt;span class="caps"&gt;EDIT&lt;/span&gt;: I noticed that the picture doesn’t have all the detail you need. The 
easier way to do this, is to download &lt;a href="https://michaeljaylissner.com/archive/scancode.reg"&gt;this registry key&lt;/a&gt; post, 
and to right click it, selecting merge. After that, restart the computer, and 
you should be all set.&lt;/p&gt;
&lt;p&gt;To remap the caps lock to function as a backspace key in Windows, 
one must edit the registry keys. To do that, go to &lt;code&gt;Start &amp;gt; Run...&lt;/code&gt;, 
and type in &lt;code&gt;regedit&lt;/code&gt;. In the editor that opens up, navigate to the key shown
in the picture below, and create a new key named Scancode Map of the type 
&lt;code&gt;REG_BINARY&lt;/code&gt;. Give it the value shown in the picture, restart, 
and you’re set. If things get wacky, delete the key and try again.&lt;/p&gt;
&lt;p&gt;&lt;img alt="No alt" src="https://michaeljaylissner.com/images/Windows Registry Remap Screenshot.jpg"/&gt;&lt;/p&gt;
&lt;h2 id="in-ubuntu"&gt;In Ubuntu&lt;/h2&gt;
&lt;h3 id="for-versions-newer-than-1410"&gt;For versions newer than 14.10&lt;/h3&gt;
&lt;p&gt;This can easily be done using the Ubuntu Tweak tool. Simply open it up, go to the section on &lt;code&gt;Typing&lt;/code&gt;, and then reconfigure the CapsLock key.&lt;/p&gt;
&lt;h3 id="for-versions-prior-to-ubuntu-1410"&gt;For versions prior to Ubuntu 14.10&lt;/h3&gt;
&lt;p&gt;I have tested the following in all versions between Ubuntu 7.04 and 14.04. Start 
by opening a terminal, and running the xev program. Once that is running, 
press the caps lock key, and it will tell you the numerical value of that key. 
For example, my output from that command looks like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="n"&gt;mlissner&lt;/span&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;opal2&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;xev&lt;/span&gt;
&lt;span class="n"&gt;KeyPress&lt;/span&gt; &lt;span class="n"&gt;event&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;serial&lt;/span&gt; &lt;span class="mi"&gt;28&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;synthetic&lt;/span&gt; &lt;span class="n"&gt;NO&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="mh"&gt;0x4800001&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="n"&gt;root&lt;/span&gt; &lt;span class="mh"&gt;0x59&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;subw&lt;/span&gt; &lt;span class="mh"&gt;0x0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt; &lt;span class="mi"&gt;2775892&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;373&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;636&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;root&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;376&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;685&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="n"&gt;state&lt;/span&gt; &lt;span class="mh"&gt;0x0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="n"&gt;keycode&lt;/span&gt; &lt;span class="mi"&gt;66&lt;/span&gt;&lt;span class="o"&gt;**&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;keysym&lt;/span&gt; &lt;span class="mh"&gt;0xff08&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Caps_Lock&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;same_screen&lt;/span&gt; &lt;span class="n"&gt;YES&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="n"&gt;XKeysymToKeycode&lt;/span&gt; &lt;span class="n"&gt;returns&lt;/span&gt; &lt;span class="n"&gt;keycode&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;22&lt;/span&gt;
&lt;span class="n"&gt;XLookupString&lt;/span&gt; &lt;span class="n"&gt;gives&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="n"&gt;bytes&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;08&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="s"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;XmbLookupString&lt;/span&gt; &lt;span class="n"&gt;gives&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="n"&gt;bytes&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;08&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="s"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;XFilterEvent&lt;/span&gt; &lt;span class="n"&gt;returns&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;False&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;In there, you will see the keycode for the capslock key, in my case, number 
&lt;code&gt;66&lt;/code&gt;. Using that, create a file in your home directory called .Xmodmap, and put 
the following in it:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="o"&gt;!&lt;/span&gt;
&lt;span class="o"&gt;!&lt;/span&gt; &lt;span class="n"&gt;Make&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;caps&lt;/span&gt; &lt;span class="n"&gt;lock&lt;/span&gt; &lt;span class="n"&gt;button&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;backspace&lt;/span&gt; &lt;span class="n"&gt;button&lt;/span&gt;
&lt;span class="o"&gt;!&lt;/span&gt;
&lt;span class="n"&gt;remove&lt;/span&gt; &lt;span class="n"&gt;Lock&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Caps_Lock&lt;/span&gt;
&lt;span class="n"&gt;keycode&lt;/span&gt; &lt;span class="mi"&gt;66&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;BackSpace&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Once that is done, the next time you log in, your caps lock will function as a 
backspace. The only remaining problem is that it still does not have the 
auto-repeat function that backspace should have. To fix that, run:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="n"&gt;xset&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="mi"&gt;66&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;That will make things work properly, but you need to run that every time you 
log in, or else it won’t work properly. To fix that run:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;gedit&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;etc&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;X11&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;Xsession&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="n"&gt;x11&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;common_determine&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;startup&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;And add &lt;code&gt;xset r 66&lt;/code&gt; to the bottom.&lt;/p&gt;
&lt;p&gt;That should do it.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=369402"&gt;Source&lt;/a&gt;&lt;/p&gt;</summary><category term="windows"></category><category term="ubuntu"></category><category term="microsoft"></category><category term="Linux"></category></entry><entry><title>Bypass Form Protection in MS Word</title><link href="https://michaeljaylissner.com/posts/2008/04/18/bypass-form-protections-in-microsoft-word/" rel="alternate"></link><updated>2008-04-18T10:13:22-07:00</updated><author><name>Mike Lissner</name></author><id>tag:michaeljaylissner.com,2008-04-18:posts/2008/04/18/bypass-form-protections-in-microsoft-word/</id><summary type="html">&lt;p&gt;I recently had the occasion to need to get around the form protection in an 
&lt;span class="caps"&gt;MS&lt;/span&gt; Word file. Turns out it&amp;#8217;s a pretty easy exploit, but the directions I 
found elsewhere on the internet didn&amp;#8217;t quite do the&amp;nbsp;job. &lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s the&amp;nbsp;trick:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the protected document, and save it as an .html&amp;nbsp;file.&lt;/li&gt;
&lt;li&gt;Close the .doc file, and open the .html file in a text editor such as notepad or &lt;span class="caps"&gt;GVIM&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;In the .html file, find a tag that says something like: &amp;#8220;&amp;lt;w:UnprotectPassword&amp;gt;&lt;span class="caps"&gt;ABCDEF01&lt;/span&gt;&amp;lt;/w:UnprotectPassword&amp;gt;&amp;#8221;&lt;/li&gt;
&lt;li&gt;Replace each of the characters in the tag with zeroes so it reads: &lt;code&gt;&amp;lt;
w:UnprotectPassword&amp;gt;00000000&amp;lt;/w:UnprotectPassword&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Open the .html file in Word, and save it as a .doc. Go to Tools &amp;gt; Unprotect&amp;nbsp;Document&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;That should do it. I&amp;#8217;d love to hear any evidence to the&amp;nbsp;contrary. &lt;/p&gt;</summary><category term="microsoft"></category><category term="msword"></category><category term="hacking"></category></entry><entry><title>The incredible size of XP</title><link href="https://michaeljaylissner.com/posts/2008/01/03/the-incredible-size-of-xp/" rel="alternate"></link><updated>2008-01-03T23:39:33-08:00</updated><author><name>Mike Lissner</name></author><id>tag:michaeljaylissner.com,2008-01-03:posts/2008/01/03/the-incredible-size-of-xp/</id><summary type="html">&lt;p&gt;I have been playing with virtualization these past few days, and I installed Windows &lt;span class="caps"&gt;XP&lt;/span&gt;, Windows 98 and Fedora 6. It&amp;#8217;s been an interesting experience, but I am shocked at the size of &lt;span class="caps"&gt;XP&lt;/span&gt;. After installing it, updating it, installing Firefox and &lt;span class="caps"&gt;AVG&lt;/span&gt; antivirus, it is 5.&lt;span class="caps"&gt;13GB&lt;/span&gt; in size!&amp;nbsp;Incredible. &lt;/p&gt;
&lt;p&gt;Compare that to Fedora 6, which weighs in at 2.&lt;span class="caps"&gt;57GB&lt;/span&gt; (with server and programming software), or - hilariously - with Windows 98 at &lt;span class="caps"&gt;230MB&lt;/span&gt; (roughly a 20th of &lt;span class="caps"&gt;XP&lt;/span&gt;). &lt;/p&gt;
&lt;p&gt;I knew &lt;span class="caps"&gt;XP&lt;/span&gt; was big, but that&amp;#8217;s quite something. Something else that was quite interesting is that it took nearly as long to install 98 despite its puny size. I&amp;#8217;m baffled as to how it took so long, but I&amp;#8217;m guessing it had something to do with multiple processors, which I&amp;#8217;m sure it doesn&amp;#8217;t&amp;nbsp;support.&lt;/p&gt;</summary><category term="microsoft"></category><category term="virtualization"></category></entry></feed>