dariusmare Posted January 17, 2015 Report Posted January 17, 2015 Salut, am 2 functii si vreau sa le fac detour:private void WriteTempRezults(string iD, string test, string points, string time, string memory, string msg)private void InsertListView(string testNumber, string points, string time, string memory, string msg)Problema este ca nu pot sa gasesc adresele la care se afla functiile. Orice indicatie ar bine primita.Aplicatie: EvaluatorVirustotal: https://www.virustotal.com/sv/file/8848b.../analysis/ Quote
Nytro Posted January 17, 2015 Report Posted January 17, 2015 (edited) Asta: Moles - Isolation framework for .NET - Microsoft Research ?Poate te ajuta:- MethodLogger - Hook into method calls in .NET binaries - CodeProject - PostSharp – We Make .NET Languages Stronger- Smart Unit Testing - Made easy with Typemock - .NET CLR Injection: Modify IL Code during Run-time - CodeProjectNote: Nu am citit prea multe despre ele dar mi se pare un subiect interesant si o sa aflu mai multe zilele astea. Edited January 17, 2015 by Nytro Quote
dariusmare Posted January 18, 2015 Author Report Posted January 18, 2015 Am citit despre moles dar nu ma prea ajuta. Daca te-ai prins ce vreau sa fac , trebuie sa scriu codul in c++ si nu am voie sa ma folosesc de librarii externe, numai cele ce vin cu compilatorul ... idei ? Quote
Nytro Posted January 18, 2015 Report Posted January 18, 2015 1. MSIL disassembly2. Vezi bytecode pentru invoke3. Pune un jmp din MSIL (banuiesc ca exista un echivalent)4. Functia ta sa preia argumentele (stack?)5. Restore original bytes (ca la hook obisnuit)6. Restaurezi bytesIn fine, sa faci echivalentul unui hook din C++.Sfaturi:1. Invata MSIL2. Invata bytecode MSIL Quote
dariusmare Posted January 18, 2015 Author Report Posted January 18, 2015 Cum fac convert din IL in assembly ? Ollydbg nu merge din cate stiu pentru .net. Quote
Nytro Posted January 18, 2015 Report Posted January 18, 2015 (edited) Nu IL in assembly. IL in bytecode de IL. IL opcodes. Interpretorul de MSIL nu are de-a face cu ASM (-ul clasic). El citeste opcode-urile de MSIL Adica:call void [mscorlib]System.Console::Write (string)Poate sa fie 0xFF 0x11223344 unde 0xFF == call si 0x11223344 sa fie adresa functiei.Cautai putin dar nu gasii documentatie legata de asa ceva. Dar probabil sunt tool-uri care te ajuta, MSIL decompiler, .NET reflector, de genul acesta. Nu stiu pentru ca nu le-am incercat dar verifica daca au optiune sa iti arate bytecode.Edit: Write MSIL Code on the Fly with the .NET Framework Profiling APIEdit: CLR Injection: Runtime Method Replacer - CodeProject Edited January 18, 2015 by Nytro Quote