الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامج كتبته لكن توقفت عند نقطة بخصوص ال Arrays ممكن المساعده ؟

مغلق
بدأه Devil-00 في 9 يونيو 2006 · 8 رد · 484 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم ..

انا بكتب برنامج و فكرته شوي خليها عندي :P لكن هناك مشكله مش عارف اتجاوزها ..

هيه نسخ من buff2 الى buff[] .. الكود بوضح الانا عاوزه

/* Di-SecurityChk SRC Code [ D3vil-0x1 ] */
// main.c
// the first file of SCHK project

#include <stdio.h>
#include <stdlib.h> /* exit() function */
#include <string.h> /* 1- strlen() */


#define CLSCMD "cls" // Windows XP


FILE *Opnfile; // Target
FILE *Datafile; // Data File

char filename[255]; // Target name
char buff[] = {0}; // Target buffer
char buff2[] = {0}; // Data buffer


int line=-1,i,len;

main(int argc,char *argv[]){
	/* Welcome Msg */
	if(argc <= 1){
		system(CLSCMD);
		printf("\n Welcome to Di-SecuirtyChk\n\n");
		printf("\tUse:- schk.exe filename.php \n");
		printf("\n--------------------\n");
		printf("[^] Di Security-Check For PHP Files [^]\n\n");
		printf("[+] This Project Is The First Project For D3vil-0x1 With TheDevl Coding By C\n");
		printf("[+] And This Is FreeProgram ..\n");
		printf("[+] Gr33tz ..\n");
		printf("\tHACKERS PAL\n");
		printf("\tRoCk MaStEr\n");
		printf("\tWarur - Virus Makawe\n");
		printf("\tShell|r00t\n");
		printf("\tBlack Ray\n");
		printf("\tSlaCK-CYPHeR\n");
		printf("\tQode - Qex\n");
		printf("\tV4lm0nt\n");
		printf("\thttp://www.securitygurus.net Member\n");
		printf("\thttp://www.s4a.com [ Security4Arab - My First Home ]\n");
		exit(1);
	} // --  //--> Welcome MSG
	/*-------------*/
	/* Anti-Buffer OverFlow */
	if(strlen(argv[1]) >= 255){
		printf("\tERROR : Filename string length more than 254\n");
	}
	/*-------------*/

	strcpy(filename,argv[1]); // Copy Filename to ver

	/* __ START - 1 __ */
	system(CLSCMD);
	printf("\n[+] Di-SecurityChk Starting ..... \n\n");
	printf("[+] Trying To Open >> %s  ..... \n\n",filename);

			/* __START - 2__ */
			if((Opnfile = fopen(filename,"r")) == NULL){
				printf("ERROR : Di Security Check can not open the target !\n");
				exit(1);
			}else{

					/* Open Data File*/
						if((Datafile = fopen("data.dat","r")) == NULL){
							printf("ERROR : Di Security Check can not open 'data.dat' file !\n");
							exit(1);
						}else{
								i=0;
							while(!feof(Opnfile)){
								i++;
								// Get String From Target File
								fgets(buff2,1024,Opnfile); // buff2 = Lines From PHP File
								/* Error Here */
								// I Want To Copy buff2 To Array " buff " Like This :-
								//
								// buff = buff2;
								//----------------
								// buff[1] = <?
								// ...
								// ...
								// ...
								// buff[5] = ?>
								/*------------*/
								printf("%s\n",buff2);
							} 

					/*---------------*/

			/* __END - 2__ */

fclose(Opnfile); // Close FILE [ Opnfile ]
fclose(Datafile); // Close FILE [ Datafile ]
/* __END - 1__*/
			}
}
}

والمشكله هنا بالظبط :-

							while(!feof(Opnfile)){
								i++;
								// Get String From Target File
								fgets(buff2,1024,Opnfile); // buff2 = Lines From PHP File
								/* Error Here */
								// I Want To Copy buff2 To Array " buff " Like This :-
								//
								// buff = buff2;
								//----------------
								// buff[1] = <?
								// ...
								// ...
								// ...
								// buff[5] = ?>
								/*------------*/
								printf("%s\n",buff2);
							}

شو الحل يا شباب :D

#3

هلا اخي .. ممكن تعدل على الكود و ما تراه صحيح و ترفقه او تنزله على شكل [ code ] ??

#4
/* Di-SecurityChk SRC Code [ D3vil-0x1 ] */
// main.c
// the first file of SCHK project

#include <stdio.h>
#include <stdlib.h> /* exit() function */
#include <string.h> /* 1- strlen() */


#define CLSCMD "cls" // Windows XP


FILE *Opnfile; // Target
FILE *Datafile; // Data File

char filename[255]; // Target name
/* MODIFIED: assumingly buffers' sizes are 1024 */
char buff[1024] = {0}; // Target buffer
char buff2[1024] = {0}; // Data buffer
/* MODIFIED */

