2021年12月20日 星期一

load font

https://tipsfordev.com/firemonkey-load-alternative-font

FIREMONKEY - load alternative font

I would like to load an external font in a Delphi Firemonkey application.

Is there any information how to do that?


Not sure if it works for FireMonkey, but this code worked for me when I wanted to load custom fonts to my standard Delphi applications.
 
uses
  Windows, SysUtils, Messages, Classes, Generics.Collections;

type
  { .: TExternalFonts :. }
  TExternalFonts = class sealed(TList<HFONT>);

var
  ExternalFonts: TExternalFonts;

function AddExternalFont(const AFileName: String): HFONT; overload;
function AddExternalFont(const AStream: TStream): HFONT; overload;

implementation

{ .: DoCleanup :. }
procedure DoCleanup();
var
  I: Integer;
begin
  for I := ExternalFonts.Count -1 downto 0 do
  begin
    RemoveFontMemResourceEx(ExternalFonts[I]);
    ExternalFonts.Delete(I);
    //SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
  end;
end;

{ .: AddExternalFont :. }
function AddExternalFont(const AFileName: String): HFONT; overload;
var
  FS: TFileStream;
begin
  Result := 0;

  if not FileExists(AFileName) then
    exit;

  FS := TFileStream.Create(AFileName, fmOpenRead + fmShareExclusive);
  try
    Result := AddExternalFont(FS);
  finally
    FS.Free();
  end;
end;

{ .: AddExternalFont :. }
function AddExternalFont(const AStream: TStream): HFONT; overload;
var
  MS: TMemoryStream;
  Temp: DWORD;
begin
  Result := 0;

  if not Assigned(AStream) then
    exit;

  Temp := 1;
  MS := TMemoryStream.Create();
  try
    MS.CopyFrom(AStream, 0);

    Result := AddFontMemResourceEx(MS.Memory, MS.Size, nil, @Temp);
    if (Result <> 0) then
      ExternalFonts.Add(Result);
    //SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
  finally
    MS.Free();
  end;
end;

initialization
  ExternalFonts := TExternalFonts.Create();

finalization
  DoCleanup();
  ExternalFonts.Free();

end.
 

use external fonts font directly from resources in Delphi Resource Compiler brcc32 MSBuild

 use external fonts font directly from resources in Delphi
AddFontMemResourceEx
https://docs.microsoft.com/zh-tw/windows/win32/api/wingdi/nf-wingdi-addfontmemresourceex?redirectedfrom=MSDN
https://docs.microsoft.com/zh-tw/windows/win32/api/wingdi/nf-wingdi-addfontresourcea?redirectedfrom=MSDN
https://docs.microsoft.com/zh-tw/windows/win32/api/wingdi/nf-wingdi-addfontresourceexa?redirectedfrom=MSDN
https://docs.microsoft.com/zh-tw/windows/win32/api/wingdi/nf-wingdi-addfontmemresourceex?redirectedfrom=MSDN
https://sourceforge.net/projects/jvcl/
 JVCL's TjvDataEmbedded AddFontResource
https://docwiki.embarcadero.com/RADStudio/Sydney/en/Step_3_-_Add_Style-Resources_as_RCDATA_(Delphi)
Step 3 - Add Style-Resources as RCDATA (Delphi)


procedure TForm1.FormCreate(Sender: TObject) ;
begin
  AddFontResource('c:\FONTS\MyFont.TTF') ;
  SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
end;

//Before application terminates we must remove our font:
procedure TForm1.FormDestroy(Sender: TObject) ;
begin
  RemoveFontResource('C:\FONTS\MyFont.TTF') ;
  SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
end;
https://stackoverflow.com/questions/2984474/embedding-a-font-in-delphi
https://stackoverflow.com/questions/36224624/loading-font-from-resource-file

TResourceStream AddFontResource WM_FONTCHANGE message
   ResStream : tResourceStream;
   FontsCount : integer;
   hFont : tHandle;
 
   ResStream := tResourceStream.Create(hInstance, ResourceName, RT_RCDATA);
   hFont := AddFontMemResourceEx(ResStream.Memory, ResStream.Size, nil, @FontsCount);
   result := (hFont <> 0);
   ResStream.Free();
 

function LoadResourceFontByName( const ResourceName : string; ResType: PChar ) : Boolean;
var
  ResStream : TResourceStream;
  FontsCount : DWORD;
begin
  ResStream := TResourceStream.Create(hInstance, ResourceName, ResType);
  try
    Result := (AddFontMemResourceEx(ResStream.Memory, ResStream.Size, nil, @FontsCount) <> 0);
  finally
    ResStream.Free;
  end;
end;

function LoadResourceFontByID( ResourceID : Integer; ResType: PChar ) : Boolean;
var
  ResStream : TResourceStream;
  FontsCount : DWORD;
begin
  ResStream := TResourceStream.CreateFromID(hInstance, ResourceID, ResType);
  try
    Result := (AddFontMemResourceEx(ResStream.Memory, ResStream.Size, nil, @FontsCount) <> 0);
  finally
    ResStream.Free;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  if LoadResourceFontByName('MyFont1', RT_RCDATA) then
    Label1.Font.Name := 'My Font Name 1';

  if LoadResourceFontByID(2, RT_FONT) then
    Label2.Font.Name := 'My Font Name 2';
end;

LoadResourceFontByName
delphi add font resource file LoadResourceFontByName
[Solved] Embedding a font in delphi - Code Redirect
https://www.sql.ru/forum/1254355/delphi-zagruzit-shrift-iz-resursov

{$R MyNewFont.RES}
...
procedure TForm1.FormCreate(Sender: TObject);
var
  MyResStream: TResourceStream;
begin
  MyResStream:=TResourceStream.Create(hInstance, 'MYFONT', RT_RCDATA);
  MyResStream.SavetoFile('Gen4.ttf');
  AddFontResource(PChar('Gen4.ttf'));
  SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);
  Label1.Font.Charset:=SYMBOL_CHARSET;
  Label1.Font.Size:=24;
  Label1.Font.Name:='Gen4';
end;

MSBuild.exe C:/Project1.dproj /t:Build /p:configutation=Debug /p:platform=Win32

https://docwiki.embarcadero.com/RADStudio/Sydney/en/BRCC32.EXE,_the_Resource_Compiler
Resource Compiler, brcc32.exe

https://delphi.cjcsoft.net/viewthread.php?tid=47317

