Lami Skrevet 14. november 2012 Del Skrevet 14. november 2012 (endret) Heisann! Har noe C/C++ kode jeg vil gjerne ha laget program av. Men jeg vet ikke helt hvordan jeg skal gjøre det, altså hvor jeg skal paste den. Jeg har Visual Studio, og startet et "MFC Application" under Visual C++, men det kom opp så forferdelig mye underdeler av programmet som: Så jeg aner ikke hvor jeg skal paste koden jeg har. Aner ikke om jeg bruker riktig prosjekttype (MFC Application) heller Noen tips? Takker for svar! Endret 14. november 2012 av Lami Lenke til kommentar
Topguy Skrevet 15. november 2012 Del Skrevet 15. november 2012 Hva gjør c/c++ koden din ? Skal den åpne vinduer ? Skal det kjøres ifra kommandolinje ? Hvor er koden ifra ? Er du sikker på den er platformuavhengig evt. skal den være lagd for Windows ? Er det bare en fil ? eller mange ? MFC = Microsoft Foundation Classes og brukes av programmer som skal åpne windows vinduer. Og det ser ut som du har valgt at den skal lage et eksempel program. Et prosjekt basert på "Win32 Console application" er antagelig mer hensiktsmessig å starte med. Lenke til kommentar
Lami Skrevet 15. november 2012 Forfatter Del Skrevet 15. november 2012 Usikker Her er koden. #include <windows.h> #include <iostream> #include <conio.h> using namespace std; void readregistry(); char* spoofmac(); int main(int argc, char* argv[]) { readregistry(); spoofmac(); } char* spoofmac() { char buffer[60]; unsigned long size = sizeof(buffer); HKEY software; LPCTSTR location; char adapternum[10]=""; char numbers[11]="0123456789"; char editlocation[]="System\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002bE10318}\\0000"; char macaddress[60]; cout << "\n//\nPlease Enter number of Network Adapter to Spoof or type 'E' to Exit.\nE.g. 6\n\nNumber: "; cin >> adapternum; if (adapternum[0]=='E') { exit(0); } if (strlen(adapternum)==2) { editlocation[strlen(editlocation)-2]=adapternum[0]; editlocation[strlen(editlocation)-1]=adapternum[1]; } if (strlen(adapternum)==1) { editlocation[strlen(editlocation)-1]=adapternum[0]; } if (strlen(adapternum)!=1 && strlen(adapternum)!=2) { cout << "Invalid Network Adapter Selected\n\n"; exit(0); } cout << "Please enter the desired Spoofed Mac Address\nE.g. 02113A0D4D66\n\nNew Mac Address: "; cin >> macaddress; location = editlocation; strcpy(buffer,macaddress); size=sizeof(buffer); RegCreateKey(HKEY_LOCAL_MACHINE,location,&software); RegSetValueEx(software,"NetworkAddress",0,REG_SZ,(LPBYTE)buffer,size); RegCloseKey(software); cout << "\nMac Address Successfully Spoofed.\n\n"; cout << "**\n"; cout << "**Written by C code champ **\n"; cout << "**\n"; getch(); } void readregistry () { char driver[60]=""; char mac[60]=""; char numbers[11]="0123456789"; char editlocation[]="System\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002bE10318}\\0000"; unsigned long driversize = sizeof(driver); unsigned long macsize = sizeof(mac); DWORD type; HKEY software; LPCTSTR location; int tenscount=0; int onescount=0; for (int x =0;x<=19; x+=1) { strcpy(driver,""); driversize=sizeof(driver); strcpy(mac,""); macsize=sizeof(mac); if (editlocation[strlen(editlocation)-1]=='9') { tenscount+=1; onescount=0; editlocation[strlen(editlocation)-2]=numbers[tenscount]; } editlocation[strlen(editlocation)-1]=numbers[onescount]; location=editlocation; RegCreateKey(HKEY_LOCAL_MACHINE,location,&software); RegQueryValueEx(software,"DriverDesc",0,&type,(LPBYTE)driver,&driversize); RegQueryValueEx(software,"NetworkAddress",0,&type,(LPBYTE)mac,&macsize); RegCloseKey(software); cout << x << ": " << driver << "| Mac: " << mac << "\n"; onescount+=1; } } Denne koden er for Mac address spoofing i Windows som leser nettverksadapterne og viser dem numerisk rekkefølge. Hva tror du? Lenke til kommentar
Hayer Skrevet 16. november 2012 Del Skrevet 16. november 2012 Tror dette er en simpel regedit, ettersom jeg ha utført den manuelt. Spesiell grunn til at du har valgt Cpp til denne oppgaven? Kan vel også løses som en .reg-fil. Ser ikke helt hva som skal løses, men antar at det er lettere valg for å spoofe MAC'en? Lag en listbox for å velge hvilken nettverksadapter. En tekstboks får å skrive inn ønsket MAC. En knapp som feeder spoofmac-funksjonen med ønsket MAC (fra tekstboksen). Alt dette er vel enkle ting du lett kan finne her; http://bit.ly/TNekXT Lenke til kommentar
Topguy Skrevet 16. november 2012 Del Skrevet 16. november 2012 Hva tror du? At "Win32 Console application" fortsatt er riktig valg. Lenke til kommentar
snippsat Skrevet 18. november 2012 Del Skrevet 18. november 2012 (endret) Har noe C/C++ kode jeg vil gjerne ha laget program av. Tror du forklarer deg litt dårlig og at det er GUI(graphical user interface) du mener. Kan skive en rask demo,så ser du mere hvordan dette kan se ut. Tar og skriver om første del som leser en registeroppføring,bruker Python/Wxpyhon da dette er mye raskere for meg enn og knote med MFC. http://pastebin.com/n2H9akrj Her et skjermblide så du slipper og kjøre koden. Som sakt bruker jeg her Wxpython og velger MultiChoiceDialog for valg av adapters,for C++ heter GUI verktøyet wxWidgets De to andre store GUI vektøyene for C++ heter Qt og GTK+(gtkmm) Dette er kryssplateform GUI verktøy som kan være lettere og jobbe med enn MFC. Nå kan det hende at jeg bommet på hva du mente,da får du si ifra. Endret 18. november 2012 av SNIPPSAT Lenke til kommentar
Lami Skrevet 19. november 2012 Forfatter Del Skrevet 19. november 2012 Takker for svar folkens. Prøvde wxWidgets men skjønte ikke mye. Har lastet prosjektene inn i Visual Basic, men så sier det stopp Kunne du, SNIPPSAT, lastet opp prosjektet for meg så kunne jeg sett? Lenke til kommentar
Lami Skrevet 5. desember 2012 Forfatter Del Skrevet 5. desember 2012 Kunne du lastet opp det til meg eller? Lenke til kommentar
snippsat Skrevet 5. desember 2012 Del Skrevet 5. desember 2012 (endret) Det er link i posten min til pastebin der er alt jeg har skrevet,og du ser resultatene på skjermbildet. Jeg skrev om første del av koden som en demo hvordan dette kunne se ut. Det er jo opp til og skrive dette ferdig,jeg vet ikke en gang om dette er din kode. Det er kanskje noe kode du har funnet på nettet som du ønsker og lage GUI til? Endret 5. desember 2012 av SNIPPSAT Lenke til kommentar
Lami Skrevet 5. desember 2012 Forfatter Del Skrevet 5. desember 2012 Jeg har lastet ned wxWidgets, men jeg ser ikke ut til å klare å bruke det. Jeg har fått denne koden ja, ligger ute på nettet, som jeg vil vil lage GUI til. Lenke til kommentar
Orjanp Skrevet 24. desember 2012 Del Skrevet 24. desember 2012 Kan du programmere C++? 1 Lenke til kommentar
Gjest Gjest slettet-ld9eg7s96q Skrevet 28. desember 2012 Del Skrevet 28. desember 2012 Takker for svar folkens. Prøvde wxWidgets men skjønte ikke mye. Har lastet prosjektene inn i Visual Basic, men så sier det stopp Kunne du, SNIPPSAT, lastet opp prosjektet for meg så kunne jeg sett? Glem MFC og glem WxWidgets (MFC er forferdelig utdatert, WxWindows har vel ikke akkurat fått noen oppmerksomhet på en stund det heller) hvis du vil lære deg GUI programmering i C++. Selv om MFC er forferdelig rotete og innfløkt bruker begge rammeverkene events for å styre programmets oppførsel og jeg synes personlig dette er en forferdelig tungvint måte å programmere i, spesielt i C++ Jeg anbefaler deg heller å se på QT, mye enklere å programmere. Istedenfor events bruker QT et signal slot system, jeg synes nå det er hundre ganger enklere å forholde seg til og det er mye enklere å lære. QT har en egen klasse som du kan bruke for å manipulere registeret og avhengig av om du kompilerer dette for Windows eller en annen plattform (eks Linux) fungerer dette på begge plattformer (klassen lager en egen setting fil under ~/ hvis man kjører det på linux iirc). Jeg vet også at WxWindows legger opp til plattform uavhengighet men jeg vet ikke om det er like trivielt å manipulere registeret med det og om dette fungerer like smertefritt. Det er en del år siden jeg programmerte med WxWindows Lenke til kommentar
snippsat Skrevet 28. desember 2012 Del Skrevet 28. desember 2012 WxWindows har vel ikke akkurat fått noen oppmerksomhet på en stund det heller Stemmer vel ikke helt både DropBox og og Google Drive bruker WxWindows(begge er skrevet i Wxpython). https://support.goog...&answer=1716931 http://wxpython.org/...tegory/toocool/ Jeg anbefaler deg heller å se på QT, mye enklere å programmere. Istedenfor events bruker QT et signal slot system, jeg synes nå det er hundre ganger enklere å forholde seg til og det er mye enklere å lære. Ja QT er bra har brukt det en god del, da igjennom PyQt eller berede Pyside(som har LGPL lisens For QT) Vil ikke si at QT er noe lettere og lære seg en WxWindows. Nå er nok denne oppgaven er litt håpløst for @Lami,når utgangspunktet er et C++ program han/hun har funnet på nettet og visste ikke at det kalles GUI før denne posten. Lenke til kommentar
Gjest Gjest slettet-ld9eg7s96q Skrevet 28. desember 2012 Del Skrevet 28. desember 2012 Vil ikke si at QT er noe lettere og lære seg en WxWindows. Nå er nok denne oppgaven er litt håpløst for @Lami,når utgangspunktet er et C++ program han/hun har funnet på nettet og visste ikke at det kalles GUI før denne posten. Jeg vil påstå at QT er mye lettere å lære seg enn WxWindows hvis man absolutt skal bruke C++ til GUI programmering. WxWindows er noe likt MFC og det er etter hva jeg kan huske også tanken, da det var meningen opprinnelig å gjøre overgangen lett for programmerere som kom fra det horrible helvete som er MFC. IMO er også QT mye bedre dokumentert. Tredjeparts WxWidgets bindinger blir forsåvidt et annet tema. Det er i alle fall mitt råd hvis OP ønsker å bevege seg ut i dette terrenget, men det er jo selvfølgelig en forutsetning at han lærer seg grunnleggende programmering før han gir seg i kast med dette. Da er ikke python et dumt veivalg. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå