עבור לתוכן

קימפול קובץ EXE

Featured Replies

פורסם

שלום חברים ,

אני רוצה לדעת איך אפשר לקמפל קובץ EXE קיים לקובץ EXE חדש ?

בעזרת תוכנה / סקריפט....

כלומר , ליצור קובץ EXE שיריץ את הקובץ הקיים , אבל אני רוצה שהכל יהיה בקובץ אחד , לא 2 קבצים נפרדים.

תודה.

  • תגובות 31
  • צפיות 4.6k
  • נוצר
  • תגובה אחרונה

משתתפים בולטים בדיון

פורסם

אני מניח שאתה מדבר על קבצי הרצה של חלונות ?

יש את השיטה המכוערת שלשים את זה בתור resource:

http://www.cs.nyu.edu/~vs667/articles/embed_executable_tutorial/

ואפשר לשלב את זה ולהריץ ישירות, כנראה על פי הקוד בסוף הדיון פה:

http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_22403245.html

פורסם

אני לא בטוח, אבל אני חושב שאתה מדבר על exe binding...

יש המון תוכנות שמאפשרות לך לעשות את זה אחת כזאת כבר נמצאת כבר ב XP/2K

קוראים לה iexpress.

ויש עוד 1001 תוכנות פשוט תריץ:

http://www.google.com/search?hl=en&q=exe+binders&btnG=Search

ויש גם את AutoIt שמאפשרת לך לעשות אז זה מאוד בקלות, בעזרת פונקציה מגניבה שנקראת FileInstall

היתרון עם AutoIt הוא שיש לך שליטה מלאה.

הנה סקריפט קטן שפרסמתי פה לא מזמן שעושה שימוש ב FileInstall :

http://hwzone.co.il/community/index.php?topic=238676.0

פורסם

בAUTOIT צריך לתת בדרך כלל הרשאות ריצה(במיוחד אם יש אנטיוירוס).

פורסם
  • מחבר

אוקיי , אז ככה

אני אסביר בדיוק למה אני צריך את זה

יש לי קובץ Self Extractor .

עכשיו , אם לוחצים עליו לחצן ימני אפשר לפתוח אותו ב-winrar , winzip וכו' ..

שפותחים אותו יש מן הסתם את הקבצים שבפנים.

אני רוצה ליצור קובץ EXE חדש לגמרי שלא ניתן יהיה לפתוח אותו בצורה כזאת..

הקבצים האלה בכל מקרה יפתחו בטח ל-TEMP או משהו , אבל זה לא ממש משנה

מה שחשוב לי זה שלא ניתן יהיה לראות את הקבצים בצורה של right click.

וסיסמה אני לא רוצה לשים לקובץ...

רעיונות??

פורסם

אתה יודע לתכנת באיזה שפה שפועלת תחת חלונות ?

פורסם

אתה יכול "להעתיק" את הבתים של הקבצים+השמות לקובץ הEXE עצמו(ליצור מערכים על סגמנט הDATA אולי) ולכתוב אותם לדיקס כשתצטרך.

פורסם
  • מחבר

יודע קצת VB .....

אני מחפש איזשהו סקריפט , עדיף תוכנה

אתה יכול "להעתיק" את הבתים של הקבצים+השמות לקובץ הEXE עצמו(ליצור מערכים על סגמנט הDATA אולי) ולכתוב אותם לדיקס כשתצטרך.

אה?? ובעברית מה זה אומר ? ליצור קובץ חדש באסמבלר??
פורסם

לא בהכרח באסמבלי. אתה יכול (בC לדוגמא) ליצור מערך "גלובאלי"("מעל הMAIN) שיכיל את הערכים.

אם זה VB אתה יכול אולי להשתמש במערך גדול של בתים(אני לא יודע בידיוק מה המגבלה) ולשים שם את הערכים.

פורסם
  • מחבר

טוב זה כבר יותר מדי בשבילי .. לא הגעתי לרמות האלה למרות שלמדתי C ואסמבלר בבי"ס ב-י"ג.

אין איזה תוכנה שאפשר לעשות את זה ?

פורסם

דוגמא פשוטה:


#include <stdio.h>

char bla[] = "hello world";

int main()
{
FILE *fp;
fp = fopen("your-file1.exe", "wb");
fwrite(bla, sizeof(char), strlen(bla), fp);
fclose(fp);

return 0;
}

במקום הhelloworld תרשום את הבתים של הקובץ המקומפל שאתה רוצה לפרוש, ובמקום ה- strlen תרשום את הגודל של הקובץ בבתים.

פורסם
  • מחבר

שאתה אומר "תרשום את הבתים של הקובץ המקומפל שאתה רוצה לפרוש" , למה אתה מתכוון? :s05: :nixweiss:

פורסם

כל קובץ לאחר הקימפול מכיל את המידע של קובץ הEXE עצמו. ההצעה שלי היא לקחת את הבתים האלה(אתה יכול להעתיק אותם מהNOTEPAD מיצידי) ולהדביק אותם בקוד של התוכנה.דוגמא פשוטה:

עריכה:

משהו שבניתי עכשיו:


#include <stdio.h>


int main(int argc, char *argv[])
{
int buff;
int n = 0;
FILE *fp1;
FILE *fp2;
if(argc != 3)
{
printf("Bad Input\n");
return 1;
}

fp1 = fopen(argv[1], "rb");
if(fp1==NULL)
{
printf("Bad Input File");
return 1;
}

fp2 = fopen(argv[2], "wt");
if(fp2==NULL)
{
printf("Bad Output File");
return 1;
}

fprintf(fp2, "int file1[] = {");
while(fread(&buff, sizeof(int), 1, fp1) > 0)
{
fprintf(fp2, "%d%s", buff, (!feof(fp1))?(", "):"");
n++;
}
fprintf(fp2, "};\nint file1s = %d;", n);

}


#include <stdio.h>
//copy output of prev program into here
int main()
{
FILE *fp;
fp = fopen("your-file1.exe", "wb");
fwrite(file1, sizeof(int), file1s, fp);
fclose(fp);

return 0;
}

פורסם
  • מחבר

שוב אחי ,

אני לא מבין למה אתה מתכוון שאתה אומר בתים ?

למה אתה מתכוון? להציג את הקובץ ב-Hex Editor או מה ?

וד"א ,

ב- AutoIt צריך לשלב את הקובץ EXE שיש לי יחד עם הקובץ EXE החדש שנוצר ... מה זה נותן לי ? אני רוצה קובץ אחד.

IExpress יוצר לי קובץ של Self Extracted אז לא עשיתי בזה כלום , מה שיוצא זה שאני יוצר קובץ Self Extrated לקובץ self extracted שכבר יש לי

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים