• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    KOJAProgramovani 40+
    Diskuze o obzive programovanim pro starsi a pokrocile.
    rozbalit záhlaví
    E2E4
    E2E4 --- ---
    JANFROG: tomu říkám programování lvl 40+ :)
    JANFROG
    JANFROG --- ---
    Diky, commitnuto:
    commit beeda6b6c4241d1dd07932ba0f8bba8bc8badb40
    Author: ...
    Date:   Thu Sep 26 14:21:15 2024 +0100
    
        gdb: haikuize comment in clear_symtab_users ()
        
        While working on Python API for compunits and symtabs I stumbled upon
        a nice comment in clear_symtab_users (). A friend of mine suggested
        it should have been rewritten as haiku. This commit does so.
        
        Co-authored-by: SPIKE411@nyx.cz
    
    

    Ale neco mi rika, ze do upstreamu to neprojde...
    SPIKE411
    SPIKE411 --- ---
    JANFROG:
    --- comment.txt		Thu Sep 26 15:04:46 2024
    +++ commentv2.txt	Thu Sep 26 15:05:08 2024
    @@ -1,2 +1,3 @@
    -  /* Someday, we should do better than this, by only blowing away
    -     the things that really need to be blown.  */
    +  /* Someday we’ll do more,
    +     blowing away what weighs us—
    +     only the true light.  */
    JANFROG
    JANFROG --- ---
    SPIKE411: Posles patch?
    SPIKE411
    SPIKE411 --- ---
    JANFROG: To mělo být napsané jako haiku.
    JANFROG
    JANFROG --- ---
    Komentare v kodu jsou super.

      /* Someday, we should do better than this, by only blowing away
         the things that really need to be blown.  */
    
    JANFROG
    JANFROG --- ---
    TREKIE: To bohuzel nefunguje, pravidelne se to zkousi a vzdy se to zavrhne ze to nedela co ma. Ja sam
    jsem s tim stravil dost casu :-(
    TREKIE
    TREKIE --- ---
    Features for editing and navigating C++ code in VS Code such as
    https://code.visualstudio.com/docs/cpp/cpp-ide#_code-formatting
    JANFROG
    JANFROG --- ---
    Dela tady nekdo na GNU projektech? Neznate nekdo nejaky VS code plugin by pomohl s formatovanim podle GNU standardu kdyz clovek pise C++ kod?
    SLEDGE
    SLEDGE --- ---
    Až na loňské zaškobrtnutí již tradiční soutěž ve tvorbě nové hry pro DOS :) Asi top cena pro vítěze je Nintendo Game Cube :)
    Soutěž >> tvorba hry pro DOS >> #hvdosdev 2024 | high-voltage.cz
    https://www.high-voltage.cz/2024/soutez-tvorba-hry-pro-dos-hvdosdev-2024/
    EMBI
    EMBI --- ---
    KLEINZACH: z druhyho zarizeni ssh / powershell a
    Get-Process -Name "explorer" | Stop-Process -Force
    E2E4
    E2E4 --- ---
    KLEINZACH: I don't want to live on this planet anymore . gif
    DEEFHA
    DEEFHA --- ---
    To mi připomíná postupy, kterými jsem se snažil reverznout datové formáty jednoho devadesátkového diskmagu. To byla taky parádní detektivka a dost jsem se přitom naučil. A nakonec z toho i něco vypadlo :-)

    GitHub - deefha/klan2016-re: KLAN 2016 - reverzní inženýrství
    https://github.com/deefha/klan2016-re

    KLAN 2016 - viewer
    https://viewer.klan2016.cz/#/00/images/0
    JANFROG
    JANFROG --- ---
    KLEINZACH: Cool!
    KLEINZACH
    KLEINZACH --- ---
    tak jeste abych to uzavrel a uz koncim:

    jeste to nebyla konecna, protoze trida CVirtualDesktopManager je implementace, ale ne interface (ma mnohem vic metod a i poradi je jiny), ja hledam ve skutecnosti IVirtualDesktopManagerInternal2 (zrejme).

    pustil jsem ghidru na to dll a sel hledat vtables od toho interface, kterej me zajima a vskutku jej nasel. ghidra z toho dll a pdb v podstate vyrobilo zpetne tu classu a rovnou vtable dekodovala do citelny formy, abych to nemusel delat manualne (to mi na tom druhym softu chybelo.. ono to umi python pluginy, ale to uz je placeny).

    zde je videt: nalevo dekompilovana trida, napravo vtable, prvni tri volani jsou od IUnknown baze, ten zelenej zbytek je to co me zajima:



    coz odpovida interfacu (a to je muj cil):

    struct IVirtualDesktopManagerInternal : public IUnknown
    {
    public:
    	virtual HRESULT STDMETHODCALLTYPE GetCount (UINT *pCount) = 0;
    
    	virtual HRESULT STDMETHODCALLTYPE MoveViewToDesktop (IApplicationView * pView, IVirtualDesktop * pDesktop) = 0;
    
    	virtual HRESULT STDMETHODCALLTYPE CanViewMoveDesktops (IApplicationView * pView, int * pfCanViewMoveDesktops) = 0;
    
    	virtual HRESULT STDMETHODCALLTYPE GetCurrentDesktop (IVirtualDesktop ** desktop) = 0;
    
    	virtual HRESULT STDMETHODCALLTYPE GetDesktops (IObjectArray ** ppDesktops) = 0;
    
    	virtual HRESULT STDMETHODCALLTYPE GetAdjacentDesktop (IVirtualDesktop * pDesktopReference, AdjacentDesktop uDirection, IVirtualDesktop ** ppAdjacentDesktop) = 0;
    
    	virtual HRESULT STDMETHODCALLTYPE SwitchDesktop (IVirtualDesktop * pDesktop) = 0;
    
    	virtual HRESULT STDMETHODCALLTYPE CreateDesktopW(IVirtualDesktop ** ppNewDesktop) = 0;
    
    	virtual HRESULT STDMETHODCALLTYPE MoveDesktop(IVirtualDesktop * desktop, HMONITOR monitor, INT32 index);
    ..
    };
    
    MIDL_INTERFACE("EF9F1A6C-D3CC-4358-B712-F84B635BEBE7") // build 10130
    IVirtualDesktopManagerInternal10130: public IVirtualDesktopManagerInternal { };
    
    MIDL_INTERFACE("AF8DA486-95BB-4460-B3B7-6E7A6B2962B5") // build 10240
    IVirtualDesktopManagerInternal10240 : public IVirtualDesktopManagerInternal { };
    
    MIDL_INTERFACE("f31574d6-b682-4cdc-bd56-1827860abec6") // build 10536
    IVirtualDesktopManagerInternal10536 : public IVirtualDesktopManagerInternal { };
    
    MIDL_INTERFACE("f31574d6-b682-4cdc-bd56-1827860abec6") // build 16299
    IVirtualDesktopManagerInternal16299 : public IVirtualDesktopManagerInternal { };
    


    dal sem kousek vic, aby bylo videt jak se furt meni ty guidy, plus treba v buildu 22000 pribyly i dalsi metody

    --

    tak jo, diky za pozornost - kdybych to vypravel v hospode, vsichni by meli skelny oci a pohled do nekonecna :)

    (a proc mi to padalo? mel jsem prehozene metody v interface, duh)
    JANFROG
    JANFROG --- ---
    SPIKE411: Compiler explorer je tool, ktery me zasadne zvysil kvalitu pracovniho zivota. Skoda jen, ze neumi zobrazit relokace.
    SPIKE411
    SPIKE411 --- ---
    KLEINZACH: Ad IDA/Ghidra - najdeš docela dost materiálů, které se zaobírají RE her. Tak třeba bys z toho mohl taky čerpat. :)

    Nějaké odkazy jsem dával sem:
    [SPIKE411 @ zajimave projekty na githubu]
    [SPIKE411 @ zajimave projekty na githubu]

    (Já tomu vůbec nerozumím, jen je to pro mě vzrušující čtení. :)))
    JANFROG
    JANFROG --- ---
    KLEINZACH: Presne! Tohle je typ znalosti ktere ma malo lidi (komparativne k mase programatoru) a kdyz si najdes nekoho kdo tohle potrebuje, muzes si diktovat podminky - druheho takoveho tezko najdou (a kdyz, bude stejne zpovykanej :-)
    KLEINZACH
    KLEINZACH --- ---
    SUCHRE: jo je to zajimava lekce, pac to delam poprvy: jeste pred mesicem jsem netusil co dela COM uvnitr, nevedel nic o widlich RPC a uz vubec netusil ze existuje ALPC. oprasil sem trochu asm (psat bych v tom uz asi neumel, ale zbezne to cist jeste umim), nasel celkem paradni nastroje (IDA je fakt bozi, jeste ghidra vypada dobre) ale je to vlastne celkem zabava :) a urcite se to jeste bude hodit az bude nekde neco otravovat..

    CERMI_FOX: lol, ja a microsoft bysme nemeli sedet v jedny lavici :D
    ANT_39: budme radikalni: open sourcnout widle!
    SUCHRE
    SUCHRE --- ---
    Tohle je 40+. Predstava, ze to nekdo pod 30 pise v jave, je jeste desivejsi.
    Kliknutím sem můžete změnit nastavení reklam