-
11. Data: 2019-03-26 21:28:19
Temat: Re: elementy furii
Od: fir <p...@g...com>
W dniu wtorek, 26 marca 2019 15:57:38 UTC+1 użytkownik fir napisał:
> W dniu wtorek, 26 marca 2019 13:50:08 UTC+1 użytkownik fir napisał:
> > W dniu wtorek, 26 marca 2019 13:37:41 UTC+1 użytkownik fir napisał:
> > > W dniu wtorek, 26 marca 2019 12:08:09 UTC+1 użytkownik fir napisał:
> > > > W dniu wtorek, 26 marca 2019 11:30:01 UTC+1 użytkownik fir napisał:
> > > > > w zeszly roku w kilka dni napisalem pewne elementy kompilatora takiego
jakby "pre c"
> > > > > (jezyka ktory w zamysle raczej jest wstepem
> > > > > do C/C2/hipermodularnego c bo prawie nic tam nie dziala, no ale mowie
pisalem to z piec dni
> > > > >
> > > > > tak czy owak da sie skompilowac cos w rodzaju helloworda na windows 32
(wywoluje moja wlasna dllke by ladniej wygladalo niz zwyczjanie na konsoli)
> > > > >
> > > > > http://minddetonator.htw.pl/furia3.zip
> > > > >
> > > > > screenshot w outputu
> > > > >
> > > > > http://minddetonator.htw.pl/furia3.png
> > > > >
> > > > > bylo to o tyle mozliwe ze z rok wczesniej (w 2017? niezbyt pamietam te daty
bo ostatnio sie zaczalem mega lenic) nap[isalem asembler (organic asm)... ...ten asm
nie ma tez wklepanych wielu mnemonikow, bo mi sie nie chcialo, nie ma tez chyab
wszystkich trybow adresowan, dlatego rozbudowayanie tego kompilatora wymaga grzebania
i w jednym i drugim i przez to jest lekko ciezkie (nie az tak co prawda ale chyba
faktycznie przyznam ze pisanie kompilatora i asma na x86/win32
> > > > > jest projektem nieco trudniejszej klasy niz
> > > > > pisanie bardziej typowych apek.. nie jest 'zbyt' trudne ale poprostu
trzebbyc involved (troche bardziej niz zwykle) i to troche meczy, nie zawsze mi sie
chce
> > > > >
> > > > > z drugiej strony fajnie miec swoj kompilatorek..zastanawiam sie kiedy sie w
sobie zewre by napisac troche wiecej featurez :/
> > > >
> > > > och god, ladnie napisalem posta i przypadkowe nacisniecie dwu klawiszow naraz
spowodowalo ze nizknal w ulamek sekundy
> > > >
> > > > kod jaki to kompiluje jest taki
> > > >
> > > >
> > > > int becground_color: 0
> > > >
> > > > int RunFramePointer: 0
> > > >
> > > > void RunFrame()
> > > > becground_color = becground_color + 65536
> > > > becground_color = becground_color + 512
> > > > becground_color = becground_color + 3
> > > >
> > > > cdecl green_fire SprintCB(-1, becground_color)
> > > > cdecl green_fire ClearFrameData(becground_color);
> > > > cdecl green_fire SprintXY(10, 10)
> > > > cdecl green_fire sprint(" Helllo World from Furia \x00");
> > > > return
> > > >
> > > >
> > > > void main()
> > > > asm mov eax RunFrame
> > > > asm mov (RunFramePointer) eax
> > > > cdecl green_fire RegisterRunFrame( RunFramePointer );
> > > > cdecl green_fire SetSleepValue(30)
> > > > cdecl green_fire SetupWindow2(" furia pre c compiler \x00", 4,
5, 567, 443 );
> > > > return
> > > >
> > > > troche slabo to przypomina c ale pisalem by jak nalatwiej mis ie to pisalo a
nie by od razu przypominalo c
> > > >
> > > > chyba 3 rzeczy powinienem poprawic na poczatek,
> > > >
> > > > 1) moj asm nie wspiera o ile pamietam wywolywanie funkcji z calbackami
dlatego mam tutaj stub w asmie
> > > >
> > > > asm mov eax RunFrame
> > > > asm mov (RunFramePointer) eax
> > > > cdecl green_fire RegisterRunFrame( RunFramePointer );
> > > >
> > > > zamiast
> > > >
> > > > cdecl green_fire RegisterRunFrame( RunFrame );
> > > >
> > > > a to daltego ze asm wspiera
> > > >
> > > > push (RunFramePointer)
> > > > call green_fire.RegisterRunFrame
> > > > pop eax
> > > >
> > > > ale nie
> > > >
> > > > push (RunFrame)
> > > > call green_fire.RegisterRunFrame
> > > > pop eax
> > > >
> > > > w pierwszej wersji etykiete jest z sekcji .data a w drugiej to label z codu
> > > >
> > > > ale to chyab mozna poprawic (jakbym sie troche skupil)
> > > >
> > > > 2)
> > > >
> > > > int becground_color: 0
> > > > int RunFramePointer: 0
> > > >
> > > > powinienem przerobic na zwykle
> > > >
> > > > int becground_color = 0
> > > > int RunFramePointer = 0
> > > >
> > > > nie wiem czemu tak nawet napisalem chyab chialem odrozniac
deklaracje-inicjalizacje od przypisan ale skoro int jest z lewej to wiadomo ze to
deklaracja
> > > >
> > > > 3) te wszystkie
> > > >
> > > > cdecl green_fire SprintXY(10, 10)
> > > >
> > > > wygladaja glupio jesli tego jest za duzo
> > > > wiec chyab trzeba zbudowac zbiorcza tablice importow cos w stylu
> > > >
> > > > import cdecl "green_fire" SprintXY SprintCB sprint RegisterRunFrame
SetSleepValue SetupWindow2
> > > >
> > > > co jest swoja draga mniej logiczne ale pozniej kody nizej wygladaja bardziej
c-owo
> > > >
> > > > ostatnio czuje sie jak na mega kacu 9zdrowie ciagle fatalne, dusi mnie w
plucahc niesamowicie), ale jakbym sie zebral to to mnie teraz czeka
> > >
> > > ok poprawilem tego calbacka,
> > >
> > > http://minddetonator.htw.pl/furia4.zip
> > >
> > > wiec kompilator kompiluje teraz ciut bardziej strawny kod
> > >
> > >
> > > int becground_color = 0
> > >
> > >
> > > void RunFrame()
> > > becground_color = becground_color + 65536 + 512 + 3
> > > cdecl green_fire SprintCB(-1, becground_color)
> > > cdecl green_fire ClearFrameData(becground_color);
> > > cdecl green_fire SprintXY(10, 10)
> > > cdecl green_fire sprint(" Helllo World from Furia \x00");
> > > return
> > >
> > >
> > > void main()
> > > cdecl green_fire RegisterRunFrame( &RunFrame );
> > > cdecl green_fire SetSleepValue(30)
> > > cdecl green_fire SetupWindow2(" furia pre c compiler \x00", 4, 5,
567, 443 );
> > > return
> > >
> > > musze dodac ze nie wszystkie "wyrazenia" dzialaja (praktycznie to prawie zadne)
> > > aiec trzeba tu troche rzeczy podopisywac,
> > > ale wywolania z dllek dzialaja (dzilaja tez chyab proste ify i fory) wiec jest
> > > poczatkowy fun
> > >
> > >
> > > troche strach przyznam grzebac w moim asemblerze bo asembler jest troche
zagmatwany, najgorsze w nim jest to ze
> > > jak sie liczy adresy do etykiet to trzeba to sklafdowac, obliczac, a pozniej
jeszcze ew fizupowac i mozna sie troche pogubic, - sam jestem leniwy i nie zawsze
lubie sie zaglebiac a w powierzchniowym trybie nie wszystko da sie ad-hoc dopicac,
tak ze az sie balem grzebac w tym calbacku - ale jakos poszlo ;c
> >
> > inne problemy jest ze tam niemal nic nie dziala, np mam importowanie funkcji z
dllek ale nei mam importow zmiennych, musialbym grzebac chyba w asmie a mi si enei
chce, do tego nie ma tez chyab nawet przypisywania zwracanej zmiennej do inta,
> > do tego jak ja zarzuce callback (a moje libka dziala troche na calbackach to nie
> > mam narazie czytania lokalnych w tym calbacku ze stosu itd (wogole nie mam
zmiennych lokalnych)
> >
> > to wszystko nei sa strasznie duze poprawki ale tzreba to wklepac
> >
> > narazie chyba czas troche odpoczac i wypic keliszek wina za jednak pewien skuces
(wlasny kompilatorek z potencjalna kontrola nad wszystkimi etapami procesu to jest
jednak cos fajnego, khu)
>
> jeszcze troche bardziej rozbudowany przyklad
>
> http://minddetonator.htw.pl/furia5.zip
>
> int becground_color = 0
> int mouse_x = 0
> int mouse_y = 0
> int last_key_pressed = 0
> int PAGE_UP = 33
>
>
> void ProcessMouseMove()
> asm mov eax (esp+4)
> asm mov (mouse_x) eax
> asm mov eax (esp+8)
> asm mov (mouse_y) eax
>
> return
>
> void ProcessKeyDown()
> asm mov eax (esp+4)
> asm mov (last_key_pressed) eax
>
> if last_key_pressed = PAGE_UP
> cdecl green_fire ToggleFullscreen()
> ef
>
> return
>
> void RunFrame()
> becground_color = becground_color + 65536 + 512 + 3
> cdecl green_fire SprintCB(-1, becground_color)
> cdecl green_fire ClearFrameData(becground_color);
> cdecl green_fire SprintXY(10, 10)
> cdecl green_fire sprint(" Helllo World from Furia \x00");
> cdecl green_fire SprintCB(0, becground_color)
>
> cdecl green_fire SprintXY(11, 20)
> cdecl green_fire sprint(" mouse x %d y %d \x00", mouse_x, mouse_y);
> cdecl green_fire SprintXY(11, 22)
> cdecl green_fire sprint(" key pressed %d \x00", last_key_pressed);
>
> return
>
>
> void main()
> cdecl green_fire RegisterRunFrame( &RunFrame );
> cdecl green_fire RegisterMouseMove( &ProcessMouseMove );
> cdecl green_fire RegisterKeyDown( &ProcessKeyDown );
>
> cdecl green_fire SetSleepValue(30)
> cdecl green_fire SetupWindow2(" furia pre c compiler \x00", 4, 5,
567, 443 );
> return
>
> musialem dac stuby we wlasnym zreszta asmie by moc czytac argumenty funkcji z
callbacka i jest tam tez watly if, ale pokazuje ze od biedy mozna w tym juz napisac
jakies apki, choc czlek by sie troche nameczyl bo zam malo tam rzeczy ciagle
zaimplementowane
>
> polecam odpalic nie jest to wirus (mozna przesanowac np antywirem online, np
>
> https://www.virustotal.com/pl/
w tym wirus ttal btw 5 pokazuje alerty a 60 nie, ale to dlatego ze sam generuje exe i
nie chialo mi sie wypelniac wszystkich pol, pozniej to poprawie
tak czy owak jestem zadowolony ze udalo sie trzasnac chocby taki kompilatorek -
trzasnalem go o ile pamietam w okolo tydzien.. i jest to pozytywny fakt
myslalem ze kompilator bedzie trudniejszy do pisania niz assembler a chyba jest
latwiejszy...
szkoda ze jestem na swoistym kacu (po pepsicoli), rowniez moje wyzsze zdolnosci
intelektualne chyab stepialy (przez co mzowiwe ze latwiej mi sie pisze, bo intelekt
genaralnie moze robic za 'big distraction' ) (nie chialbym jednak oglupiec na stale,
a to boje sie mi grozi)
-
12. Data: 2019-03-26 22:00:47
Temat: Re: elementy furii
Od: q...@t...no1 (Queequeg)
fir <p...@g...com> wrote:
> w tym wirus ttal btw 5 pokazuje alerty a 60 nie,
XD
> rowniez moje wyzsze zdolnosci intelektualne chyab stepialy
XDD
> (przez co mzowiwe ze latwiej mi sie pisze, bo intelekt genaralnie moze robic za
'big distraction' )
XDDD
> (nie chialbym jednak oglupiec na stale, a to boje sie mi grozi)
XDDDDDDDD boże fir, powiedz, że ty się zgrywasz, błagam. Nie wierzę, że
można tak na serio.
--
https://www.youtube.com/watch?v=9lSzL1DqQn0
-
13. Data: 2019-03-26 22:18:10
Temat: Re: elementy furii
Od: Emru <e...@g...com>
W dniu Tue, 26 Mar 2019 12:12:57 +0000, użytkownik Queequeg napisał:
> this shouldnt appear unfortunate error detected p0zioma linia poza
> zakresem didnt found file %s dhgekjh cannot mallock data for file %s
> unsupported case atthe moment cant open process for get memory info
> tryin connect to server '%s'
Brakuje tylko fprintf(stderr, "DUPA\n");
-
14. Data: 2019-03-26 22:47:08
Temat: Re: elementy furii
Od: q...@t...no1 (Queequeg)
Emru <e...@g...com> wrote:
>> this shouldnt appear unfortunate error detected p0zioma linia poza
>> zakresem didnt found file %s dhgekjh cannot mallock data for file %s
>> unsupported case atthe moment cant open process for get memory info
>> tryin connect to server '%s'
>
> Brakuje tylko fprintf(stderr, "DUPA\n");
https://i1.kwejk.pl/k/obrazki/2012/08/5a14bd17ed1d1e
d2eb39a779769c8dd3.png ;)
W pliku HelloFuria.c, znajdującym się w archiwum, jest za to "dipa",
"zipa" i "upa".
#v+
void upa()
cdecl msvcrt printf(" upa \x00")
return
void foo()
dipa()
zipa(zipa_x = 11, zipa_y=30)
cdecl msvcrt printf(" zipa sum %d difference %d \x00", zipa_sum, zipa_difference)
upa()
return
void dipa()
cdecl msvcrt printf(" dipa \x00")
return
#v-
--
https://www.youtube.com/watch?v=9lSzL1DqQn0
-
15. Data: 2019-03-27 16:59:36
Temat: Re: elementy furii
Od: fir <p...@g...com>
to bylo ofc nawiazanie do slawnego
'big firr & pippa zippa, deszcze niespokojne, 2017'
(ofc, dla mnie)
no dobra chyba trzeba sie sprezyc i zrobic kilka malych poprawek..strach troche jest,
jakbym wozil wegiel
-
16. Data: 2019-03-28 08:21:29
Temat: Re: elementy furii
Od: q...@t...no1 (Queequeg)
fir <p...@g...com> wrote:
> to bylo ofc nawiazanie do slawnego
> 'big firr & pippa zippa, deszcze niespokojne, 2017'
> (ofc, dla mnie)
Google nic nie pokazuje po wpisaniu tych słów, więc czy aby sławnego?
> no dobra chyba trzeba sie sprezyc i zrobic kilka malych poprawek..strach troche
jest, jakbym wozil wegiel
Może wożenie węgla to nie byłby taki zły pomysł...
--
https://www.youtube.com/watch?v=9lSzL1DqQn0
-
17. Data: 2019-03-28 08:55:13
Temat: Re: elementy furii
Od: fir <p...@g...com>
W dniu czwartek, 28 marca 2019 08:21:31 UTC+1 użytkownik Queequeg napisał:
> fir <p...@g...com> wrote:
>
> > to bylo ofc nawiazanie do slawnego
> > 'big firr & pippa zippa, deszcze niespokojne, 2017'
> > (ofc, dla mnie)
>
> Google nic nie pokazuje po wpisaniu tych słów, więc czy aby sławnego?
>
> > no dobra chyba trzeba sie sprezyc i zrobic kilka malych poprawek..strach troche
jest, jakbym wozil wegiel
>
> Może wożenie węgla to nie byłby taki zły pomysł...
>
robisz powazny blad nasza tepa usenetowa niedorozwinieta gnido caly czas probujac
udawac ze ja z toba rozmawiam i ze prowadzisz ze mna dyskusje na rownym poziomie
wklepujac swoje kretyniczne teksciki
jest w tym powazny falsz bo tak oczywiscie nie jest i udawanie niewiele ci da
patologiczny intelektualnie niedorozwiniety kretynie...
prawda jest taka ze jestes niedorozwinietym kratynem lubiacym naduzywac braku opcji
bana dla niedorozwinietych narzucajacych sie z glupota matolow na usenecie - wiec
jako matol pchsz sie tam gdzie nie twoje miejsce poki nie spazysz sie z tym calym
swoim gownem doklejanym do normalnych watkow i to nie spazysz bardziej niz ci sie
wydaje (proporcjonalnie do poziomu swojego skretynialego gowna ktore zastepuje ci to
miejsce gdzie inteligentni ludzi mja mozg)
dla mnie bycie tego rodzaju prymitywnym bucem to powazne naduzycie, bycie bucem
doklejajacym sie do ludzi ktorzy jasno powiedzili ci ze jestes narzucajacym sie bucem
juz podchodzi pod nalezna penalizacje
moglbym powiedziec duzo wiecej, pare rzeczy od ktorych gowno w twoim typie narobilo
by na dywan, ale nie mam nawet checi tego pisac bo to oczywiste, chce jednak
sprostowac ze twoje gowniacze udawanie na sile ze jako klejacy sie gowniak prowadzisz
jakas dyskusje a nie produkujesz skretyniele gowno w watkach ludzi na usenecie
niewiele ma sensu panie skretynialy klejaku gówniaku
-
18. Data: 2019-03-28 09:19:09
Temat: Re: elementy furii
Od: g...@g...com
W dniu czwartek, 28 marca 2019 08:55:14 UTC+1 użytkownik fir napisał:
> > > to bylo ofc nawiazanie do slawnego
> > > 'big firr & pippa zippa, deszcze niespokojne, 2017'
> > > (ofc, dla mnie)
> >
> > Google nic nie pokazuje po wpisaniu tych słów, więc czy aby sławnego?
> >
> > > no dobra chyba trzeba sie sprezyc i zrobic kilka malych poprawek..strach troche
jest, jakbym wozil wegiel
> >
> > Może wożenie węgla to nie byłby taki zły pomysł...
> >
> robisz powazny blad nasza tepa usenetowa niedorozwinieta gnido
nie wiem po co w ogóle odpowiadasz na takie zaczepki.
jak to mówio, szkoda szczępić ryja.
-
19. Data: 2019-03-28 14:08:23
Temat: Re: elementy furii
Od: fir <p...@g...com>
W dniu czwartek, 28 marca 2019 09:19:10 UTC+1 użytkownik g...@g...com napisał:
> W dniu czwartek, 28 marca 2019 08:55:14 UTC+1 użytkownik fir napisał:
>
> > > > to bylo ofc nawiazanie do slawnego
> > > > 'big firr & pippa zippa, deszcze niespokojne, 2017'
> > > > (ofc, dla mnie)
> > >
> > > Google nic nie pokazuje po wpisaniu tych słów, więc czy aby sławnego?
> > >
> > > > no dobra chyba trzeba sie sprezyc i zrobic kilka malych poprawek..strach
troche jest, jakbym wozil wegiel
> > >
> > > Może wożenie węgla to nie byłby taki zły pomysł...
> > >
> > robisz powazny blad nasza tepa usenetowa niedorozwinieta gnido
>
> nie wiem po co w ogóle odpowiadasz na takie zaczepki.
> jak to mówio, szkoda szczępić ryja.
czasem warto odpowiedziec, bo widzisz co tu sie dzieje:
skretynialy matolek dokleil sie ze swoimi gowniackimi tekscikami i probuje mi w
swoich urojeniach robic mi za 'pouczacza'
wali gowniane zarciki na poziomie kretyna, wysnuwa swoje kretyniczne 'pretencje'
z matolami juz tak jest ze nie czuja swojego kretynizmu i z tym smutnym matolem tez
tak oczywiscie jest, warto wiec wyjasnic mu ze nie tak sie sprawy maj jak ow klejacko
gowniacki kretym sobie roi
z matolami mam ogolnie troche praktyki i wiem jak jest.. czegoz zreszta oczekiwac od
kretyna, jest kretynem wiec bedzie zachowywal sie jak kretyn
gdyby jednak odsiac to góffno to daloby sie jeszcze to o czyms troche pogadac, bo
wbrew pozorom, mimo ze tu ostatnio nie pisuje troche ciekawych uwag moglbym miec ;c
ten kompilatorek mi dosyc dobrze poszedl..i jestem nawet wielce zadowolony
z obecnego efektu choc mam jeszcze pare problemow, np ten wspomniany niektore
antywiry blednie rozpoznaja mojego wygenerowanego exe jako potencjalne malware i do
konca nie wiem co gdzie wklepac w tym headerze PE by sie odczepily (da sie to
sprawdzic niewatpliwie chocby porownujac z exekami generowanymi przez inne
kompilatory ale jest to troche mozolnej roboty, mozliwe ze nawet na kilka dni
np w headerze pe sa takie pola
opHeader.MajorLinkerVersion = 1;
opHeader.MinorLinkerVersion = 1;
opHeader.SizeOfCode = AlignNumberUp( Give_Code_UnalignedSize() ,
file_section_alignment);
opHeader.SizeOfInitializedData = AlignNumberUp( Give_Data_UnalignedSize() ,
file_section_alignment)
+ AlignNumberUp( bss_reserve ,
file_section_alignment); //??? dodac bbs?
opHeader.SizeOfUninitializedData = 0;
opHeader.BaseOfCode = Give_CodeSection_RamOffset();
opHeader.MajorOperatingSystemVersion = 5;
opHeader.MinorOperatingSystemVersion = 0;
opHeader.MajorImageVersion = 1;
opHeader.MinorImageVersion = 1;
opHeader.MajorSubsystemVersion = 1;
opHeader.MinorSubsystemVersion = 1;
opHeader.Win32VersionValue = 0;
// opHeader.Checksum = 0;
// opHeader.DLLCharacteristics = 0;
opHeader.SizeOfStackReserve = 2*1024*1024;
opHeader.SizeOfStackCommit = 512*1024;
opHeader.SizeOfHeapReserve = 2*1024*1024;
opHeader.SizeOfHeapCommit = 512*1024;
opHeader.LoaderFlags = 0;
u diabla nie wiem co tam wstawic a dokumentacja na szybko wyszukana nie tlumaczy
wprost o co chodzi
nie pisza np czy rozmiar of "data" to rozmiar bez alignmentu, wyrownany w gore do
aligmentu w pliku (512) do aligmentu
w ram (4096) i czy dodac tam tez moje oszukane .bss
(w kompilatorze mozna oszukac jak ktos jest leniwy ze generujesz sekcje z
inicjalizowanymi danymi (np pow 500 bajtow) i tyla zapisujesz w pliku (wyrownane w
gore do np 512) ale jako rozmiar podajesz to powiekszone o rozmiar jaki zajmuja twoje
wszystkie ststyczne tablice np 5 MB ) i teraz nie wiem ktora z tych 6 opcji tam mam
wklepac... ot takie bolaczki w pisaniu asemblera samemu
(nawet przyjemne ale nie am z kim pogadac a dokumentacja i tutoriale nie mowia w
prost i trzeba wertowac wiele godzin googla nim sie znajdze wszystkie potrzebne
szczegoly)
niejaki gynvael coldwind ma na ircu freenode kanal #gynvaelstream, moze tam kogos
spytam
-
20. Data: 2019-03-28 17:22:12
Temat: Re: elementy furii
Od: fir <p...@g...com>
W dniu czwartek, 28 marca 2019 14:08:24 UTC+1 użytkownik fir napisał:
> W dniu czwartek, 28 marca 2019 09:19:10 UTC+1 użytkownik g...@g...com
napisał:
> > W dniu czwartek, 28 marca 2019 08:55:14 UTC+1 użytkownik fir napisał:
> >
> > > > > to bylo ofc nawiazanie do slawnego
> > > > > 'big firr & pippa zippa, deszcze niespokojne, 2017'
> > > > > (ofc, dla mnie)
> > > >
> > > > Google nic nie pokazuje po wpisaniu tych słów, więc czy aby sławnego?
> > > >
> > > > > no dobra chyba trzeba sie sprezyc i zrobic kilka malych poprawek..strach
troche jest, jakbym wozil wegiel
> > > >
> > > > Może wożenie węgla to nie byłby taki zły pomysł...
> > > >
> > > robisz powazny blad nasza tepa usenetowa niedorozwinieta gnido
> >
> > nie wiem po co w ogóle odpowiadasz na takie zaczepki.
> > jak to mówio, szkoda szczępić ryja.
>
> czasem warto odpowiedziec, bo widzisz co tu sie dzieje:
> skretynialy matolek dokleil sie ze swoimi gowniackimi tekscikami i probuje mi w
swoich urojeniach robic mi za 'pouczacza'
> wali gowniane zarciki na poziomie kretyna, wysnuwa swoje kretyniczne 'pretencje'
>
> z matolami juz tak jest ze nie czuja swojego kretynizmu i z tym smutnym matolem tez
tak oczywiscie jest, warto wiec wyjasnic mu ze nie tak sie sprawy maj jak ow klejacko
gowniacki kretym sobie roi
>
> z matolami mam ogolnie troche praktyki i wiem jak jest.. czegoz zreszta oczekiwac
od kretyna, jest kretynem wiec bedzie zachowywal sie jak kretyn
>
>
> gdyby jednak odsiac to góffno to daloby sie jeszcze to o czyms troche pogadac, bo
wbrew pozorom, mimo ze tu ostatnio nie pisuje troche ciekawych uwag moglbym miec ;c
>
> ten kompilatorek mi dosyc dobrze poszedl..i jestem nawet wielce zadowolony
> z obecnego efektu choc mam jeszcze pare problemow, np ten wspomniany niektore
antywiry blednie rozpoznaja mojego wygenerowanego exe jako potencjalne malware i do
konca nie wiem co gdzie wklepac w tym headerze PE by sie odczepily (da sie to
sprawdzic niewatpliwie chocby porownujac z exekami generowanymi przez inne
kompilatory ale jest to troche mozolnej roboty, mozliwe ze nawet na kilka dni
>
>
>
> np w headerze pe sa takie pola
>
>
> opHeader.MajorLinkerVersion = 1;
> opHeader.MinorLinkerVersion = 1;
>
> opHeader.SizeOfCode = AlignNumberUp( Give_Code_UnalignedSize()
, file_section_alignment);
> opHeader.SizeOfInitializedData = AlignNumberUp( Give_Data_UnalignedSize()
, file_section_alignment)
> + AlignNumberUp( bss_reserve ,
file_section_alignment); //??? dodac bbs?
> opHeader.SizeOfUninitializedData = 0;
>
> opHeader.BaseOfCode = Give_CodeSection_RamOffset();
>
> opHeader.MajorOperatingSystemVersion = 5;
> opHeader.MinorOperatingSystemVersion = 0;
> opHeader.MajorImageVersion = 1;
> opHeader.MinorImageVersion = 1;
> opHeader.MajorSubsystemVersion = 1;
> opHeader.MinorSubsystemVersion = 1;
> opHeader.Win32VersionValue = 0;
> // opHeader.Checksum = 0;
> // opHeader.DLLCharacteristics = 0;
> opHeader.SizeOfStackReserve = 2*1024*1024;
> opHeader.SizeOfStackCommit = 512*1024;
> opHeader.SizeOfHeapReserve = 2*1024*1024;
> opHeader.SizeOfHeapCommit = 512*1024;
> opHeader.LoaderFlags = 0;
>
>
> u diabla nie wiem co tam wstawic a dokumentacja na szybko wyszukana nie tlumaczy
wprost o co chodzi
>
> nie pisza np czy rozmiar of "data" to rozmiar bez alignmentu, wyrownany w gore do
aligmentu w pliku (512) do aligmentu
> w ram (4096) i czy dodac tam tez moje oszukane .bss
>
> (w kompilatorze mozna oszukac jak ktos jest leniwy ze generujesz sekcje z
inicjalizowanymi danymi (np pow 500 bajtow) i tyla zapisujesz w pliku (wyrownane w
gore do np 512) ale jako rozmiar podajesz to powiekszone o rozmiar jaki zajmuja twoje
wszystkie ststyczne tablice np 5 MB ) i teraz nie wiem ktora z tych 6 opcji tam mam
wklepac... ot takie bolaczki w pisaniu asemblera samemu
>
> (nawet przyjemne ale nie am z kim pogadac a dokumentacja i tutoriale nie mowia w
prost i trzeba wertowac wiele godzin googla nim sie znajdze wszystkie potrzebne
szczegoly)
>
> niejaki gynvael coldwind ma na ircu freenode kanal #gynvaelstream, moze tam kogos
spytam
ok podejrzalem jakis exe w ollydebug i troche sie wyjasnilo... co prawda nie wiem
nadal co w wypadku tej doklejki bss do daty ale 1) trzebbedzie sie nie lenic i zrobic
odzielna bss (nie chcialem tego chyba robic bo lekko komplikuje asembler, labele z
kazdej sekcji chyba trzeba odzielnie trzymac w odzielnym worze) 2) gdybym sie lenil
to chyba mozna dac data + bss i tyle
(kod asemblera troche strach dotykac nie dlatego zebym go zle napisal ale cholerny
asembler nie da sie robic w linearnych przebiegach tylko np jeden pass asemblacji
zalezy od polozenia danych w innych sekcjach a te polozenia sa znane dopiero po
assemblacji (bo sa polozne pos ekcji kodu ktora moze miec rozna dlugosc w zaleznosci
ile kodu bylo zasemblowanego), dlatego dla mnie ten asm jest wpieniający ..poki sie
ew czlowiek do tego nie przyzwyczai (a jeszcze nie mialem czasu sie do tego
przyzwyczajac ;c)