Generator haseł z możliwością parametryzacjilis 21 2011 9:48 W końcu nadszedł ten dzień, kiedy metoda Membership.GeneratePassword przestała mi wystarczać. Zawiedziony niewystarczającymi możliwościami tego generatora napisałem poniższy kawałek kodu:using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography; using Olsoft.Common.Extensions; namespace Olsoft.Common.Security { public interface IPasswordGenerator { string Generate(int length)...
Strona głównaUżytkownik
Paweł Łukasik | użytkownik
Analiza aplikacji .NET Zestaw narzędzi do analizy .NET-owych aplikacji znacznie różni się od klasycznych narzędzi dla zwykłych aplikacji x86 / x64, odmienna architektura kodu wymusiła utworzenie całej gamy dedykowanych narzędzi dla plików wykonywalnych .NET, spróbuję przedstawić kilka z nich, które mogą się przydać w reversingu.Dekompilacja kodu Pierwszym i podstawowym narzędziem, które chyba zna większość osób zajmujących się analizą oprogramowania i nie tylko jest dekompilator .NET Reflector..NET Refle...
W ramach uczestnictwa w kursie WPF czytam ksiązkę "WPF 4 Unleashed" i przygotowuje jakieś przykłady sprawdzające co tam pan autor pisze w tej książce. Jeden z początkowych rozdziałów (tak, dopiero rozpoczynam kurs i książkę) poświęcony jest tematyce transformacji kontrolek, w związku z tym napisałem prosty przykład ukazyjący omawiane tranformacje. W zasadzie testuje tylko trzy z pięciu, ponieważ przesunięcie obiektów nie jest zbyt widowiskowe, a wykorzystanie macierzy nie jest na moją głowę. Zostają tylk...
Chcąc wyświetlić na naszej stronie wykres wartości, możemy skorzystać z Silverlighta lub javascriptu. Możliwści silvrlighta podczas tworzenia wykresów prezentowałem w jednym z wcześniejszych postów. Teraz pokażę w jaki sposób można za pomocą JSONa i biblioteki jQPlot wyświetlić wykres dla pewnych wartości (np. pobranych z bazy danych). Ze strony http://www.jqplot.com/ pobieramy bibliotekę jQPlot. Po pobraniu dodajemy pliki pluginu do naszego projektu: Następnie dodajemy odnośniki do bibliotek jQue...
2lis/110Debugowanie Visual Studio Dziś postaram się przybliżyć rzadko stosowaną technikę wyszukiwania błędów w kodzie. Polega ona na użycia drugiej instancji Visual Studio do znalezienia błędów w pierwszej. Patrząc na ostatnie zdanie można zacząć się zastanawiać jak szukanie błędów w Visual Studio może pomóc w znalezieniu błędów w naszym programie. Należy zdać sobie sprawę, że tak naprawdę Visual Studio zawiera w sobie nasz kod. I naszym celem jest prześledzenie działania tego kodu. Sztandarowym przykład...
W poprzednim poście wspomniałem o mojej walce w Mono Cecil, dzisiaj chciałbym się podzielić moimi wrażeniami i doświadczeniem. Dodam tylko, że o Mono usłyszałem na spotkaniach wrocławskiej grupy .net, wykład prowadził Paweł Łukasik, slajdy z wykładu dostępne są na jego blogu: http://pawlos.blogspot.com. Jak zwykle zapraszam na spotkania i wykłady. Źródła które pokaże, są tylko prostym przykładem, zamysłem tego co chciałem zrobić w docelowym rozwiązaniu. Powinny jednak wystarczyć by ukazać jak działa Mon...
Co należy zrobić, by pobawić się Roslyn syntax visualizer: Pobrać i zainstalować RoslynCTP http://www.microsoft.com/download/en/details.aspx?id=27746, Start -> Microsoft Codename Roslyn CTP -> Getting Started, Otworzyć i uruchomić (F5) solucję Syntax Visualizer Extension, W nowej instancji, która się otworzy Visual Studio wybrać Edit -> Other Windows -> Roslyn Syntax Visualizer, Stworzyć dowolny nowy projekt, na przykład aplikację konsolową, Teraz można podglądać drzewo składni p...
Ignorancja to słabość Ostatnio przeglądałem T-SQL kod w którym została użyta pewna siermiężna acz użyteczna konstrukcja (użyteczna w poprzednich wersjach SQL Server'a, tak od 2005 w dół). Zapytałem się autora kodu, czy przypadkiem nie używają MS SQL Server 2008, otrzymałem pozytywną odpowiedź "nawet w wersji R2". Kod który prezentuje ogólny zarys problemu znajduje się poniżej. Przykłądowa implementacja wstawia rekord do tabeli jeśli jeszcze on nie istnieje, w innym wypadku aktualizuje wartości wybranych...
Bazy danych i XML 4796 dni, 5 godzin, 19 minut temu 258 źrodło rozwiń
Serwis User Witajcie! po dłuższej przerwie zapraszamy na dziesiąty odcinek codingtv(); Zgodnie z planem w tym odcinku przygotowujemy serwis do klasy User. Jak zawsze serwis pokrywamy testami oraz przygotowujemy kilka mocków.
Istnieje kilka podejść do debugowania usług systemowych. Jeśli chcemy debugować już uruchomioną usługę to możemy skorzystać z opcji Attach to process.... Sprawa jest trudniejsza jeśli chcemy podłączyć się do usługi w momencie jej uruchamiania. W takim wypadku można w kodzie usługi wywołać metodę Debugger.Brake. Są też inne sposoby, na przykład sztuczne opóźnienie startu usługi, tak aby zdążyć się do niej podpiąć. Ostatnio poznałem nowe, bardzo ciekawe podejście. Polega ono na stwor...
Biblioteka SOS, która dostarczana jest wraz z .NET Framework to nie jedyne źródło informacji o aplikacjach .NET analizowanych w WinDbg. Poza nią jest jeszcze Psscor4 (oraz wcześniejsza wersja - Psscor2, obie do ściągnięcia z Microsoft), która jest rozbudowaną wersją sos i jest najczęśniej zamiast niej używana. Kolejna to sosex, autorstwa Steve’a Johnsona, o której tu i ówdzie już wspominałem i właśnie o niej powiemy dziś parę słów. Miesiąc temu pojawiła się najnowsza wersja tej biblioteki, w której pojaw...
Jakiś czas temu, we wpisie Tworzenie aplikacji wielojęzycznych z C# i ASP.NET w Visual Studio opisywałem jak stworzyć aplikację, która będzie przystosowana do obsługi wielu języków i wykorzystywać będzie do realizacji tego celu mechanizm zasobów udostępniony w platformie .Net. Wpis ten, nie opisywał jednak zastosowanie tego mechanizmu, dla aplikacji napisanych pod kątem frameworka WPF, który korzysta z języka XAML. Dlatego też dziś, w ramach kolejnego wpisu z cyklu WPF Tutorial, chciałbym nadrobić braki...
Architektura 4810 dni, 20 godzin, 3 minuty temu 266 źrodło rozwiń
W poprzedniej notce opisałem technikę pozwalającą na debuggowanie dynamic assemblies przy wykorzystaniu najnowszej wersji biblioteki sosex w ramach WinDbg. Tym razem sprawdzimy skuteczność tej metody w odniesieniu do SQL-CLR. Nieco przydługawy, ale konieczny wstęp CLR pojawił się w SQL Serverze w wersji 2005 i pozostał w nim na dobre. Dzięki jego obecności można pisać triggery, procedury składowane, funkcje, agregaty oraz własne typy danych definiowane przez użytkownika i korzystać z nich w podobny sposó...
Znam się z NULL'em od lat Oglądając materiały z Introduction to Databases, przypomniały mi się koszmary z dzieciństwa. Zdarzyło mi się wspierać jako programista bądź inżynier support'u kilka systemów używających MS SQL Server'a (każdy z nich był rozwijany przynajmniej 5 lat). Miały one kilka cech wspólnych , jedna z nich sprawiła mi sporo problemów przy rozwijaniu i utrzymywaniu tych systemów. Posiadały one dużo tabel w których definicje kolumn umożliwiały wstawianie wartości NULL. Poniższa definicja ...
Bazy danych i XML 4818 dni, 6 godzin, 55 minut temu 297 źrodło rozwiń
"Cześć, dziś dla odmiany będzie polski tekst- zagadka o synonimach :) . Mamy taką zagadkę jest tekst z wstawkami {typu|rodzaju} z {synonimami|znaczeniami} i trzeba go przetransformować losowo wybierając synonimy. Udało mi się to zrobić ze złożonością O(n) ale walka na jednym forum w Internecie była fajną i udało się zoptymalizować dosłownie wszystko, tak myślę, oceńcie sami."
Opis mockowania obiektów z wykorzystanie narzędzia Telerik JustMock. Wyjaśnienie dlaczego warto i gdzie używać mocków.
Czasami potrzeba dodać atrybuty do właściwości/metod klasy, która została stworzona automatycznie przez jakiś designer (na przykład przez ORM). Modyfikowanie klasy bezpośrednio nie ma sensu, ponieważ może ona zostać nadpisana i nasze zmiany zostaną niestety utracone. Atrybuty takie można określić w oddzielnym pliku. Czyli na przykład zamiast:using System; using System.ComponentModel.DataAnnotations; using System.Web.Mvc; public class Product { [HiddenInput(DisplayValue=false)] public i...
Kiedyś puściłem cały cykl postów o testowaniu z wykorzystaniem Rhino Mocks, pełna lista postów zebrana jest tutaj. Jednak aby zachować ciągłość aktualnej serii, należy o mockach kilka słów wspomnieć. Mocki służą do symulowania zachowania środowiska zewnętrznego względem testowanej klasy/metody. Pisząc testy jednostkowe sprawdzające logikę biznesową nie powinniśmy skupiać się na tym, czy mamy poprawnie skonfigurowaną bazę danych. Albo czy komunikacja z systemem plików przebiega tak jak powinna. Lub, co ...
Lista (aktualizowana) screencastów programistycznych. Nie tylko .NET, ale warte przyjrzenia się.
"Reużywalność" w PowerShell'u Pisząc skrypt w PowerShell'u postanowiłem wywołać metodę z zewnętrznej biblioteki wchodzącej w skład rozwijanego przez mój zespól systemu. Zaimportowałem dll'kę za pomocą metody Assembly.LoadFrom , utworzyłem instancję typu danych i uruchomiłem metodę. Oczywiście otrzymałem wyjątek NullReferenceException, który wskazywał na to, że problem pojawił się w metodzie z zewnętrzenej biblioteki. Zastanowiłem się chwilę i stwierdziłem, że nie zaszkodziłoby zdebuggować tej metody. K...