int line=-1,i,len;

main(int argc,char *argv[]){
	/* Welcome Msg */
	if(argc <= 1){
		system(CLSCMD);
		printf("\n Welcome to Di-SecuirtyChk\n\n");
		printf("\tUse:- schk.exe filename.php \n");
		printf("\n--------------------\n");
		printf("[^] Di Security-Check For PHP Files [^]\n\n");
		printf("[+] This Project Is The First Project For D3vil-0x1 With TheDevl Coding By C\n");
		printf("[+] And This Is FreeProgram ..\n");
		printf("[+] Gr33tz ..\n");
		printf("\tHACKERS PAL\n");
		printf("\tRoCk MaStEr\n");
		printf("\tWarur - Virus Makawe\n");
		printf("\tShell|r00t\n");
		printf("\tBlack Ray\n");
		printf("\tSlaCK-CYPHeR\n");
		printf("\tQode - Qex\n");
		printf("\tV4lm0nt\n");
		printf("\thttp://www.securitygurus.net Member\n");
		printf("\thttp://www.s4a.com [ Security4Arab - My First Home ]\n");
		exit(1);
	} // --  //--> Welcome MSG
	/*-------------*/
	/* Anti-Buffer OverFlow */
	if(strlen(argv[1]) >= 255){
		printf("\tERROR : Filename string length more than 254\n");
	}
	/*-------------*/

	strcpy(filename,argv[1]); // Copy Filename to ver

	/* __ START - 1 __ */
	system(CLSCMD);
	printf("\n[+] Di-SecurityChk Starting ..... \n\n");
	printf("[+] Trying To Open >> %s  ..... \n\n",filename);

			/* __START - 2__ */
			if((Opnfile = fopen(filename,"r")) == NULL){
				printf("ERROR : Di Security Check can not open the target !\n");
				exit(1);
			}else{

					/* Open Data File*/
						if((Datafile = fopen("data.dat","r")) == NULL){
							printf("ERROR : Di Security Check can not open 'data.dat' file !\n");
							exit(1);
						}else{
								i=0;
							while(!feof(Opnfile)){
								i++;
								// Get String From Target File
								fgets(buff2,1024,Opnfile); // buff2 = Lines From PHP File
								/* Error Here */
								// I Want To Copy buff2 To Array " buff " Like This :-
								//
								// buff = buff2;
								//----------------
								// buff[1] = <?
								// ...
								// ...
								// ...
								// buff[5] = ?>
								/*------------*/

								/* ADDED: Copy operation */
								strncpy(buff,buff2,1023);
								buff[1023] = 0;
								/* ADDED */

								printf("%s\n",buff2);
							}

					/*---------------*/

			/* __END - 2__ */

fclose(Opnfile); // Close FILE [ Opnfile ]
fclose(Datafile); // Close FILE [ Datafile ]
/* __END - 1__*/
			}
}
}

هل هذا ما تريد تنفيذه ؟

#5

اريد عندما اطلب امر الطباعه هذا :-

printf("%c\n",buff[0]);

بطباعة السطر الاول من الملف .. : خارج حلقة التكرار ..

buff[0] = السطر الاول

buff[1] = السطر الثاني

buff[2] = السطر الثالث .. و الى ذلك ... :wacko:

#6

ممممم إذا ال buff سوف تصبح array of strings و ليس array of characters زى مانتا عاملها, حاول فيها تانى الفكرة سهلة حتبقى تعريفها كدة

#define NUM_LINES 100 // NUMBER OF LINES IN THE WHOLE FILE
#define NUM_CHARS 1024 // NUMBER OF CHARACTERS IN LINE
char buff[NUM_LINES][NUM_CHARS];

و لما تيجى تنقل من buff2 إلى buff تنقل فى المكان المناسب و لما تيجى تطبع تطبع سترينج مش حرف

printf("%s\n", buff);

أنا أسف مش عارف أكتب الكود دلوقتى لأنى مشغول شوية. بس حاول فيه إن شاء الله سهل.

تم تعديل هذه المشاركة بواسطة Blueteeth في 10 يونيو 2006 في 15:59

#7

المشكله انه حاولت كثير .. :) لي تقريبا 15 يوم بحاول لحد ما ياست مع العلم اني مبتدء باللغه مليش شهر تقريبا :P انتظرك حد ما تفضى وتنزلي الكود و برضو انا بحاول بس لا تعتمد علي ههههههههههه ;)

#8

طيب ما هو عدد السطور المتوقع و كام حرف فى السطر كحد أقصى أم المسألة مفتوحة, و هل البرنامج مقتصر على إستخدام دوال السى؟ أم يمكن إستخدام أشياء من السى++.

#9

المسئله مفتوحه مثل ما تفضلت ..

انا لم ادرس الـ C++ ولا مكوناتها .. لو يقتصر على الـ C احسن عشان اعرف اطور فيه و استفيد منه ;)

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…