[Hack] Aufrufen von nativen Bibliotheken - Druckversion +- Windows - Phones - Visionen (https://www.wpvision.de) +-- Forum: Software | Hardware (https://www.wpvision.de/forumdisplay.php?fid=6) +--- Forum: Windows Allgemein (https://www.wpvision.de/forumdisplay.php?fid=207) +---- Forum: Entwicklerbereich (https://www.wpvision.de/forumdisplay.php?fid=177) +----- Forum: StarGate01 (https://www.wpvision.de/forumdisplay.php?fid=189) +----- Thema: [Hack] Aufrufen von nativen Bibliotheken (/showthread.php?tid=6059) |
[Hack] Aufrufen von nativen Bibliotheken - StarGate01 - 07.01.16 Hallo liebe Forengemeinde, Zunächst: Das ist ein Hack. D.h. ich übernehme keine Garantie dass es klappt, und ich übernehme auch keine Haftung für eventuell entstandene Schäden. Außerdem hab ich diese Methode weder erfunden, noch den ganzen Code selbst geschrieben. Quellen stehen unten. Ich dachte mir ich teile einen kleinen Trick mit euch, der mir bei meinen Apps schon ab und zu geholfen hat. Die Anleitung ist für Programmierer mit Genunlocken WP8 oder WP8.1 (WP10 ungetestet) Handys. Ziel der Bemühungen ist es, beliebige Bibliotheken (DLLs) aus /System32/ zu laden, und dann von diesen Funktionen aufzurufen. Demonstrieren werde ich das hier anhand der Funktion ShellChromeAPI.dll#Shell_TurnScreenOn. Diese Funktion kann das Handy ausschalten (=sperren). Nun gibt es mehrere Möglichkeiten nicht verwalteten Code aufzurufen, die einfachte ist P/Invoke: C# Code Code: [DllImport("ShellChromeAPI.dll")] Dieser Aufruf funktioniert in Windows-Store-Apps, jedoch nicht in Silverlight 8.0 (grundsätzlich nicht) und auch nicht in Silverlight 8.1 (Nur bestimmte DLLs dürfen aufgerufen werden). Nun ist aber das Problem, dass mache Apps Bibliotheken aus der Silverlight-Welt benötigen UND native Bibliotheken aufrufen müssen. Das schöne ist, dass in Windows-Phone-Apps selbstgeschriebene native Bibiotheken eingebunden werden können - So genannte Runtime Components. Der Plan ist also folgender: Eine RTC in C++ schreiben, die über krude Wege die gewünschte Bibliothek läd und aufruft. Gesagt, getan: C++ Code (NativeAPI.h) Code: #pragma once Und nun der eigentliche Teil. Was hier passiert ist etwa folgendes:
C++ Code (NativeAPI.cpp) Code: #include "pch.h" Aus diesen beiden Dateien baut man sich nun ein Runtime Component, kompiliert dieses und referenziert es in seiner Hauptapp. Danach kann mit C# Code Code: using RTComponent; die Funktion aufgerufen werden - und das Handy sperrt sich, d.h. der Bildschirm geht aus. Einige interessante DLLs sind: Code: ADVAPI32LEGACY.DLL Das Problem daran ist die Methodensignaturen zu ermitteln. Nutzt ein Programm wie IDA Pro oder DUMPBIN um die Exports zu ermitteln, aber die Signaturen müssen von Hand herausgefunden werden. Hilfe ist immer gern gesehen! Ich hoffe diese kleine Anleitung hat dem ein oder anderen geholfen! Quellen: winapi - How to call Shell_TurnScreenOn in ShellChromeAPI.dll from C++ (Windows Phone)? - Stack Overflow [XAP][SOURCE] Native Toast Notification Laun… | Windows Phone 8 Development and Hacking [HACK] Using complete Windows API in Windows… | Windows 8, RT Development and Hacking http://www.cnblogs.com/anye6488/p/3915852.html (Chinesisch) Windows Phone C++ Load System Dll Using LoadLibraryExW | VILIC's Blog P.S.: Sollte das hier auf Interesse stoßen, werde ich noch vielleicht noch weitere "Hack"-Anleitungen schreiben: Wie man eine Lockscreen-App entwickelt, wie man das Samsung-RPCCompoonent verwendet, wie man eigene Apps in die Systemeinstellungen bringt, ... Die Infos existieren zwar schon alle im Netz, aber nicht auf Deutsch und auch nicht gebündelt. [Hack] Aufrufen von nativen Bibliotheken - CTHTC - 07.01.16 Auch wennich persönlich damit derzeit nocht nicht viel anfangen kann, ist das doch eine interessante Materie. Wenn Du Zeit und Lust hast wäre es super, wenn Du noch weitere Anleitungen bereitstellen könntest. Wie Du schon gesagt hast, geistert da zwar schon viel im Netz rum aber englisch ist nicht jedermanns Sache. Gruß CTHTC [Hack] Aufrufen von nativen Bibliotheken - StarGate01 - 07.01.16 Hier gibts die Testbibliothek zum Download: [attachment=746] [Hack] Aufrufen von nativen Bibliotheken - angerlilli - 19.01.16 hi also erstmal hut ab auch wen ich grad wie ein schwein ins Uhr werk schau Respekt für die die das alle drauf haben |