res page 2 - Dave's Blog

Search
My timeline on Mastodon

Tweet from Ingvar Stepanyan

2016 Oct 13, 10:02
OH "Careful though, if your pointer is too negative it might end up adressing the machine next to your current one."
PermalinkComments

Tweet from Liz Kreutz

2016 Oct 13, 6:46
For those interested: Clinton said gifs with a hard "G"
PermalinkComments

Tweet from Present & Correct

2016 Oct 12, 8:33
Screw Head Typology.
PermalinkComments

Tweet from Jen Gentleman 🌺

2016 Oct 8, 2:19
In case you were wondering: Yes, the new address bar that was added to RegEdit supports Alt+D to set keyboard focus 😊
PermalinkComments

Tweet from Keeper of Lore

2016 Oct 5, 12:08
There's just no hope for infosec pressures if literal exploding products don't kill a company. https://twitter.com/mattblaze/status/783851371858657280 
PermalinkComments

Tweet from David Risney

2016 Sep 19, 3:05
@David_Risney Scan reveals the creatures are passive and no threat. But... they're so... ugly. Time to leave this solar system forever.
PermalinkComments

Tweet from David Risney

2016 Sep 19, 3:04
Playing No Man's Sky collecting resources on an hospitable planet and suddenly notice several creatures approaching. I quickly scan them.
PermalinkComments

Tweet from Pwn All The Things

2016 Sep 6, 10:47
Oh My God. This report is such a troll. Hackers cleverly hid their searching of network shares using "SMB protocol"
PermalinkComments

Tweet from Mike Birbiglia

2016 Aug 24, 11:12
When people hack someone's shit you have a responsibility as a decent person to not look at it. You're better than that.
PermalinkComments

Tweet from Patrick Claybon

2016 Aug 21, 1:53
Gonna open a restaurant that serves food 4 hrs after cooking to 20% of customers and then blame them for not eating
PermalinkComments

WinRT Toast from PowerShell

2016 Jun 15, 3:54

I've made a PowerShell script to show system toast notifications with WinRT and PowerShell. Along the way I learned several interesting things.

First off calling WinRT from PowerShell involves a strange syntax. If you want to use a class you write [-Class-,-Namespace-,ContentType=WindowsRuntime] first to tell PowerShell about the type. For example here I create a ToastNotification object:

[void][Windows.UI.Notifications.ToastNotification,Windows.UI.Notifications,ContentType=WindowsRuntime];
$toast = New-Object Windows.UI.Notifications.ToastNotification -ArgumentList $xml;
And here I call the static method CreateToastNotifier on the ToastNotificationManager class:
[void][Windows.UI.Notifications.ToastNotificationManager,Windows.UI.Notifications,ContentType=WindowsRuntime];
$notifier = [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($AppUserModelId);
With this I can call WinRT methods and this is enough to show a toast but to handle the click requires a little more work.

To handle the user clicking on the toast I need to listen to the Activated event on the Toast object. However Register-ObjectEvent doesn't handle WinRT events. To work around this I created a .NET event wrapper class to turn the WinRT event into a .NET event that Register-ObjectEvent can handle. This is based on Keith Hill's blog post on calling WinRT async methods in PowerShell. With the event wrapper class I can run the following to subscribe to the event:

function WrapToastEvent {
param($target, $eventName);

Add-Type -Path (Join-Path $myPath "PoshWinRT.dll")
$wrapper = new-object "PoshWinRT.EventWrapper[Windows.UI.Notifications.ToastNotification,System.Object]";
$wrapper.Register($target, $eventName);
}

[void](Register-ObjectEvent -InputObject (WrapToastEvent $toast "Activated") -EventName FireEvent -Action {
...
});

To handle the Activated event I want to put focus back on the PowerShell window that created the toast. To do this I need to call the Win32 function SetForegroundWindow. Doing so from PowerShell is surprisingly easy. First you must tell PowerShell about the function:

Add-Type @"
using System;
using System.Runtime.InteropServices;
public class PInvoke {
[DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)]
public static extern bool SetForegroundWindow(IntPtr hwnd);
}
"@
Then to call:
[PInvoke]::SetForegroundWindow((Get-Process -id $myWindowPid).MainWindowHandle);

