Skocz do zawartości

Compi

Użytkownicy
  • Postów

    490
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Compi

  1. Compi

    Slap

    Panowie, kłócicie się jak dzieci. LPVoid potrzebny jest do wewnętrznej struktury Slapa, gdzie wykorzystuje wskaźniki do wołania zew. funkcji.
  2. Compi

    Slap

    Najlepiej integer. Jeśli to będzie string to niech zwraca wskaźnik @EDIT: Ten argument w dotnet_method to string? @@EDIT: Stary, nawet nie wiesz jak ci dziękuję. Teraz Slap będzie mógł korzystać z .NET Frameworka :)
  3. Compi

    Slap

    W slapie jest limit pięciu argumentów w wywołaniu call nazwa(arg1,arg5). Ale w natywnym kodzie jest limit 20 argumentów, które są umieszczne w wirtualnych rejestrach RG0..RG19 i odkładane na stosie od najstarszego do najmłodszego.
  4. Compi

    Slap

    Obydwie binarki z LPVOID i int @EDIT: Widzę, że czas usunąć limit 5 argumentów.
  5. Compi

    Slap

    Ok Bardzo bym prosił :) @Mógłbyś jeszcze LPVOID dodać, lub 4 bajtowe integery? Potrzebuje do wskaźników
  6. Compi

    Slap

    Nie ma nic w stylu Canvasa w HTML5? Jeżeli chodzi o twoją dllkę, to powiedz mi, czy argumenty są układane na stosie w stylu stdcall? Jeśli tak to nic nie trzeba przerabiać :)
  7. Compi

    Slap

    Jak rozkminię działanie libów pod uxem i sam owego uxa będę miał, to wersja pod linuxa powstanie. Co do wersji pod Windowsa, to planuje dodać pełne wsparcie SDL
  8. Próbowałem z buforami, ale wychodziły pewne powikłania. Program napisany w dwa dni. Co do trzymania plików razem, to generowany jest kod, który zawiera dane, gdzie dany plik jest.
  9. To jest sieciowy nieograniczony pendrive zabijaka!
  10. Nie, to jest coś w stylu twojego sieciowego pendrive z tym, że można dzielić się linkami. To już od usera zależy co tam wrzuci. Ograniczenie wrzucania: Plik ładowany jest do ramu. Jeżeli przekroczy limit to wyświetli się błąd. Dla tych co mają 100GB ramu, to i tak każda zmienna może mieć góra 2GB, więc ilość tu nic nie da. Dlatego zalecam wrzucanie partów po 50mb, żeby nikt nie miał problemów. Winrar ładnie dzieli pliki w każdym rozmiarze.
  11. Tytuł: Virtual Disk Gatunek: Dysk wirtualny/sieciowy/Nielimitowany pendrive Opis: Z początku miał to być klient do uploadu/downloadu warezów, ale przemieniłem trochę kod i powstał wirtualny dysk. Ma nieograniczone miejsce, a sam klient waży zaledwie pół megabajta. Wady: Trzeba przedłużać żywotność plików raz na dwa tygodnie. W przeciwnym wypadku przepadną po 30 dniach od ostatniego pobrania Miejsce jest nieograniczone. Można się dzielić hashkodami, które są zapisane w pliku uploaded.txt Mogą wam wyskakiwać błędy w stylu List index out of bound, ale to nic groźnego. Dla tych co mają mało ramu nie radzę wrzucać pojedynczo dużych plików. Pobieranie z dysku: Dwu klik na nazwę pliku. Jeśli znajdzecie jakieś błędy, to dajcie znać Download: https://gmclan.org/up3899_4_vd.html Rozmiar pliku: 214 KB Autorzy: Daniel Mazur
  12. Nadal uważam, że dyzmaken to troll
  13. Compi

    Slap

    No mniej więcej. Nie będzie widać samej pętli okna, tylko procedury. W stylu Button1Onclick
  14. Compi

    Slap

    Oba naraz Designer generuje kod. Każda akcja wykonana na formie ma swoje id. Każdy element ma swoje id Slap wykonuje nieskończoną pętle, rejestrując wiadomości z form i wykonuje napisany przez nas kod. Podobnie działa delphiak. Nikt nie widział pewnie pętli WndProc, ale ona jest
  15. Compi

    Slap

    To nie temat o Windowsach, więc koniec dyskusji. Co do Slapa, to mam pomysł jak zrobić środowisko(?) WYSWIG to operowania wizualnymi komponentami. To by było coś :]
  16. Panowie! Język interpretowany jest interpretowany przez interpreter. Oznacza to, że kod maszynowy kreowany jest dynamicznie, dopiero po uruchomieniu. Interpreter musi zachować się jak taki wirtualny procesor. Język kompilowany jest tłumaczony na instrukcje x86 (w przypadku win/lin). Teraz uwaga. Po kliknięciu dwa razy na plik exe, cały plik jest ładowany do pamięci. Dla nas cały plik to krzaki. Każdy krzak ma swój kod ASCII. Ten kod to ID komendy procesora. Przykład: GML 05 40 00 0F 00 . @ . . . Co to oznacza? add eax,000F0040 Pliki Exe nie są kompatybilne wstecz tylko z tego względu że funkcję które wywołują z bibliotek systemowych dawno już nie ma. I tak naprawdę czyste pliki binarne bez żadnych wywołań bibliotek i różnicy nagłówków ELF/PE działały by na każdym komputerze z prockiem x86 Tak więc kompilacja to nic innego jak tłumaczenie źródła na kod maszynowy, a interpretacja to wykonywanie pośrednie przez rezydentny program. Kompilacja: zmienna:=zmienna+5 -> INC 0xWSKAŹNIK_ZMIENNEJ, 5 Interpretacja zmienna:=zmienna+5 -> zmienna:=zmienna+5
  17. Compi

    Slap

    Wygląda na to, że trzeba będzie odrębne wsparcie dla Win 8 robić. Muszę na lepszego kompa zarobić :/ Póki co, wczoraj poszerzyłem standardową bibliotekę o tworzenie form i labelek, sterowanie nimi i przejmowanie WM_* Miałem do wyboru jeszcze Qt, ale same biblioteki ważą dobre 150mb
  18. Compi

    Slap

    Metroseksualne Windowsowe zaopatrzenie w dllki w wersji 8 zbiedniało o borlanda? Spróbuj na necie znaleźć. Będę musiał je w exeki pakować :/
  19. Compi

    Wasze telefony

    LG ku990i Telefon legenda. Oraz masa eriksonów, szajsungów, nokii. Działających lub nie
  20. Compi

    Slap

    Najlepsze w Slapie jest to, że można napisać w nim każdy rodzaj wirusa/trojana/spyware, a antywirusy nic nie wykryją, bo kod jest kreowany dynamicznie i nie potrzeba zbędnych bibliotek, bo wszystkie są (kernel32,user32,winsock). Można importować COMy, edytować rejestr. Wszystko @EDIT: Znacie jakąś godną polecenia bibliotekę sieciową oprócz WinSocka?
  21. Compi

    Slap

    Klasy i obiekty prawie gotowe: GML new class (console); class property state endclass class inherit console konsola konsola.state:=DZIALA! %echo konsola.state Slap wypluje DZIAŁA!
  22. Compi

    Slap

    Pomysł mojego autorstwa, poczytaj o UpdateResString @EDIT: Dodałem zmianę ikony skompilowanego pliku exe
  23. Compi

    Slap

    Tak dla zasady. Nie chcę, żeby ktoś widział kod źródłowy programu. Prosty algorytm, nie opóźnia uruchamiania programu @EDIT: Bawiąc się Slapem w funkcje matematyczne stworzyłem takie cuś: Korzystając z funkcji: GML abs((2*sin(y+x))*1000*x*y) Slap wykonał 109399 kroków na 220 natywnych linii kodu maszyny wirtualnej Zajeło to z dwie minut, ale jest. Jestem z siebie dumny. Muszę tylko zoptymalizować kod, żeby śmigało to szybciej.
  24. Compi

    Slap

    U mnie podobnie. Kod maszyny wirtualnej jest szyfrowany banalnym algorytmem (póki co :P) i wtapiany jest w plik exe interpretera. Czyli otrzymujemy zespoloną całość. Wystarczy trochę poczytać o budowie pliku exe. To co tak naprawdę siedzi w pliku Silnia.exe, czyli skompilowanym kodzie ze Slapa to: GML 000D0A76617220746F77726974650D0A0D0A63616C6C203A3A656E7472790D0A0D0A3A3A696E6974 636F6E736F6C650D0A256E6F5F6F7574250D0A76617220416C6C6F63436F6E736F6C650D0A657874 6 C206B65726E656C33322C416C6C6F63436F6E736F6C650D0A416C6C6F63436F6E736F6C653A3D524 7 300D0A25737464686E646C0D0A0D0A6578746C206B65726E656C33322C536574436F6E736F6C6554 6 9746C65410D0A0D0A5247313A3D636F6C6F7220610D0A0D0A6578746C20636C69622C73797374656 D 0D0A5247313A3D737464686E646C320D0A5247323A3D232331300D0A6578746C206B65726E656C33 3 22C476574436F6E736F6C65466F6E7453697A650D0A0D0A5247313A3D536C617020697320444D2B2 0 436F6D70696C65722076312E35202D2044616E69656C204D617A7572200D0A63616C6C203A3A7772 6 97465636F6E736F6C650D0A5247313A3D5374616E64617264206C696272617279207665722E20312 E 3237313231320D0A63616C6C203A3A7772697465636F6E736F6C650D0A72657475726E0D0A0D0A3A 3 A7772697465636F6E736F6C650D0A6578746C20636C69622C707574730D0A72657475726E0D0A0D0 A 3A3A6E65776C696E650D0A5247313A3D5F200D0A6578746C20636C69622C707574730D0A72657475 7 26E0D0A0D0A0D0A3A3A66726565636F6E736F6C650D0A0D0A5247313A3D2323300D0A5247323A3D2 3 23300D0A5247333A3D2323300D0A5247343A3D2323300D0A5247353A3D2323300D0A6578746C206B 6 5726E656C33322C46726565436F6E736F6C650D0A0D0A72657475726E0D0A0D0A3A3A70617573650 D 0A0D0A5247313A3D70617573650D0A0D0A6578746C20636C69622C73797374656D0D0A0D0A726574 7 5726E0D0A3A3A636F6C6F72697A650D0A25737464686E646C0D0A0D0A5247313A3D737464686E646 C 320D0A5247323A3D232339390D0A6578746C20636C69622C536574436F6E736F6C65546578744174 7 4726962757465410D0A0D0A0D0A72657475726E0D0A0D0A3A3A73797374656D0D0A0D0A766172204 5 52524F524C4556454C0D0A6578746C20636C69622C73797374656D0D0A4552524F524C4556454C3A 3 D5247300D0A72657475726E0D0A0D0A3A3A6162730D0A766172206162730D0A0D0A6578746C20636 C 69622C6162730D0A6162733A3D5E5E5247300D0A72657475726E0D0A0D0A3A3A746F61736369690D 0 A76617220746F61736369690D0A6578746C20636C69622C5F676574730D0A746F61736369693A3D5 2 47300D0A72657475726E0D0A0D0A3A3A737172740D0A76617220737172740D0A6578746C20737464 2 C737172740D0A737172743A3D5247300D0A0D0A72657475726E0D0A0D0A3A3A7371720D0A7661722 0 7371720D0A6578746C207374642C7371720D0A7371723A3D5247300D0A0D0A72657475726E0D0A0D 0 A0D0A3A3A6D7367626F780D0A766172206D7367626F780D0A6578746C207374642C6D7367626F780 D 0A6D7367626F783A3D5247300D0A0D0A72657475726E0D0A3A3A70726F6D70740D0A5247313A3D3E 0 D0A6578746C20636C69622C7072696E74660D0A0D0A72657475726E0D0A3A3A646F776E6C6F61640 D 0A76617220646F776E6C6F61640D0A6578746C207374642C646F776E6C6F61640D0A646F776E6C6F 6 1643A3D5247300D0A72657475726E0D0A0D0A3A3A77696E657865630D0A6578746C207374642C776 9 6E657865630D0A0D0A72657475726E0D0A0D0A3A3A72656774657374310D0A0D0A6578746C207374 6 42C72656774657374310D0A0D0A72657475726E0D0A0D0A3A3A787878780D0A6578746C207374642 C 787878780D0A72657475726E0D0A2F2F30783132633030640D0A3A3A696E707574626F780D0A7661 7 220696E707574626F780D0A5247313A3D2141480D0A65787473207374642C696E707574626F78310 D 0A696E707574626F783A3D52475354520D0A72657475726E0D0A0D0A0D0A3A3A726561646C6E0D0A 0 D0A63616C6C203A3A70726F6D70740D0A76617220726561646C6E0D0A766172206164727A0D0A524 7 313A3D2141480D0A65787473207374642C726561646C6E0D0A726561646C6E3A3D52475354520D0A 0 D0A72657475726E0D0A3A3A7374720D0A766172207374720D0A5247313A3D2141480D0A657874732 0 7374642C7374720D0A7374723A3D52475354520D0A0D0A72657475726E0D0A0D0A3A3A6D616B6566 6 F726D0D0A766172206D616B65666F726D0D0A6578746C207374642C6D616B65666F726D0D0A6D616 B 65666F726D3A3D5247300D0A72657475726E0D0A3A3A73657476616C75650D0A6578746C20737464 2 C73657476616C75650D0A72657475726E0D0A0D0A3A3A66696E6477696E646F770D0A76617220666 9 6E6477696E646F770D0A6578746C207573657233322C46696E6457696E646F77570D0A66696E6477 6 96E646F773A3D5247300D0A72657475726E0D0A0D0A3A3A73696C6E69610D0A7661722073696C6E6 9 610D0A76617220737465700D0A76617220666F726D756C610D0A666F726D756C613A3D6E0D0A3A3A 7 2657030303030424644430D0A6E2D310D0A737465703A3D6E0D0A76617220666F726D756C610D0A4 0 464F524D554C4120666F726D756C612A737465700D0A666F726D756C613A3D5247300D0A73696C6E 6 9613A3D666F726D756C610D0A636D70206E2C32200D0A6966203E203A3A726570303030304246444 3 0D0A72657475726E200D0A0D0A2F2F50726F6772616D206C69637AB963792073696C6E69652E2050 7 27A796BB3616420534C41500D0A3A3A656E7472790D0A5247313A3D53696C6E69610D0A5247323A3 D 2323300D0A5247333A3D2323300D0A5247343A3D2323300D0A5247353A3D2323300D0A63616C6C20 3 A3A696E6974636F6E736F6C650D0A766172206E0D0A5247313A3D506F64616A206C69637A62653A2 0 0D0A5247323A3D2323300D0A5247333A3D2323300D0A5247343A3D2323300D0A5247353A3D232330 0 D0A63616C6C203A3A7772697465636F6E736F6C650D0A5247313A3D2323300D0A5247323A3D23233 0 0D0A5247333A3D2323300D0A5247343A3D2323300D0A5247353A3D2323300D0A63616C6C203A3A72 6 561646C6E0D0A6E3A3D726561646C6E0D0A5247313A3D2323300D0A5247323A3D2323300D0A52473 3 3A3D2323300D0A5247343A3D2323300D0A5247353A3D2323300D0A63616C6C203A3A73696C6E6961 0 D0A5247313A3D73696C6E69610D0A5247323A3D2323300D0A5247333A3D2323300D0A5247343A3D2 3 23300D0A5247353A3D2323300D0A63616C6C203A3A7772697465636F6E736F6C650D0A48414C54 Grubo, co? :D
  25. Compi

    Slap

    Bóg chciał, że dziewczyny nerdy są fe. Ble :sick: Co do kodu źródłowego, to muszę go uporządkować, a potem wypuszczę. Tak się ciekawię, jakby to było dodać implementację OpenGL, directxa, socketów i innych ciekawych dupereli. Standardowa biblioteka jest w folderze lib pod nazwą standard.dmlib. Otwórzcie sobie notatnikiem i pomóżcie w rozwoju! @EDIT: Kod źródłowy najważniejszego elementu, czyli wywoływania funkcji z dllek: GML push [rg5] push [rg4] push [rg3] push [rg2] push [rg1] call paddr
×
×
  • Dodaj nową pozycję...