• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    KOJAProgramovani 40+
    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.
    VOY
    VOY --- ---
    Jakkoliv je tema zajimavy, tak si myslim, ze se pomalu ale jiste dostavame mimo tema 40+ ;-).
    ANT_39
    ANT_39 --- ---
    CERMI_FOX: Kdybys radši dropoval nenápadný plausible-deniability hinty, aby se Kleinzach nažral a NDA zůstalo celý :)
    SUCHRE
    SUCHRE --- ---
    KLEINZACH: jo, tomu rozumim. od urcityho okamziku to tak je. na druhou stranu je treba rict, ze timhle zpusobem se daji ziskat neocenitelny zkusenosti, ze?
    AMBIENTIUM
    AMBIENTIUM --- ---
    CERMI_FOX: taky by mohl jít psát viry a antiviry :-))))
    CERMI_FOX
    CERMI_FOX --- ---
    KLEINZACH: kruty. Nechces jit delat k nam do Microsoftu a zdrojak widli si stahnout z gitu namisto tohohle vyzkumnyho dila? :-)
    KLEINZACH
    KLEINZACH --- ---
    NOHOUS: jj urcite, to k cemu to potrebuju je open source (v podstate modernizuju blackbox4windows (byl jsem dev/maintainer pred tim nez prisly deti, pak jsem to musel povesit na hrebik), bb4win, bbLean a kdovi kolik verzi to melo).
    JANFROG
    JANFROG --- ---
    KLEINZACH: Bez .pdb se to taky da, i kdyz je to vic prace. Odrazis se z export, import a relocation tables v tech .DLL. To pomuze alespon na ta volani co prekracuji hranici tech .dll. Ale jasne. .pdb je o dooost pohodlnejsi.
    NOHOUS
    NOHOUS --- ---
    KLEINZACH: zdokumentujes to pak nekde verejne?
    Kliknutím sem můžete změnit nastavení reklam