Thursday, February 21, 2008

When I woke up this morning I had a vb webservice that was convinced it needed an app.manifest file.  When I attempted to build the project I would receive

Error    120    Error embedding Win32 manifest: Manifest File 'c:\Development\\My Project\app.manifest' cannot be found.    ProjectName.

After my Google searches turned up no love, I performed an indepth inspection of the ProjectName.vbproj file.  Some how an ApplicationManifest node was added to the PropertyGroup node.  After removing the <ApplicationManifest>My Project\app.manifest</ApplicationManifest> node I was once again able to build my web service project.

posted by Aaron Fischer on Thursday, February 21, 2008 11:36:11 AM (Pacific Standard Time, UTC-08:00)   #    Comments [0]
 Tuesday, February 19, 2008

"Online Fraud Threats Show Constant Evolution" provides the perfect example of why you can't regulate software security solutions. The criminals adapt (we are dealing with professionals now.

RSA observes that emerging threats, multi-channel fraud and exploitation of unprotected applications are among the latest patterns and trends this year.

Further more this software has become a business, complete with software subscription plans.

Crimeware is also on the rise—apparently so much so that crimeware developers are even offering upgrade packages to buyers in the fraudster underground. When crimeware becomes detectable by anti-virus providers, developers will deliver a new ‘undetectable’ variant at a minimal cost, the report said.

  And our banks response is to implement Wish-It-Was Two-Factor.  Even legitimate Multi factor Authentications is at risk,

A German-speaking hacker crew is looting commercial bank accounts in four countries using a custom-built Trojan put in place by expertly crafted and extremely focused phishing attacks, a security researcher said today.

The malware's most distinguishing feature, said Don Jackson, a senior security researcher at SecureWorks Inc., is its ability to mimic the steps the human account owner would take to move money  Sophisticated Trojan loots business bank accounts

The best thing the Government can do is regulate a mandatory disclosure policy of all exploits.  This should drive the market in the correct direction.

posted by Aaron Fischer on Tuesday, February 19, 2008 7:57:20 AM (Pacific Standard Time, UTC-08:00)   #    Comments [0]

I have noticed that Flash Player is not working any longer in Internet explorer 7 after my installation of Vista SP1.  Flash player works fine in Firefox.  Any one else notice this?  Reinstalling flash does not work.  This appears to be the same issue Vista had when it first shipped.

Update.

Adobe released a new version of their Adobe Flash Player version 9.0.124.0 after installing this version Flash once again works for me.

posted by Aaron Fischer on Tuesday, February 19, 2008 7:36:17 AM (Pacific Standard Time, UTC-08:00)   #    Comments [4]
 Thursday, February 14, 2008

In .n1.1 a mixed mode MFC 7 application could register for the System::AppDomain::CurrentDomain::UnhandledException event and receive notice of an unhandled exception.  This worked well for logging exceptions ( except a few rare cases were the frame work was dead).  However in .net 2.0 this has changed, according to the new documentation

In the .NET Framework versions 1.0 and 1.1, an unhandled exception that occurred in a thread other than the main application thread was caught by the runtime and therefore did not cause the application to terminate. Thus, it was possible for the UnhandledException event to be raised without the application terminating. In the .NET Framework version 2.0, this backstop for unhandled exceptions in child threads was removed, because the cumulative effect of such silent failures included performance degradation, corrupted data, and lockups, all of which were difficult to debug. For more information, see Exceptions in Managed Threads.

To register an event handler for this event, you must have the required permissions, or a SecurityException is thrown.

Pasted from <http://msdn2.microsoft.com/en-us/library/system.appdomain.unhandledexception(VS.80).aspx>

So rather then being able to log errors with a detailed stack trace we are left with a GPF error message. 

We can overload the WinAPP::Run function and insert a try catch block, but exception we catch will always be the same System.Runtime.InteropServices.SEHException.  Optimistically I opened a Ticket with Microsoft for a recommend way to intercept the real exception details or  find a work around to enable the  UnhandledException event.  Microsoft's response was use a try catch block.  This is not a realistic answer.  There are cases were nullreferance exceptions are raised from unmanaged code.  And as much as I would like to wrap every method in a try catch statement, some how this doesn't sound like a good idea.

My best alternative is to is to register for the win32 SetUnhandledExceptionFilter and allow for the creation of a minidump.  For this I found a nice little library clrdump.

As an aside I find it interesting that the best articles for structured exception handling are from an August 1998 Bugslayer article and January 1997

A Crash Course on the Depths of Win32™ Structured Exception Handling both from the The Microsoft Systems Journal.

posted by Aaron Fischer on Thursday, February 14, 2008 2:48:37 PM (Pacific Standard Time, UTC-08:00)   #    Comments [0]