But figuring out the HWND to give to SetForegroundWindow isn't totally straight forward. Get-Process exposes a MainWindowHandle property but if you start a cmd.exe prompt and then run PowerShell inside of that, the PowerShell process has 0 for its MainWindowHandle property. We must follow up process parents until we find one with a MainWindowHandle:

$myWindowPid = $pid;
while ($myWindowPid -gt 0 -and (Get-Process -id $myWindowPid).MainWindowHandle -eq 0) {
$myWindowPid = (gwmi Win32_Process -filter "processid = $($myWindowPid)" | select ParentProcessId).ParentProcessId;
}
PermalinkComments.net c# powershell toast winrt

Tweet from billy eichner

2016 Jun 7, 12:34
I'm ok with a female President AS LONG as she doesn't start busting ghosts.
PermalinkComments

Tweet from David Risney

2016 Jun 5, 4:10
I played Chrome, Edge, FF & IE against each other in WebDriverChess. Edge just beats out Firefox for #1. Results: https://github.com/david-risney/webDriverChess/#browser-face-off 
PermalinkComments

Tweet from Eric Lawrence

2016 Jun 2, 10:32
Chrome relaxes IDN display of Punycode (old restrictions were like IE) to match Firefox instead: https://bugs.chromium.org/p/chromium/issues/detail?id=336973#c34 
PermalinkComments

Windows Store App WebView Cross Origin XMLHttpRequest Behavior

2016 Jun 2, 6:45

TL;DR: Web content in a JavaScript Windows Store app or WebView in a Windows Store app that has full access to WinRT also gets to use XHR unrestricted by cross origin checks.

By default web content in a WebView control in a Windows Store App has the same sort of limitations as that web content in a web browser. However, if you give the URI of that web content full access to WinRT, then the web content also gains the ability to use XMLHttpRequest unrestricted by cross origin checks. This means no CORS checks and no OPTIONS requests. This only works if the web content's URI matches a Rule in the ApplicationContentUriRules of your app's manifest and that Rule declares WindowsRuntimeAccess="all". If it declares WinRT access as 'None' or 'AllowForWebOnly' then XHR acts as it normally does.

In terms of security, if you've already given a page access to all of WinRT which includes the HttpRequest class and other networking classes that don't perform cross origin checks, then allowing XHR to skip CORS doesn't make things worse.

PermalinkCommentsjavascript uwa uwp web webview windows winrt xhr

Tweet from David Risney

2016 Apr 28, 4:14
Coincidentally YouTuber on hacking dispute res by incl IP from diff large companies in same video http://kotaku.com/game-critic-uses-brilliant-workaround-for-youtubes-copy-1773452452 
PermalinkComments

Tweet from David Risney

2016 Apr 28, 4:10
YouTube to change Content ID disputes to collect ad revenue and give to proper owner after dispute resolved http://youtubecreator.blogspot.com/2016/04/improving-content-id-for-creators.html 
PermalinkComments

Tweet from David Risney

2016 Apr 20, 7:03
@ericlaw Wow, that is impressive.
PermalinkComments

Tweet from David_Risney

2016 Feb 20, 1:40
Preview of Obama's post presidency standup tour @CSPANVL http://www.c-span.org/video/?c4558279/obama-ribs-republicans-candidates …
PermalinkComments

Tweet from David_Risney

2016 Feb 17, 3:30
Well done, tense, fake Back to the Future prequel trailer: http://www.avclub.com/article/tense-prequel-fully-explores-back-futures-terroris-232391 …. Doc must trick terrorists into giving him plutonium.
PermalinkComments
Older EntriesNewer Entries Creative Commons License Some rights reserved.