{$R MyFont.res}
  Res : TResourceStream;
 
  Res := TResourceStream.Create(hInstance, 'MY_FONT', Pchar('ANYOL1'));
  Res.SavetoFile('Bauhs93.ttf');
  Res.Free;
  AddFontResource(PChar('Bauhs93.ttf'));
  SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);
 
  RemoveFontResource(PChar("Bauhs93.ttf"))
  SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);














2021年12月18日 星期六

Custom Controls in Win32 API: Visual Styles Application Manifest assembly xmlns InitCommonControls comctl32.DLL

 https://www.codeproject.com/Articles/620045/Custom-Controls-in-Win-API-Visual-Styles

  https://docs.microsoft.com/en-us/answers/questions/199283/use-common-controls-v6-in-a-dll-compiled-using-vc6.html

https://docs.microsoft.com/en-us/windows/win32/sbscs/application-manifests

https://docs.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/schema-root


Custom Controls in Win32 API: Visual Styles

https://www.codeproject.com/Articles/559385/Custom-Controls-in-Win-API-The-Basics
https://www.codeproject.com/Articles/617212/Custom-Controls-in-Win-API-The-Painting
https://www.codeproject.com/Articles/620045/Custom-Controls-in-Win-API-Visual-Styles

Application Manifest

1 RT_MANIFEST path/to/manifest.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="app name" type="win32"/>
    <description>app description</description>
    <dependency>
        <dependentAssembly>
            <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls"
              version="6.0.0.0" processorArchitecture="*"
              publicKeyToken="6595b64144ccf1df" language="*"/>
        </dependentAssembly>
    </dependency>
    <ms_asmv2:trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
        <ms_asmv2:security>
            <ms_asmv2:requestedPrivileges>
                <ms_asmv2:requestedExecutionLevel level="asInvoker" uiAccess="false"/>
            </ms_asmv2:requestedPrivileges>
        </ms_asmv2:security>
    </ms_asmv2:trustInfo>
</assembly>
 

COMCTL32.DLL   UXTHEME.DLL        USER32.DLL 


Useless IsThemeActive() and IsAppThemed()

UXTHEME.DLL        USER32.DLL   
Function        Fundamental constant        Function        Fundamental constant   
GetThemeSysBool()        TMT_FLATMENUS        SystemParametersInfo()        SPI_GETFLATMENU   
GetThemeSysColor()                 GetSysColor()            
GetThemeSysColorBrush()                 GetSysColorBrush()            
GetThemeSysFont()        TMT_ICONTITLEFONT        SystemParametersInfo()        SPI_GETICONTITLELOGFONT   
the other ones        SPI_GETNONCLIENTMETRICS   
GetThemeSysInt()                 no counterpart            
GetThemeSysSize()                 GetSystemMetrics()            
GetThemeSysString()                 no counterpart

GetThemeBackgroundContentRect OpenThemeData GetWindowTheme GetThemeIntList _WIN32_WINNT_VISTA
Screenshot of Theme Explorer 


embarcadero Customizing the Windows Application Manifest File

Go Up to Types of Multi-Device Applications You Can Create

Go Up to Deploying Applications - Overview

    API (ApplicationName.manifest)

    Applications Options for Desktop Platforms

    MSDN: Application Manifests

    MSDN: Create and Embed an Application Manifest (UAC)

    Delphi Developers Guide 4K.pdf (Solving DPI problems, creating a custom manifest.)

Identity Management Tools



OpenIAM https://www.openiam.com/
Apache Syncope Syncope - Open Source Identity Management https://syncope.apache.org/
Shibboleth Consortium https://www.shibboleth.net/
WSO2 https://wso2.com/identity-and-access-management/
MidPoint https://evolveum.com/midpoint/
Soffid http://www.soffid.com/
Gluu Gluu Server - Identity and Access Management (IAM) platform https://www.gluu.org/
Keycloak https://www.keycloak.org/index.html
FreeIPA https://www.freeipa.org/page/Main_Page
Central Authentication Service (CAS) https://www.apereo.org/projects/cas
OpenDS - Next generation Directory Service
OpenLdap - Implementation of the Lightweight Directory Access Protocol (LDAP)
kratos - Next-gen identity server (think Auth0, Okta, Firebase) with Ory-hardened authentication, MFA, FIDO2, profile management, identity schemas, social sign in, registration, account recovery, service-to-service and IoT auth
Keycloak - Open Source Identity and Access Management For Modern Applications and Services
SSSD - System Security Services Daemon
OpenDJ - LDAPv3 compliant directory service
389 Directory Server - Powerful OpenSource LDAP
FreeIPA - Identity and Access Management for Linux
Apache Fortress - Identity and Access Management
Mandriva - Identity and Network Management
ApacheDS - Apache Directory Project
LSC engine - LDAP Synchronization Connector
AMX Identity Management - An HR driven Identity and Access Management solution
msf - MFS (Minio Federation Service) is a namespace, identity and access management server for Minio Servers
ForgeRock https://en.wikipedia.org/wiki/ForgeRock
OpenAM https://en.wikipedia.org/wiki/OpenAM
OpenIDM https://en.wikipedia.org/wiki/OpenIDM
OpenDJ https://en.wikipedia.org/wiki/OpenDJ
https://en.wikipedia.org/wiki/Category:Identity_management_systems










How to make a Delphi application run as an administrator? Delphi High DPI switch between own scaling and Windows scaling

 https://itqna.net/questions/5331/how-make-delphi-application-run-administrator

  

Tip: To learn more about custom Manifest file you can give   a look at this Embarcadero link : Customizing the Windows   Application Manifest   File

 

https://docwiki.embarcadero.com/RADStudio/Tokyo/en/Customizing_the_Windows_Application_Manifest_File

 Customizing the Windows Application Manifest File

 

YOU CAN USE THIS FILE HERE

If you prefer you can use this ready, just do the following:

