Сейчас на форуме: YDS, _MBK_, user99, ManHunter (+6 невидимых)

 eXeL@B —› Основной форум —› Вопрос по иследованию програмы на foxpro
Посл.ответ Сообщение

Ранг: 7.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 26 октября 2005 12:20
· Личное сообщение · #1

я новичек в реверсинге и столкнулся с программой писаной на foxpro.
Декомпилил. Нашел то место в программе где надо править.

Вопрос как ее битхаком сломать? Среды просто нет. пере собрать не могу.
Или просче для нее кейген написать. Провера вроде как несложная.



Ранг: 45.1 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 26 октября 2005 13:16
· Личное сообщение · #2

т.к. FoxPro интерпритатор то там VM - а это уже геморно
Если ты декомпильнул и знаешь где проверка происходит так пиши кнейген

А вообще ссылку хорошо-бы, может там всё просто ...



Ранг: 7.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 26 октября 2005 19:18
· Личное сообщение · #3

Спасибо за ответ. Буду пробовать писать keygen.
Ссылку не дал намеренно. Личные счеты. ;)

Если будет совсем туго тогда пришлью.



Ранг: 7.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 18 ноября 2005 16:00
· Личное сообщение · #4

Невышло .
Прошу помощи.
Вобщем незнаю либо я в математике слаб либо либо лыжи не едут

webfile.ru/640658
webfile.ru/640687
webfile.ru/640712
webfile.ru/640734



Ранг: 75.0 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 18 ноября 2005 18:18
· Личное сообщение · #5

xoy

файл не найден webfile.ru/640712



Ранг: 6.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 20 ноября 2005 19:36
· Личное сообщение · #6

xoy
Какие проблемы - CORSO 5.2 - покажет тебе все содержимое, также можешь поменять байтики и сохранить. Если не сможешь найти - пиши - вышлю.



Ранг: 7.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 23 ноября 2005 13:05
· Личное сообщение · #7

От линк на прогу
s37.yousendit.com/d.aspx?id=0L9U628JVO10D2Y0ORWBMAHQMR


попробовал я corso ну что то он не показывает комманды фокса в нормальном русском языке
а я не понимать на языке для виртуальной машины фохпро

или опять я что-то нетак сделал ?



Ранг: 6.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 23 ноября 2005 21:58
· Личное сообщение · #8

Я лично ковырялся с ФоксПро и скажу тебе честно - лучшее средство, ReFox 9 - меняешь что надо и обратно компилишь, лучше купи диск с Фоксом - проще будет в 100 раз.



Ранг: 7.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 декабря 2005 12:02
· Личное сообщение · #9

люди купил се среду
спомощю refox декомпельнул main.fpx
отредактировал что надо

как теперь его запихнуть назат в в экзешник.

полность декомпельнуть и собрать снова не удалось
refox всетоки дастает из exe не все



Ранг: 160.1 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 12 декабря 2005 12:32
· Личное сообщение · #10

фоксовски exe - это контейнер с откомпиленными модулями fxp/scp а также таблицы, иконки, картинки и прочее. Если ты сумел пересобрать main.fxp то надо разложить основной exe на кусочки, заменить нужный и собрать все назад.



Ранг: 7.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 декабря 2005 17:30
· Личное сообщение · #11

да и посредстом чего?



Ранг: 160.1 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 13 декабря 2005 01:15
· Личное сообщение · #12

/dev/head и /dev/hands вестимо


