From c163efd83db1ef249577c76a47dee06971931c63 Mon Sep 17 00:00:00 2001 From: Sweet Bread Date: Sun, 6 Nov 2022 13:51:51 +0300 Subject: [PATCH] Init project --- README.md | 44 +++++ dns.o | Bin 0 -> 1324 bytes dnstoys.o | Bin 0 -> 1264 bytes examples/HWA/.fuse_hidden0000030700000001 | Bin 0 -> 8828 bytes examples/HWA/main | Bin 0 -> 8828 bytes examples/HWA/main.asm | 33 ++++ examples/HWA/main.o | Bin 0 -> 652 bytes examples/HWA/makefile | 11 ++ examples/file/main | Bin 0 -> 9240 bytes examples/file/main.asm | 39 +++++ examples/file/main.o | Bin 0 -> 816 bytes examples/file/makefile | 24 +++ examples/network/main | Bin 0 -> 10456 bytes examples/network/main.asm | 28 ++++ examples/network/main.o | Bin 0 -> 692 bytes examples/network/makefile | 24 +++ file.o | Bin 0 -> 1420 bytes include/_dns.inc | 47 ++++++ include/_file.inc | 46 +++++ include/_macros.inc | 9 + makefile | 25 +++ network.o | Bin 0 -> 988 bytes path.o | Bin 0 -> 424 bytes src/dns.asm | 191 +++++++++++++++++++++ src/dnstoys.asm | 57 +++++++ src/file.asm | 194 ++++++++++++++++++++++ src/network.asm | 90 ++++++++++ src/path.asm | 29 ++++ src/std.asm | 173 +++++++++++++++++++ src/string.asm | 46 +++++ std.o | Bin 0 -> 920 bytes string.o | Bin 0 -> 416 bytes 32 files changed, 1110 insertions(+) create mode 100644 README.md create mode 100644 dns.o create mode 100644 dnstoys.o create mode 100644 examples/HWA/.fuse_hidden0000030700000001 create mode 100644 examples/HWA/main create mode 100644 examples/HWA/main.asm create mode 100644 examples/HWA/main.o create mode 100644 examples/HWA/makefile create mode 100644 examples/file/main create mode 100644 examples/file/main.asm create mode 100644 examples/file/main.o create mode 100644 examples/file/makefile create mode 100644 examples/network/main create mode 100644 examples/network/main.asm create mode 100644 examples/network/main.o create mode 100644 examples/network/makefile create mode 100644 file.o create mode 100644 include/_dns.inc create mode 100644 include/_file.inc create mode 100644 include/_macros.inc create mode 100644 makefile create mode 100644 network.o create mode 100644 path.o create mode 100644 src/dns.asm create mode 100644 src/dnstoys.asm create mode 100644 src/file.asm create mode 100644 src/network.asm create mode 100644 src/path.asm create mode 100644 src/std.asm create mode 100644 src/string.asm create mode 100644 std.o create mode 100644 string.o diff --git a/README.md b/README.md new file mode 100644 index 0000000..e7cca27 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +This project for me just for fun to not spending time for routine operations + +1. std + - print + - str + - int + - [ ] float + - [ ] hex + - char + - bin + - nl + - exit +2. file + - open + - close + - content + - [ ] size + - [ ] next_line +3. path + - filename + - [ ] join + - [ ] is_dir + - [ ] is_file +4. string + - copy + - len + - [ ] split + - [ ] replace + - [ ] find + - [ ] parse_int + - [ ] parse_float +5. network + - get_ip + - IP_to_str +6. dns + - send + - get_field +7. [dnstoys](https://www.dns.toys/) + - myip + - [ ] weather and other +8. [ ] http +9. [ ] json + +A lot of shit code included diff --git a/dns.o b/dns.o new file mode 100644 index 0000000000000000000000000000000000000000..f0d925b738a7068c49c4689f1edb718aecdf8577 GIT binary patch literal 1324 zcmd^9&1(};5TDIQ-C~NdL`Vb`JoO-30v0NWCX^My58_9(AH>j--L#NKO%|zOFtQ%p z?8X1UgEuc;Hx{LmVg<=X6vSQ?m5AWYq8R75c^fw<_y;(!@AsQ|GxO%ndv9;5Cyz;z zM4m_#q~97*EYzDh=)xFnqahkEXxGLo^X0WNdH5?=LS*!PEnoZQsyxb#Nvs&eP8rAFL}{OO5y@Upn-V?gf3QGqpqw*}r4 z_(0%8fsVje0zU{m!Z`!n@w`Ab56DiRhS!xC&;zu8Ko8OZpFYa(af0=q!UlcHH;?ln zrFwnYm|tKtDg(Gst&&pFN=l(zRSa##Adsq7F1Vzq8F_t4D;0ea@S&hz9IM&ySNKJ*W{yxN%3IxD9^gm@+V0!q}dX#fBK literal 0 HcmV?d00001 diff --git a/dnstoys.o b/dnstoys.o new file mode 100644 index 0000000000000000000000000000000000000000..f1b559d286930ac5adfdff9693b9b67cc87301fc GIT binary patch literal 1264 zcmdT^u}Z^G6un7mThT$?1aZ)%i$O$j66#QK=unkvwbWwmvyHZ?BoDNcLl;XI|G^&- zTpav>4z7a#pis|!$-|gMaO(}pIp^i%Chy&MbC=8S7=}SQ46^7)5e=>2&bopOr6@^t z*SBS->yvY>9~*l#i8g{sVD`}k82g$1e*%|O?7tTd_Vy2tnw;h1Ycv{_2K4v}(R|?x z4+m@#Oc{bPz7hBf3d+W?_i0Ka+k2WCRMP!QqMu7wPfw1^rOGqB(>Qq>&H~K|qIuRR z%5sRA5LX!CTLYR&qRnu8n{|q4mobe?EI6+Y-r<~IheakWX#uowtVZ-4^j1XAfahbn z7}Mu5O}5`{%d;9#dcUyd`(%5fWuvXQt86K5CHI&T?JkA~e4dHtLqVy^k`?wyQOMe?EH6fzwpg;8+80BHD literal 0 HcmV?d00001 diff --git a/examples/HWA/.fuse_hidden0000030700000001 b/examples/HWA/.fuse_hidden0000030700000001 new file mode 100644 index 0000000000000000000000000000000000000000..390bf1060b1aa065f193b2a7b8bd664fb57d367b GIT binary patch literal 8828 zcmeI2KWI}?6vj_pUd;1JAT2mK_%aA05*rDM5ELvaLR*LxwJI7C6G%!-<>i7E3kHhN zHcOqv&CxM~Lo|z^WXsY?a25g?t=27`@BK+0)}by==fL5d@7{CIz5R8%FZX$NVJ;L3 zk#8D>$x%DHk>V<=u&nAi;!~5D)@FKnMr{As_^VfDjM@LO=)z0U_{D1S-$Ce1I$a z;5BEie1)-XNLdx%Dk~TrM3q~AQSX2l%57>!1OwOM0D>uS8w z#xHF>vj2T)_%qkVhRYdEMfI7@@a%A}f`LJcS9XwH`l6z}*%8eTe;n9haw_g@c1@?V zxgO=tsomk8-`gDb?uE&1fA%o#J7ALf+HZ0Y69Pg&2nYcoAOwVf5D)@FKnMr{A@H9G zTr1aVtJafMyH-m4ZEM_G&6n3}}R+Ia`SVVXZPoZ%Sb zn>dE!{EPnuj&B3?SN@ovV?7h7pJ!bSoQEFU)w)Wuds(qs_p*kvz3gG7U{gL{Y&7x> zRj~cidX4hsQb83s)Js%et16;o4h+*=cNq&k^XrbX4zuIqhx3NQa^Fut!u+~ZoC7p!@%1Bax$h`g yI_B453#XSij=DDII4|ZQkHWGwFK(V92Yh zmpX}?qhkh#Xcj@qmZg*6ECe!IsayQceR;{lIMl`I95|fw-ScD7heqJC z`s=wo+B7XzxR_3Kj2#Y$2m``^Fdz&F1HynXAPfit!hkR!3(^Iuh{voN5g{?CaS<9nfZxEq9; z{ug22`SLIQ5nlwJ^W`rAKlI&)9y{f#ibIE9zFZx8HRTMw2c?`t*=)X6%hpuR@lvZ5 z$`%Vbm4m4ksJK~HMDg0wM=Fu0M#Nf`x*pXrUHUh_xuFY+++#E4w)0K%A9qz!eK$!3Xd$d?+76 z7|+RM*lZdv+?@O6-u&m|`t~NvGIW+<4pRcY0-X7RBP^hYere2T?{#F&<366=nfdu` zn#MONYS=XEBhCTj^T3L95!jUWfbGD$RBh={%;MwFUr3kOB(@&0cE2;jISwM;K#r4$ z*BG~FYdgi~Nxq-(UBW2FZ_jQpq&hpJwlsw+Ck_u|H?R&bwyIr057DryL&T9Gstw9X z<)StI3w3@yQyvO+p4AXbc-7u?FRIi1%P#4sK5Cn;Zi~1a^=mH|bmg^%RL>BvNyIn( Zlg_8)FKX*_pPEbD*%b%gcRc!fE@^uDyUJQM!T2V%wwF`0k_dllCoQP~mpu zI|Qr_$9^kY<7+)|bW%vzFTot!Ug_Y#fh}Y|WZ(a{T20uUo`GkI1{!%#HXmwjWy3`8_s9Cr!9td{yJCrC$Yg3 zj>I+5p!X~V`zv?Ttgwq1Sz_tMEzz*qU!}py-+N?*$l;AJ7E`zvUTi?**qzE<89Q8y zy%{7oeAj-$mzbT{cG;r(-Y*U`;iJTUwBiPd#+5_H(xC$kqzk%t7)o&W3~V%)EqPe#{2!ATLNl{9KXAO1|@AUzKJRSoOZ z2`qg0S;n8%{htT!_2HL+owo?+TJbvJ6#654GDT^j26`2JL(N|!J}iG-!$C>``~BYm z7QXTGz|*ySf^-r1s&Bjnd}dYV7od-U7it(s*b5*!IyIZkn>3%B&WI=~BK@8QmhpHm^tKWm-^H)T=f`_WJW4bqgQ1u48X@zQ z3|}}n?^Ys2Pq6Hj-Te5vsy#x~ES=CxzhjU&9ggX|bBVZbTmYRS{n*Eu)6?@Wu?0%b lhi&W!3LMO_Wci?z=yM6svoDu}sD8ip!{q!P93vX(_aEH{<1YXJ literal 0 HcmV?d00001 diff --git a/examples/file/main.asm b/examples/file/main.asm new file mode 100644 index 0000000..5406198 --- /dev/null +++ b/examples/file/main.asm @@ -0,0 +1,39 @@ +format ELF +public _start + +extrn file.open +extrn file.content +extrn file.close +extrn print.str +extrn print.nl +extrn exit + + +section '.strtab' +filename db "/home/sweetbread/headers", 0 + + +section '.bss' writeable +file_ rd 1 + + +section '.text' executable +_start: + push filename + call file.open + pop eax + mov [file_], eax + + push dword [file_] + call print.str + call print.nl + call print.nl + + push dword [file_] + call file.content + call print.str + + push dword [file_] + call file.close + + call exit \ No newline at end of file diff --git a/examples/file/main.o b/examples/file/main.o new file mode 100644 index 0000000000000000000000000000000000000000..8ed1881ea98eae0374c3f7b590d7013e624ab797 GIT binary patch literal 816 zcmah{Jxjzu5Piw%or;BCqk;(9c!eYgiU>9qca;`)f`#12N&>m$$S!zR{t5qqt%X0! zA8`=pC7Uz1jRQOHz1i8>WoF;|cLUG!P@9Jq{uHq9S34Ia^w2>YVU$f(s9%*bqg)Lq zVI)rF8WEFz7DZ7!ev%fK%Rm_|of~vD%KQ1Gww(6Yfo(xg-qE$V$M^~agOaaG`n!HqJ5mK=oWen-IczD4ZS1$+R+0?KREiy(Gy1_ z&~H;S90{6y1xH#V$W;;;H8*(HW|$ki#EA;BnMx}*&QhaN8y+W_R+!~+YFNy&G=ZAO zrg81Rls)5rvEKyzC(XXC*$RxwD5Oi3-3!!vjMSVxWN zMlvDEV^9_Sq%fVRpn|%6NLL(_j&7p;QV@pwCKKLxB5a-O#+3Lw@8za%|D=9Y@1^(M zd(QdYbME`y+ZXQPz7~3BtIOpgQQYJqOPW;FjZl8N-nML{E>h@WT1l<8oz(?J<$3~L zt_thg$hM;;_~817hls1!Y43t?6n4}j=yG+ApM-t#OGV}SE5>qd0*3v|A{mejNCqSW zk^#wpWI!??8ITM}1|$QL0m;BWW58I81GSOBAmbf8l6)RFK0^k;Sm4J18z%U%$;t}Q z?(#3;T|0I@`&?x}Ew%FLyvoP+X|_(Wc#?Z_g;_5Pq=%GpNR7Vm{GP$cQ1Og1(-^N0 zsKNO{&nnV9Tg=5JCv$~6#*F%mH)^$-V{Awrbx*qysCeBy;ayzVX?Jo~17mS^9@3V06An^%QzU&HsThivzc zEXRG7ISF2vE6@^uddRO2slo3GJt}F4 zkjkU$?=s_f_bO+Crv2DzQ#`Aa{Fp0*%QIDEd1$Kg6}Azt?p&eDIiEq^6YA8vP+JTH zv}VD><+ORQyD*#+2^iJ3LL@lJ6Kb5iFZg1|$QL0m*=5 zKr$d1kPJu${yz+iWV0jbcwk?4KhcI*{FM#4;Y&$udYxI&VKFEOfE45nE(lL{UYXSJM5yUXZsj~%#pz@F-KY%0Rath9D zkE{}q8X~+ugVEd%NyJ-+|x)IMyG05Exy9U|1!-S?C|C(8}N08BC zbsPEURkR;D@P}`+>yRf-Ea4|1ufyjN4g59J`)K2h`MK#s$e%m>Q6{b($mU)QYzs%V zY&5UsXe^h?XaQ7$l*)_*((#P-tsaSM(L^eqjtRrQ?AUn20bB7Qw@0%d{=DbonOI%5 zFFBl}XmoErk0`@At**|bDH@LrYr|-O#UTDk2<#t+ulT`~fbC7eNP+zLerVZ9%-AEm^-f7D&Xg^_UbBw#>2?INnFrT`}eo>AFW9V>wyPSkYjjbZuB|vBe?lA|B_uLuaKE4aC*MZ}`mu|-vyGz_=;5ZqI z?}mL(u8XLJ`}HE?I&qv(^>-0j$;7|G@o#wNJ#bHB98ZVi@?KpBTnc?rMBE4zjN>_S zcAf9*@f|%;1Wx!8`iXT!T~P8I*~U1|sEYSM*DCLU_%DQjma$wws}<7{@YuGVXh;ZX G1@13}*-m%> literal 0 HcmV?d00001 diff --git a/examples/network/main.asm b/examples/network/main.asm new file mode 100644 index 0000000..929c2ce --- /dev/null +++ b/examples/network/main.asm @@ -0,0 +1,28 @@ +format ELF +public _start + +extrn network.IP_to_str +extrn network.get_ip +extrn dnstoys.myip +extrn print.str +extrn print.nl +extrn exit + + +section '.strtab' +hostname db "google.com", 0 + + +section '.text' executable +_start: + call dnstoys.myip + call print.str + call print.nl + + push hostname + call network.get_ip + call network.IP_to_str + call print.str + call print.nl + + call exit \ No newline at end of file diff --git a/examples/network/main.o b/examples/network/main.o new file mode 100644 index 0000000000000000000000000000000000000000..a6c92a5850f19ea9bd02a05e94d4b7fb626bf4f1 GIT binary patch literal 692 zcmaKqu}Z{15QhIm?^JA5uuu>SEmSa-rC_C;XklSt7w&Y4;gW3FEO@DW6(7P!@L_xi zAQUKJEd;O;>323dHaI_`#9?H4t$*T zm}g%)eCP0!!!w8H4kIYa)J|uj)(q6BB(Q2>5f*l8EHY)^w3!FD524kvXa05~Wy3hf zOIBE27C~AH;KrLe1JN^HX?^MsAv2muHK^yYqb@2V@E|5Si`>SeTq18lly_qM0xU6I@Bjb+ literal 0 HcmV?d00001 diff --git a/examples/network/makefile b/examples/network/makefile new file mode 100644 index 0000000..2973666 --- /dev/null +++ b/examples/network/makefile @@ -0,0 +1,24 @@ +all: main + +main: ../../std.o ../../string.o ../../network.o ../../dns.o ../../dnstoys.o + fasm main.asm + ld -m elf_i386 main.o ../../std.o ../../string.o ../../network.o ../../dns.o ../../dnstoys.o --output main + +../../std.o: + make -C ../.. std.o + +../../string.o: + make -C ../.. string.o + +../../network.o: + make -C ../.. network.o + +../../dns.o: + make -C ../.. dns.o + +../../dnstoys.o: + make -C ../.. dnstoys.o + +clear: + rm main.o main + diff --git a/file.o b/file.o new file mode 100644 index 0000000000000000000000000000000000000000..5e8921379b3d31819dd1cf849a26b966d48559f4 GIT binary patch literal 1420 zcmah}O=}ZT6umP^+Ei?0NcB8a+hXuu-4s$z-@(b&@3G*(T@^h465G$Ytm13|FO z!e1a*yYL6NnHH&)iVGovD+^t?5(IJOwh+&GbEiow=!LoGp8L+b@4h$lW+`=Z(6THE z&60>TnTQt+MlKmRFYVGMgR=#L|j-F8Y9VH^~%H=GGbatnNi_$!inTL<4x2fyk6f^&{^No7mnz!&*w0$#QCN0E}uqew&%;X8~w4Q+*$;b<``hRJ2*A`XTziQq`>^P5rjW zX_T{YL>Ckt#eO1=@Cwjw7a7p}4du6#kCJzYur2EHnx9sjQ!FbkDlRELRa{Ygqv#W{ z{wC1Ip?=i-7jmrkRrB98|5N#I<$H>4sKNbpDfTFyQ*;#j6^DS_$34Xtimw$>_JHww z4vjbMR7ijkvE|GG9+8VJ`~(!2!LOq>jrf~(FV1 zfcbJ+oCUYwOyRmap8LcT6P4!OVh~LhN@Z8WQqgmZo}kEVaoQJflWMqH=Mh0dE1doB?4HHDh1Wai#uraX0lp@nWRi+$3fGjqY*`b|J1A+sC z!oo970KJhR4I+er#Q#!`7k~c${|^xX`4G&F2mn*jj5nHpGnFtpG#}vVbmfSTi;9en zh&>E9tlO8v@b*5Ct}YhIEUvWXA6&J}0k8RXaRG(Ced>4=Wbowm%Lp5;5_T4Y4mP*f zU!0qNvy`wMW7BhcedZV&!*N$|2*V5p>f#4tQ1ppFX&E5R1dJj@C|?`IXJcS60@3UY z3^7pgSx_2Cp#VW79w;S9q41d)G?4g03``8>K)x?j48-?Dk{1B7gV6X1XnY2};>z5T z#3UeHQUs=xii;Waic)j*@={C6^NX_eN>VFI7+{?A)ROqj0yx(*Aig9&9;lTeC9hbo zI5jT?%mArM%S_ElVE{^H=B4Z9q~;-6On?ar15h4dhN=Ul{l`!?h+=`VL16<@2Mk^? z5C?LWLD?V*rcMmV=0p-d095Ayl?P=nkUCJjg3N+uHy{hbX#i5790zg>NF69lL1w|+ S24pfc05xTU7*GH*2Lu3%uXAt! literal 0 HcmV?d00001 diff --git a/path.o b/path.o new file mode 100644 index 0000000000000000000000000000000000000000..aa3d9bfb6bf74ea556fdd15a3e0cc45d0c1cbbf4 GIT binary patch literal 424 zcmb<-^>JflWMqH=Mh0dE1doB?0aU^SOlvT(GO#d&c0LUV4h#wl?{?(~c=6}||Nqeq zHq81Z9L>KON|?Q0e`37h(CNw%9~TuF9T9t&fe)yci5Y4T5+#bn2H7f{hcHIeuN zAhup{Wo}7g5|Az_0@FpQIeI0j6(tM>i6t3&X_+~xd5O8H3_$73ymUPv56J}lOpseZ z{$_(J1Nm1U$_7y^P_`hD=7h3AR01#oAUIZNlbtW`%NIg);Jxqr&i&50$NR459`BOHVj&|eq*6x_-74*s*>9Ml zUh1Ls+^c_WH4xmm@@bd-SSVQeRYcuA`)RwM?}h?MNwNx@=Q9vo+oV&Px5=U&M|fmm+M|nM>7O ze?LT`mgCw2*nCykO70e|)IYlR=*-2v^`g%9Y*X**t^f2csnl+7|4;h@PR03B&I~Z( z$j2qxCEiH9lZb)g`;^$v9C}nDr+>weN#QGw{n83en)EO!G|hTJ=Ah@93zJ@CerD2M z=2eppGN0pF5U3|d>hxIbMHof$8zZR{Ig-&hCk`AUnih1Dj3tC)|8OrUDO)8=#3hNu z5|Xi(qUo41RC}vG-#7z}A62?=Zzm)N;G!aMHWJflWMqH=Mh0dE1P>?*<(PmKXfUt<=NPV5aD)w{juAXrPGxsJ}xRUIwH3D2*+V04IGBI8*C&PN|>ErfA5UtfGRo+vmQ