Content of the manifest file

  • Create a text file and paste the content below
  • Save in the folder of your project with the name you prefer, as long as you have the .manifest extension, the most common is that the file is named Manifest.manifest
  •  

     

     

    https://en.wikipedia.org/wiki/Manifest_file

     Windows Application Manifest File       name="Microsoft.Windows.Common-Controls"

     

     

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
     <dependency>
       <dependentAssembly>
         <assemblyIdentity
           type="win32"
           name="Microsoft.Windows.Common-Controls"
           version="6.0.0.0"
           publicKeyToken="6595b64144ccf1df"
           language="*"
           processorArchitecture="*"/>
       </dependentAssembly>
     </dependency>
     <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
       <security>
         <requestedPrivileges>
           <requestedExecutionLevel
             level="asInvoker"
             uiAccess="false"/>
           </requestedPrivileges>
       </security>
     </trustInfo>
    </assembly>

     

    // Set DPI Awareness depending on a registry setting
    with TRegIniFile.create('SOFTWARE\' + SRegName) do
    begin
      setting := readInteger('SETTINGS', 'scale', 0);
      Free;
    end;
    handle := LoadLibrary('shcore.dll');
    if handle <> 0 then
    begin
      setProcessDPIAwareness := GetProcAddress(handle, 'SetProcessDpiAwareness');
      if Assigned(setProcessDPIAwareness) then
      begin
        if setting < 2 then
          // setting <2 means no scaling vs Windows
          setProcessDPIAwareness(0)
        else
          // setting 2: 120%, 3: 140% vs. Windows
          // The actual used scaling factor multiplies by windows DPI/96
          setProcessDPIAwareness(1);
      end;
      FreeLibrary(handle);
      // Get windows scaling as Screen.PixelsPerInch was read before swiching DPI awareness
      // Our scaling routines now work with WinDPI instead of Screen.PixelsPerInch
      WinDPI:= Screen.MonitorFromWindow(application.handle).PixelsPerInch;
    end;
     
     
    Mage.exe (Manifest Generation and Editing Tool) - Microsoft ...
    https://docs.microsoft.com › dotnet › tools
    The Manifest Generation and Editing Tool (Mage.exe) is a command-line tool that supports the creation and editing of application and deployment ...
     文件擴展名首頁 / 所有軟體 / Heaventools Software / Heaventools Application Manifest Wizard

    Heaventools Application Manifest Wizard
    開發者名稱: Heaventools Software
    最新版本: 1.99 R6
    軟體類別: 開發者工具
    軟體子類別: XML 工具
    操作系統: Windows

    軟體概述

    應用程序清單嚮導是一個工具,允許遺留應用程序從Windows XP或Vista的共同控制的華而不實的新面貌受益。這個工具允許除了插入需要管理員級別為它添加UAC清單。這使得提高管理員對Windows 7和Vista的應用程序運行。這使得應用程序的操作行為等同於Windows XP。 

    Pythia 程序是用於在高能碰撞中生成事件的標準工具 物理模型

     Pythia 程序是用於在高能碰撞中生成事件的標準工具,包括一組連貫的物理模型,用於從少體硬過程到復雜的多粒子最終狀態的演化。 它包含一個硬過程庫、初始和最終狀態部分子簇射的模型、硬過程和部分子簇射之間的匹配和合併方法、多部分相互作用、束殘餘、弦碎裂和粒子衰變。 它還具有一組實用程序和多個與外部程序的接口。 Pythia 8.2 是從 Fortran 完全重寫為 C++ 之後的第二個主要版本,現在已經成熟到可以完全替代大多數應用程序,尤其是 LHC 物理研究。 許多新功能應該允許改進數據描述。

    https://pythia.org/

    https://vincia.hepforge.org/
     
    PYTHIA  JETSET   high energy physics event

    http://www.phys.ufl.edu/~rfield/cdf/CDF_minbias.html

    https://en.wikipedia.org/wiki/Event_generator

     

     

    List of event generators
    The major event generators that are used by current experiments are:
    Hadronic event generators[3]
        PYTHIA (formerly Pythia/Jetset)
        HERWIG
        ISAJET
        SHERPA
    Multi-purpose parton level generators
        MadGraph5 (able to run directly on the web site after registration and an email to the author)
        Whizard
     


    https://en.wikipedia.org/wiki/Event_generator

    Event generators are software libraries that generate simulated high-energy particle physics events. They randomly generate events as those produced in particle accelerators, collider experiments or the early universe. Events come in different types called processes as discussed in the Automatic calculation of particle interaction or decay article.

    Doxygen Graphviz Doxygen Flow Graph Code Flowgen Doxygen Graph Python Sphinx UML diagram


    Flow Graph Code
    Flowchart-Based Documentation Framework  
     visual documentation UML activity diagram flowchart annotated sources
     LibClang
    PlantUML Dextool Mutate
    https://en.wikipedia.org/wiki/PlantUML

    Flowgen to the Vincia code
    https://vincia.hepforge.org/
     The VINCIA code is a plugin to the high-energy physics event generator PYTHIA 8.2.
    Starting from PYTHIA 8.3, VINCIA will be distributed as part of the PYTHIA source code, and hence this standalone plugin will not be relevant to PYTHIA 8.3 users.
    VINCIA is based on the dipole-antenna picture of Quantum Chromodynamics (QCD) and focusses on describing jets and jet substructure with high precision.

    https://clang.llvm.org/
    https://clang.llvm.org/get_started.html
    UMLet 14.3
    Free UML Tool for Fast UML Diagrams https://www.umlet.com/

    https://plantuml.com/


    https://github.com/noware/clang-cindex-python3
    This is simply clang's Python bindings (clang.cindex) ported to Python 3.
     Please see http://llvm.org/svn/llvm-project/cfe/trunk/bindings/python/ for the original project.

     

     


    https://en.wikipedia.org/wiki/Category:Free_documentation_generators   Python Sphinx Documentation Generator Documentation Generation

     

    https://www.saashub.com/compare-doxygen-vs-sphinx-documentation-generator

    GitBook - Modern Publishing, Simply taking your books from ideas to finished, polished books.

    Slate API Docs Generator - Create beautiful, intelligent, responsive API documentation.

    MkDocs - Project documentation with Markdown.

    ReadTheDocs - Spend your time on writing high quality documentation, not on the tools to make your documentation work.

    Confluence - Confluence is content collaboration software that changes how modern teams work

    DocFX - A documentation generation tool for API reference and Markdown files!


    Python Sphinx Documentation Generator
    Overview — Sphinx documentation
    https://www.sphinx-doc.org
    Sphinx is a tool that makes it easy to create intelligent and beautiful documentation, written by Georg Brandl and licensed under the BSD license. 



    source code generator hierarchy graph Class hierarchy dependency diagram generator



    https://www.sourcetrail.com/ source code generator hierarchy graph Class hierarchy dependency diagram generator
     as in KCachegrind – and evolution visualization – for repository analysis) in KDevelop. https://liveblue.wordpress.com/2009/06/17/visualize-your-code-in-kdevelop/
    https://github.com/shreyasbharath/cpp_dependency_graph
    https://github.com/tomtom-international/cpp-dependencies

    Graphviz is open source graph visualization software. http://www.graphviz.org/

    https://www.doxygen.nl/index.html
    Doxygen + GraphViz (for pictures, doxygen requires GraphViz)

    Code Graph
    Yiubun Auyeung
    https://marketplace.visualstudio.com/items?itemName=YaobinOuyang.CodeAtlas

    JetBrains
    Hierarchy window | ReSharper https://www.jetbrains.com/help/resharper/Reference__Windows__Type_Hierarchy_Window.html#tree

    Is there a control to visualize mesh topology in c#?
    看看ndepend(http://www.ndepend.com/)。除了為程式碼庫計算各種度量之外,它還可以視覺化依賴項。有試用版。
    這是一張截圖(在http://www.ndepend.com/Features.aspx#DependenciesView上),可能正是你想要的:http://www.ndepend.com/Res/DiagramBoxAndArrowGraphBig.jpg
    https://www.ndepend.com/docs/visual-studio-dependency-graph#Call
    https://www.ndepend.com/docs/visual-studio-dependency-graph#Inherit
    https://www.ndepend.com/docs/validating-cqlinq-code-rules-in-visual-studio
    https://www.ndepend.com/docs/customize-ndepend-report#CQLRule

    https://www.scitools.com/ 


    java
    https://github.com/amitjoy/dependency-graph-osgi
    visualize OSGi Dependencies in a graph
        https://bnd.bndtools.org
        http://graphstream-project.org

    source code hierarchy diagram generator Graph doxygen documentation uml create Dependency Graphs for Header Files

     

    --------Cscope   http://cscope.sourceforge.net/cscope_man_page.html   
    screen-oriented tool that allows the user to browse through C source
    is a developer's tool for browsing source code. It has an impeccable Unix pedigree, having been originally developed at Bell Labs back in the days of the PDP-11. Cscope was part of the official AT&T Unix distribution for many years, and has been used to manage projects involving 20 million lines of code!
    In April, 2000, thanks to the Santa Cruz Operation, Inc. (SCO) (since merged with Caldera), the code for Cscope was open sourced under the BSD license.
    --------gtags-cscope is an interactive, screen-oriented tool that allows the user to browse through source files


    GNU global source-code tag system
    Tama Communications Corporation; http://tamacom.com
     GNU Global source code tagging system https://www.tamacom.com/handbook.html
     GNU GLOBAL handbook https://www.tamacom.com/global.html
     
    --------Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient. It is included as "vi" with most UNIX systems and ...
    --------Elvis Text Editor Elvis is an enhanced clone of the vi text editor,
    --------GNU Emacs Emacs is the advanced, extensible, customizable, self-documenting editor. This manual describes how to edit with Emacs and some of the ways to customize it; ...
    --------less less is a terminal pager program on Unix, Windows, and Unix-like systems used to view (but not change) the contents of a text file one screen
     
    Doxygen http://www.stack.nl/~dimitri/doxygen/
    http://www.doxygen.nl
    Doxygen is the de facto standard tool for generating documentation from annotated C++ sources, but it also supports other popular programming languages such ...


    Gprof performance analysis tools http://www.gnu.org/manual/gprof-2.9.1/gprof.html. Gprof is a performance analysis tool for Unix applications. It used a hybrid of instrumentation and sampling[1] and was created as an extended version of the older "prof" tool. Unlike prof, gprof is capable of limited call graph collecting and printing


    GNU cflow analyzes a collection of C source files and prints a graph, charting control flow within the program.
    GNU cflow Exuberant Ctags Ctags is a programming tool that generates an index (or tag) file



    Graphviz http://www.graphviz.org/ https://en.wikipedia.org/wiki/Graphviz Graphviz (short for Graph Visualization Software)  








     

    Dynamic Tracing DTrace SystemTap OpenResty XRay stappxx toolkit AddressSanitizer

     Dynamic Tracing 

    DTrace SystemTap

     OpenResty XRay 

    stappxx 

     toolkit AddressSanitizer

     

    Dynamic Tracing DTrace SystemTap OpenResty XRay 

     

     

    https://wiki.st.com/stm32mpu/wiki/Linux_tracing,_monitoring_and_debugging

    https://www.brendangregg.com/perf.html

    https://en.wikipedia.org/wiki/DTrace

    https://en.wikipedia.org/wiki/SystemTap


    https://en.wikipedia.org/wiki/Ktrace

    of BSD Unix and Mac OS X that traces kernel interaction

    strace is a diagnostic, debugging and instructional userspace utility for Linux. It is used to monitor and tamper with interactions between processes and ...

    2.5 Code Spelunking | Systems Perfomance Advice for ... https://www.informit.com › articles › article  — ktrace. This is a standard tool on open source operating systems. The name stands for ”kernel trace.” It will give you a listing of all the ...

    2021年12月17日 星期五

    C sample code for PIC micros and Hi-Tech C usb rs232

     C sample code for PIC micros and Hi-Tech C
    https://www.microchipc.com/sourcecode/


    C sample code for PIC micros and Hi-Tech C

    Sample projects for the Microchip PIC micro series of microcontrollers, including the PIC12x, PIC16x, PIC18x, PIC24x, and dsPICx microcontrollers.

    Code is targeted at the Hi-Tech C compiler, from www.htsoft.com, the C18 or C30 compiler from www.microchip.com, or CCS C.

    We want to publish your embedded source code for the benefit on the PIC community. Send it to support@microchipc.comand I will post it on the site, together with recognition of your name and website.

        CRC.
        USB serial port for PIC18F4550.
        MMC card.
        Delay routines in C for PIC16Fx core.
        Delay routines in C for PIC18Fx core.
        UART for PIC16F87x and PIC18Fx.
        Bootloader - PIC16F876.
        Bootloader - PIC18F1320.
        Bootloader - PIC18Fx52.
        Bootloader - PIC17C4x.
        Bootloader - dsPIC (all variants).
        EEPROM.
        A/D.
        D/A.
        SPI.
        LCD.
        PIC12C509 logic replacement nitrogen filler.
        I2C.
        Multitasking and RTOS.
        17C4x bootloader.
        16F84 based pulse monitor.
        TRIAC controller
        Dallas DS1821 thermometer.
        Decimal routines.
        PIC16F84 pulse mon date/time RS232 serial port
        PIC16F84 TRIAC / IGBT 50/60Hz control.

        

        Phase Controller for 2kW heater.
        Dallas DS1821 three-pin digital thermostat.
        Gym Timer.
        LCD and keypad project.
        Heater Project - involves 1-wire routines, serial routines, a P.I.D (Proportional, Integral, Derivative) calculation, ADC, and a interrupt driven burst mode heater control.
        dsPIC30Fx "Hello World" example.
        dsPIC30Fx "RC Pulse" example.
        C driver code project for Samsung KS0713 and PIC micros.
        PIC18LF4550 with LCD and temperature sensor.
        MiniBasic example peripheral code in C, for PIC18, PIC24, PIC32. Examine the C source code to work out how to use any peripheral on a PIC18, PIC24 or PIC32. Very useful.
        Interrupt driven serial with circular FIFO for PIC16x micro.
        Tiny threads example - 1 byte per thread.
        The Dot Factory: An LCD Font and Image Generator
        Embedded PIC Programmer
        Portable LCD driver.
        SimpleRTOS. A tiny, portable multitasking OS.
        Improve your programming with the UVa tutorial.
        ... and much, much more.

    DISKLESS PXE BOOT Kickstart で CentOS7 自動インストール - Qiita

     https://qiita.com/k-koz/items/846a0d064c51f2937b1f

    @k-koz

    posted at 2016-05-08

    updated at 2016-05-09

    Kickstart で CentOS7 自動インストール - Qiita
    Kickstart で CentOS7 自動インストール
    vsftpd
    tftp
    dhcpd
    kickstart
    centos7
    【Kickstart で CentOS7 自動インストール】

        Kickstart 環境を構築し、CentOS7 を自動インストールする手順をまとめる


    [Server: Kickstart 環境の構築]
    1. TFTP server セットアップ
    2. DHCP server セットアップ
    3. FTP Server セットアップ    (TFTP)
    4. Kickstart 設定 (CentOS7インストール用)

    [Client: Kickstart 環境の利用]
    1. CentOS 自動インストール実行手順

    4. Kickstart 設定 (CentOS7インストール用)

    f. PXE ブート設定ファイル配置ディレクトリ作成

    mkdir -p /var/lib/tftpboot/pxeboot/pxelinux.cfg/

    g. PXE ブート設定ファイル作成

    i. kickstart ファイル作成

        オプションの詳細は RHEL7インストールマニュアル/23.3. キックスタート構文の参考資料 を参照
        パスワードは下記コマンドで生成可能

    http://taeisheauton4programming.blogspot.com/2019/05/pxevirtualboxcentos-7.html

     PXEにより、VirtualBoxでCentOS 7のインストーラーを起動した(図で解説あり)
    5月 01, 2019


    VirtualBox Version 5.2.20 r125813 (Qt5.6.3)、CentOS Linux release 7.6.1810 (Core)を用いて、PXEによるインストーラーの起動までを試した。
    PXEサーバー、PXEクライアントともに、VirtualBoxの仮想マシン。
    作業開始時点のPXEサーバーの状態は、Minimal ISOをインストールした直後とする。
    SELinuxはEnforcing、firewalldはstopしないで必要なだけ開放した。
    基本的に、Redhatの公式ドキュメントのやり方を踏襲した。

    PXEについて
    PXEは、ネットワークブートを実現する仕組み。
    OSやインストーラーを、ネットワーク経由で起動できる。
    Kickstartと組み合わせることで、Linux OSのインストールを自動化できる。

    PXEに必要なサーバーは、下記の3つ。

        DHCPサーバー - IPアドレス付与、TFTPサーバーとブートローダーの場所を教える
        TFTPサーバー - ブートローダーを提供、インストールソースの場所を教える
        ファイルサーバー(HTTP、FTP、NFSなど) - インストールソースを提供



    Diskless Windows 10 PC Setup Procedure

     https://audiophilestyle.com/forums/topic/26705-diskless-windows-10-pc-setup-procedure/

     

    https://audiophilestyle.com/forums/topic/26705-diskless-windows-10-pc-setup-procedure/
     Diskless Windows 10 PC Setup Procedure By scan80269,

    Gigabit Ethernet NIC with PXE boot support

    Gigabit Ethernet NIC, with driver for Windows Server  

    DHCP server static IPs

    Contents of iscsi.ipxe (text) file: #!ipxe

    sanboot iscsi:<server IP>::::iqn.1991-05.com.microsoft:<server name>-win10-target boot

    Share iSCSIVirtualDisks folder with rear/write permission for client username

    Create TFTProot folder

    Put ipxe-undionly.kpxe and iscsi.ipxe files in C:\TFTProot

    Download and set up Tiny PXE Server (Tiny PXE Server - reboot.pro)

    Enable iSCSI Service


    Client Connect network via gigabit Ethernet NIC and cable

    Attach local storage (HDD/SSD)

    Install Windows 10 OS into hard disk

    - Copy OS install files into FAT32 formatted USB flash drive to use for OS installation

    Install NIC driver and other device drivers (graphics, audio, etc.) as needed

    Ensure client can properly browse on Internet

     Launch iSCSI Initiator

    - Type "iscsicpl" <Enter> at the Command Prompt window and answer Yes to the prompt

    - This will configure Win10 to auto launch the iSCSI initiator service at OS startup

    Launch Registry Editor (regedit.exe) to set boot flag for LAN driver

    Locate the LAN driver service name under HKLM\SYSTEM\CurrentControlSet\Services

    Example: for motherboards featuring Intel I217V/LM, I218V/LM, I219V/LM LAN the driver service name is: e1dexpress

    Click on the driver service name, locate the Start key (REG_DWORD), double-click it and change its value to 0

    - Repeat this Start key value change to 0 in HKLM\SYSTEM\ControlSet001\Services and HKLM\SYSTEM\ControlSet002\Services

    Close Registry Editor

    Download and run Disk2VHD.exe (from Microsoft Sysinternals: https://technet.microsoft.com/en-us/sysinternals/ee656415.aspx)

    - Ensure "Use Vhdx" and "Use Volume Shadow Copy" checkboxes are checked

    - In "VHD File Name" box, enter "\\<Server IP>\<share name>\Win10.VHDX (e.g. \\192.168.0.100\c\Win10.VHDX)

    - Run Disk2VHD to create VHDX file on server

     
    Server:

    Set up iSCSI target LUN

    Use "existing VHDX"

    Add MAC address of client to iSCSI initiator list

     

     

    Client:

     Launch "iSCSI Initiator"

     On "Discovery" tab, click "Discover Portal" and enter IP address or DNS name of server

     on "Targets" tab, ensure a target appears on "Discovered targets" list

     target name should look like: iqn.1991-05.com.microsoft:<server name>-Win10-target

     Shut down Windows and detach hard disk from client

     Power up client and it should proceed to PXE boot

    - PXE boots to iPXE from server, then chains to iSCSI target LUN to start Windows 10 boot

     

     

     

    Notes:

    A. This procedure sets up a fixed size VHDX on the server. An alternative is to create a new dynamic VHDX (of desired max size) on the server, mount it locally (using iSCSI Initiator running on the server), connect the client disk to the server via USB-to-SATA adapter, then partition copy the client disk to the mounted VHDX. This preserves the dynamic nature of the VHDX file and helps conserve disk space on the server.



     
     

    2021年12月16日 星期四

    delphi fmx 動畫 Animator Animation Interpolation TAnimator AnimateFloat AnimateFloat TAnimationType TInterpolationType

     https://docwiki.embarcadero.com/Libraries/Sydney/en/FMX.Ani.TAnimator.AnimateFloat

     https://docwiki.embarcadero.com/Libraries/Sydney/en/FMX.Types.TFmxObject.AnimateFloat

     FMX.Types.TFmxObject.AnimateFloat

     

    https://github.com/PacktPublishing/Delphi-Programming-Projects/blob/master/Chapter05/uFrmMenu.pas

     Delphi Programming Projects: Build a range of exciting projects by exploring ...

     https://codeverge.com/embarcadero.delphi.firemonkey/how-to-make-animation-running-s/2000855

     https://www.coursehero.com/file/97111482/Algoritmo5txt/

     https://www.delphican.com/archive/index.php/thread-5493.html

     

     Lesson 8 – Using Image and Animation Effects
    http://firemonkey.borlandforum.com › attach › e_...
    PDF http%3A%2F%2Ffiremonkey.borlandforum.com%2Fimpboard%2Fattach%2F0000143970%2Fe_learning_series_win_mac_development_coursebook_lesson8.pdf&usg=AOvVaw17vdCnJyJtp5Iybk5US07e

     atIn;. AInterpolation: TInterpolationType = TInterpolationType.itLinear);. // C++ void __fastcall AnimateFloat(const System::UnicodeString.

     

    https://www.youtube.com/watch?v=dTP8MfZ5fe4&ab_channel=MuminjonAbduraimov

    https://github.com/MuminjonGuru/Mastering-FireMonkey-Delphi/tree/master/AnimateFloat

    delphi Navigation Sidebar LIST MENU TCategoryButtons Buttons Category

      delphi Navigation Sidebar LIST MENU

    delphi TCategoryButtons Buttons Category

     https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.CategoryButtons.TCategoryButtons.ButtonOptions

    https://wiki.freepascal.org/JVCL_Components 

    https://stackoverflow.com/questions/18182284/how-to-create-attractive-side-bar-menus-at-delphi

     

    JvXPCtrls

    Depends on package JvCore and JvStdCtrls.
    Several controls imitating the look and feel of Windows XP.

        JvXPButton and JvXPCheckbox: a button and a checkbox in XP-style
        TJvXPProgressBar: Draws a progressbar in XP-style. The color of the the background and of the blocks is configurable. Doesn't support Marquee-style.
        JvXPBar: a container side-bar with collapsable panels. Similar to TJvRollOut-Panel, but with string items instead of controls. Collapsing/Expanding happens smooth and nicely animated.

    JvXPBarDemo.png

    FMX.Ani.TAnimator.AnimateFloat - RAD Studio API ... AnimateFloat  TAnimationType TInterpolationType   AnimateFloat TAnimationType TInterpolationType

    https://www.youtube.com/watch?v=qZj4J1x1v_g&ab_channel=DelphiCreative
    https://github.com/DelphiCreative/DemoFree/tree/c8e382d27c14c2083951750d96be6669501ae469


    window container control  menu Navigation Sidebar





    delphi procedure TNotifyEvent list dynamic script Tlist dynamic

     https://docwiki.embarcadero.com/RADStudio/XE3/en/Procedural_Types#Method_Pointers

     https://stackoverflow.com/questions/8102255/delphi-dynamically-calling-different-functions

     

    delphi ActionList Component 

     

    blong.com/Articles/Actions/Actions.htm

     Actions, Action Lists And Action Managers 


    www.functionx.com/cppbuilder/topics/actions.htm

     The TContainedAction class is derived from the TBasicAction class, which itself is based on the TComponent class.

    programming language interface for calling natively compiled RunTime library Loading dynamic link libraries

      programming language interface for calling natively compiled RunTime library Loading dynamic link libraries

    https://en.wikipedia.org/wiki/Libffi
    https://dyncall.org/
    https://www.drdobbs.com/a-dynacall-function-for-win32/184416502
    https://docs.python.org/2/library/ctypes.html



    Spreadsheet Components Delphi

     TAdvSpreadGrid https://www.tmssoftware.com/site/aspgrid2.asp

    TMSSoftware https://www.tmssoftware.com 

    Powerful spreadsheet function calculation support added to the full TAdvStringGrid feature set. ... Delphi component VCL Grid. TAdvSpreadGrid extends the ...TAdvSpreadGrid extends the full power of TAdvStringGrid with formulas. Simple formula editing interface
        Auto recalculation
        Native XLS file import and export*
        Single cell recalculation, full recalculation
        Extensive range of mathematical functions
        Save with formulas or formula results only
        Single cell references in formulas
        Cell range formulas
        Formula precision for grid on cell basis
        Display formulas or formula results
        Date / time functions
        Intelligent formula aware copy and paste
        Can be extended with custom functions
        Cell names
        Cell name mode can be RxCy style or A1-style
        Can reference cells from other TAdvSpreadGrids
        Math library infrastructure to allow easy extending
        TAdvSpreadGrid with custom functions
        Includes the free ESBMaths library with 46 scientific constants and 19 mathematical functions from ESB Consultancy
        ESBPCS maths library available for even more statistical functions
        Intelligent and customizable hints while editing formulas

    https://github.com/sergio-hcsoft/Delphi-SpreadSheets 

    DevExpress components SpreadSheet component (cxSSheet).

    https://en.delphipraxis.net/topic/5819-looking-for-spreadsheet-component/

    JansFreeware A collection of freeware components including the TJanGrid4 a grid with spreadsheet capabilities. 

     git-bee/janSQL: Fast single user SQL engine for text-based files.

    Searching in the Internet I found only commercial components (such TMS and ProfGrid) until I found
    TJanGrid4: http://jansfreeware.com/jfdelphi.htm

    http://web.tiscalinet.it/patriziotorsa/delphi.html
    TjanGrid 4  

    TjanGrid is a TStringGrid descendant featuring: AutoCalc Spreadsheet, Named Cells, Cell Info Hints, R1C1 or A1 cell reference, LoadFrom CSV/HTML, SaveTo CSV/HTML/XML, insert/delete/append/autosize columns/rows. cut/copy/paste/clear/fill range. alpha/number/date SORT row/columns. wordwrap. source code included. help file. integral dialogs for : print/preview/zoom/formule/query/cell names. filter/show/hide rows/columns. color bands. http://members.xoom.com/JanVee/jangrid4.zip

     

     

    XLGrid http://www.gavina-software.com/components/xlgrid 

    https://www.gobestcode.com/html/math_parser_for_delphi.html
    TbcParser is a math expression parser VCL component that can be used with Delphi and C++ Builder 4,5,6,7, 2006, 2007, 2009, 2010, XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, Delphi 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney and most likely any newer version.

    split Floating-Point Arithmetic IEEE 754 IEEE 854-1987 Standard for Radix-Independent Floating-Point Arithmetic.

     split
    Floating-Point Arithmetic IEEE 754 IEEE 854-1987 Standard for Radix-Independent Floating-Point Arithmetic. 


        32-bit floating point  32-bit Single precision
        64-bit Double precision
        80-bit Extended precision


    32-bit floating point  
    Sign    Exponent    (Fraction)Mantissa
    1    +8    +23    Bits
    sign 1=negative 0= positive

    [-/+]*[2^ exp]*[frac bin]

    General Double Precision  IEEE 754-1985 64 bits
    values   Fraction
         Sign    Exponent    Fraction   
        1    +11    +52     Bits
        Sign bit: 1 bit
        Exponent: 11 bits
        Significand precision: 53 bits (52 explicitly stored) fraction

    https://en.wikipedia.org/wiki/Single-precision_floating-point_format
    https://en.wikipedia.org/wiki/Double-precision_floating-point_format
    https://en.wikipedia.org/wiki/Microsoft_Binary_Format#64-bit_MBF
    https://en.wikipedia.org/wiki/Exponent_bias

    Operations on special numbers are well-defined by IEEE. In the simplest case, any operation with a NaN yields a NaN result.
    Encodings of qNaN and sNaN
    https://en.wikipedia.org/wiki/NaN#Encoding

    http://steve.hollasch.net/cgindex/coding/ieeefloat.html
    IEEE Standard 754 Floating Point Numbers
    Steve Hollasch  •  Last update 2018-08-24 


    https://stackoverflow.com/questions/50975653/convert-extended-80-bit-to-string
    https://docwiki.embarcadero.com/Libraries/Tokyo/en/System.SysUtils.FloatToStr
    https://docwiki.embarcadero.com/Libraries/Tokyo/en/System.SysUtils.FloatToStrF
    https://docwiki.embarcadero.com/Libraries/Tokyo/en/System.SysUtils.FloatToText
    https://docwiki.embarcadero.com/Libraries/Tokyo/en/System.SysUtils.FloatToDecimal

    https://github.com/JackTrapper/Exact-Float-to-String-Routines
    ID: 19421, ExactFloatToStr_JH0 -- Exact Float to String Routines
    https://cc.embarcadero.com/Item.aspx?id=19421


    decompiles dot net Reverse Engineering

     https://softwarebrother.com/entry/ilspy+dnspy.html

     ilspy dnspy

    本文主要介紹ILSpy、dnSpy、JetBrains和Telerik JustDecompile以及可直接修改程序集的reflexil插件和脫殼反混淆的de4Dot插件。 文本的示例程序:.,dnSpy is a debugger and . ... #1392 'mono-2.0-bdwgc.dll' patched for DnSpy - Unity v. 2019.2.4 Opened by carlosnizer 3 months ago #936 Update ILSpy ... , 下載地址:https://github.com/0xd4d/dnSpy/releases無需安裝,和ILSPY同門,感覺比ILSPY還強大. 直接把dll拖拽到程序集資源管理器裏面就可以啦., 三、dnSpy (免费). 这款工具跟ILSpy非常相似,它还支持VB,IL的反编译,页面看起来很舒服, 反编译的质量也很高,代码识别也很高,唯一给我感觉 ...,Memory profiler: Visual Studio embedded profiler, dotMemory, Intel VTune Amplifier, VMMap, Mono Console Tools • C#/VB decompiler: ILSpy, dnSpy,

     

    Reverse Engineering - Dotfuscator Professional 6.4
    https://www.preemptive.com › userguide
     
    NET assemblies into MSIL assembly language. Using ILdasm. Type ildasm in the Developer Command Prompt for VS20xx shortcut in your Start Menu (or Visual Studio ...

    dnspy ildasm de4dot ILSpy NET debugger assembly editor Decompilers

     dnspy ildasm  de4dot ILSpy

    NET debugger assembly editor Decompilers

    https://bytepointer.com/articles/flare2015/index.htm
    https://cracklab.team/index.php?threads/7/

    dnspy ildasm  de4dot ILSpy NET debugger  assembly editor dnspy ildasm  de4dot ILSpy NET debugger  assembly editor Decompilers   ILSpy PDB generation


    ILSpy PDB generation


        Debug .NET and Unity assemblies
        Edit .NET and Unity assemblies
        Light and dark themes

    https://github.com/dnSpy/dnSpy
    ILSpy

     .NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!


        Decompilation to C#
        Whole-project decompilation (csproj, not sln!)
        Search for types/methods/properties (substring)
        Hyperlink-based type/method/property navigation
        Base/Derived types navigation, history
        BAML to XAML decompiler
        Extensible via plugins (MEF)
        Check out the language support status
    https://github.com/icsharpcode/ILSpy/wiki/Plugins
    https://github.com/icsharpcode/ILSpy/issues/829
    https://github.com/icsharpcode/ilspy
    Dotnet IL Editor

    https://blog.ndepend.com/in-the-jungle-of-net-decompilers/
    https://github.com/icsharpcode/ILSpy
    https://github.com/icsharpcode/ILSpy/tree/master/ICSharpCode.Decompiler.Console
    https://github.com/icsharpcode/AvaloniaILSpy?WT.mc_id=-blog-scottha

    Dotnet IL Editor (DILE) allows disassembling and debugging .NET 1.0/1.1/2.0/3.0/3.5/4.0 applications without source code or .pdb files. It can debug even itself or the assemblies of the .NET Framework on IL level.
    https://sourceforge.net/projects/dile/

    https://github.com/jbevain/cecil/wiki/Users
    https://github.com/sponsors/jbevain/
     
    CLI tool to compute the TypeRefHash (TRH) for .NET binaries.
    https://github.com/GDATASoftwareAG/TypeRefHasher
    Simple Assembly Explor (SAE) - Assembler, Disassembler, Deobfuscator, IL editor and more
     
    https://sites.google.com/site/simpledotnet/simple-assembly-explorer
    https://github.com/wickyhu/simple-assembly-explorer

    https://www.gdatasoftware.com/blog/2020/06/36164-introducing-the-typerefhash-trh
    TypeRefHash (TRH)
    https://sites.google.com/site/simpledotnet/simple-assembly-explorer
    https://github.com/wickyhu/simple-assembly-explorer

    .Net Reflector
    https://www.red-gate.com/products/dotnet-development/reflector/
    VB Decompiler
    https://www.vb-decompiler.org/
    ReSharper
    https://www.jetbrains.com/resharper/
    JetBrains DotPeak
    https://www.jetbrains.com/decompiler/
    Telerik JustDecompile
    https://www.telerik.com/products/decompiler.aspx
    ilasm & ildasm
    https://docs.microsoft.com/zh-cn/dotnet/framework/tools/ilasm-exe-il-assembler
    https://docs.microsoft.com/zh-cn/dotnet/framework/tools/ildasm -exe-il-disassembler?redirectedfrom=MSDN
    CodeReflect
    https://devextras.com/decompiler/

    https://github.com/0xd4d/de4dot/actions.
    https://github.com/de4dot/de4dot
    BitDiffer

    Homepage: http://reflexil.net
    Howto: http://www.codeproject.com/KB/msil/reflexil.aspx

    Compatible with:

        ILSpy
        Reflector
        Telerik JustDecompile

    Videos:

        Converting a .NET GUI application to console using Reflexil and ILSpy (http://bit.ly/1H5RDdh)
        Unity3D assembly patching (AngryBots game) with Reflexil (http://bit.ly/un1ty)
        Playing with Reflexil and Reflector (http://bit.ly/kill3rv1d)

    Download stable releases here: https://github.com/sailro/Reflexil/releases
    or nightly releases here: https://sailro.visualstudio.com/Reflexil/_build?definitionId=2&_a=summary&view=runs

    https://github.com/sailro/Reflexil/releases

    https://bytepointer.com/articles/flare2015/challenge07.htm
    FLARE-On 2015 Challenge #7

    Date: Aug 19, 2015

    CHALLENGE MATERIALS:

    filename:            YUSoMeta             https://bytepointer.com/download.php?name=flare2015_07_0CC92381BDCA47754B144A4FC2E41623.zip
    md5        d17e49a45830a40c844f2bbf1046c99a
    size        16 k (15,872 bytes)
    type        .NET 4.0 Console App
    Original FLARE Author        Matt Graeber
     
    tool:            CFF Explorer / PE Viewer/Editor            Visit  http://www.ntcore.com/
    tool:            de4dot / .NET de-obfuscator and unpacker            Visit Website http://de4dot.com/#download
    tool:            ILSpy / .NET decompiler            Visit  http://ilspy.net/
    tool:            Debugging Tools for Windows / Debugger            Visit  https://msdn.microsoft.com/en-us/library/windows/hardware/ff551063%28v=vs.85%29.aspx
    tool:            SOSEX Debugger Extension / Managed Code debugging helper            Visit  http://www.stevestechspot.com/

    http://dependencywalker.com/
    Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. For each module found, it lists all the functions that are exported by that module, and which of those functions are actually being called by other modules. Another view displays the minimum set of required files, along with detailed information about each file including a full path to the file, base address, version numbers, machine type, debug information, and more.

    https://bytepointer.com/articles/flare2015/challenge06.htm
     This is your basic-looking Android app that asks for the password, but you'll find the password is buried pretty deep. Android development skills are not completely necessary, however ARM assembly or C-pseudocode (IDA's C decompiler output) analysis skills are necessary to break this one.

    CHALLENGE MATERIALS:

    filename:            android.apk            https://bytepointer.com/download.php?name=flare2015_06_63C64502837A89CA0147095726DF8262.zip
    md5        8afcfdae4ddc16134964c1be3f741191
    size        1.03 mb (1,078,129 bytes)
    type        Android 'Froyo' App (Java + Native ARM code)
    Original FLARE Author        Moritz Raabe
     
    tool:            Android Studio (SDK) / ADB tool / Android Emulator            Visit  https://developer.android.com/studio/index.html
    tool:            dex2jar / DEX Converter            Visit  https://github.com/pxb1988/dex2jar
    tool:            JD-GUI 1.4.0 / Java Decompiler            Visit  http://jd.benow.ca/
    tool:            Apktool / APK Resource Decompiler            Visit  http://ibotpeaches.github.io/Apktool/install/
    tool:            IDA / Disassembler            Visit  https://www.hex-rays.com/products/ida/index.shtml

    This is your basic-looking Android app that asks for the password, but you'll find the password is buried pretty deep. Android development skills are not completely necessary, however ARM assembly or C-pseudocode (IDA's C decompiler output) analysis skills are necessary to break this one.

    NOTE: The compiled Java code for the app is located in classes.dex. We need to convert it from Dalvik bytecode (.DEX) to Java bytecode before we can decompile it. Run the following command to perform the Java conversion:

        d2j-dex2jar classes.dex



         IDA / Disassembler            Visit  https://www.hex-rays.com/products/ida/index.shtml
    OllyDbg 2.01 / Debugger            Visit  http://www.ollydbg.de/version2.html


     tool:            IDA / Disassembler            Visit  https://www.hex-rays.com/products/ida/index.shtml
    tool:            Exe2Aut / AutoIt3 Decompiler            Visit  https://web.archive.org/web/20140910212943/https://exe2aut.com/downloads/Exe2Aut.zip
    tool:            AutoIt 3.3.14.1 / AutoIt Interpreter            Visit  https://www.autoitscript.com/site/
    tool:            VMWare Workstation / Guest copy of Windows XP            Visit  http://www.vmware.com/products/workstation/
    tool:            Debugging Tools for Windows / WinDbg            Visit  https://msdn.microsoft.com/en-us/library/windows/hardware/ff551063%28v=vs.85%29.aspx
    tool:            VirtualKD / Kernel Debug Virtualization Accelerator            Visit  http://virtualkd.sysprogs.org/