void __fastcall TForm2::SplitEXEClick(TObject *Sender)
{
int in;
AnsiString name="Split", tm;
SetCurrentDir(Target->Text);
if( (in=FileOpen(Src->Text, fmOpenRead)) == -1 )
{
Application->MessageBox("Can't open source file",Form2->Caption.c_str(),MB_OK | MB_ICONERROR);
return;
}
FileSeek(in,0,2); // seek at the end
inEXE ie;
ie.totalLen=1;
int i=0,out;
FileSeek(in,-(int)sizeof(inEXE),1);
while(ie.totalLen>0)
{
i++;
FileRead(in,&ie,sizeof(inEXE));
if( ie.totalLen>0 )
{
FileSeek(in,-(int)ie.totalLen,1);
int dataSize=ie.totalLen-sizeof(inEXE);
unsigned char *buf = new unsigned char [dataSize];
FileRead(in,buf,dataSize);
tm=name+AnsiString(i)+AnsiString(".dat");
if( (out=FileCreate(tm)) == -1 )
{
delete buf;
FileClose(in);
Application->MessageBox("Can't open destination file",Form2->Caption.c_str(),MB_OK | MB_ICONERROR);
return;
}
FileWrite(out,buf,dataSize);
FileClose(out);
delete buf;
FileSeek(in,-(int)ie.totalLen,1);
}
}
FileClose(in);
Application->MessageBox("Splitting done",Form2->Caption.c_str(),MB_OK | MB_ICONINFORMATION);
}




Ранг: 160.1 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 13 декабря 2005 01:15
· Личное сообщение · #13


void __fastcall TForm2::SplitAPPClick(TObject *Sender)
{
int in, out;
SetCurrentDir(Target->Text);
if( (in=FileOpen(Src->Text, fmOpenRead)) == -1 )
{
Application->MessageBox("Can't open source file",Form2->Caption.c_str(),MB_OK | MB_ICONERROR);
return;
}
header6 hdr;
FileRead(in, &hdr, sizeof(hdr) );
int cs=Tools->checksum((unsigned char *)&hdr, sizeof(hdr)-4) & 0xFFFF;
if( hdr.checksum != cs )
Application->MessageBox("Wrong header checksum",Form2->Caption.c_str(),MB_OK | MB_ICONINFORMATION);
FileSeek(in, __int64(hdr.nameOffset), 0);
byte *names = new byte[hdr.nameLen];
FileRead(in, names, hdr.nameLen);
tbl6 *tbl = new tbl6[hdr.tableSize19h];
FileSeek(in, __int64(hdr.tableOffset), 0);
FileRead(in, tbl, hdr.tableSize19h*sizeof(tbl6));
Text->Items->Clear();
for( int i=0; i<hdr.tableSize19h; i++ )
{
AnsiString type=" ";
switch(tbl[i].type)
{
case 0:
type+="FXP";
break;
case 1:
type+="??? 1";
break;
case 2:
type+="??? 2";
break;
case 3:
type+="VCT, FRT, SCT";
break;
case 4:
type+="??? 4";
break;
case 5:
type+="??? 5";
break;
case 6:
type+="OTHER";
break;
case 7:
type+="??? 7";
break;
case 8:
type+="VCX";
break;
case 9:
type+="SCX";
break;
case 10:
type+="FRX";
break;
default:
type+=" =uknown= ";
break;
}
AnsiString name, path="";
char *ptr;
ptr = names+tbl[i].nameOffset;
name = AnsiString(ptr); // can be incorrect !!!
if( tbl[i].pathOffset )
{
ptr = names+tbl[i].pathOffset;
path = AnsiString(ptr);
}
Text->Items->Add(path+name+type);
if( (out=FileCreate(name)) != -1 )
{
int len=tbl[i].nextPos-tbl[i].filePos;
byte *buf = new byte[len];
FileSeek(in, __int64(tbl[i].filePos), 0);
FileRead(in, buf, len);
FileWrite(out, buf, len);
FileClose(out);
delete buf;
}
}
FileClose(in);
delete names, tbl;
}


ну и так далее...



Ранг: 7.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 14 декабря 2005 09:28
· Личное сообщение · #14

Я понял что мнехотят помоч.
Но я не гуру - не понял, что с этим делать?


 eXeL@B —› Основной форум —› Вопрос по иследованию програмы на foxpro
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати