Сейчас на форуме: tyns777 (+5 невидимых)

 eXeL@B —› Программирование —› Fatal Exit :)
Посл.ответ Сообщение

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

Создано: 29 сентября 2007 01:06
· Личное сообщение · #1

Пишу криптор

набросал следующий антидебаг код (c) ap0x

function GetAntiDebugCode():string;
begin
result:=#$0F#$31; //rdtsc
result:=result+#$31#$C9; //xor ecx,eax
result:=result+#$01#$C1; //add ecx,eax
result:=result+#$0F#$31; //rdtsc
result:=result+#$29#$C8; //sub eax,ecx
result:=result+#$3D#$FF#$0F#$00#$00; //cmp eax,0FFF
result:=result+#$73#$05; // jnb $+5
result:=result+#$E8#$01#$00#$00#$00; //call +$6
result:=result+#$C3; //ret
end;

тестит время выполнения rdtsc если не равно 0FFFh то делает прыжок $+5 если равно то call через ret.
Все работает нормально но,всегда получаеться но

Если ставлю это в начале проги то все ок,а если где нить между декрипторами секций,то несрабатывает понимаю то что все ок,но ret вовращаеться только из этой процедуры,вот возникает вопрос как завершить программу без использования апи фунций




Ранг: 247.7 (наставник), 3thx
Активность: 0.160
Статус: Участник
Халявщик

Создано: 29 сентября 2007 06:39
· Личное сообщение · #2

подели че нить на 0

-----
Лень - это подсознательная мудрость





Ранг: 271.6 (наставник), 2thx
Активность: 0.30
Статус: Участник

Создано: 29 сентября 2007 06:50
· Личное сообщение · #3

Напиши что-нибудь типа:
Call dword ptr ds:[BADC0DE]

-----
iNTERNATiONAL CoDE CReW





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 29 сентября 2007 10:24
· Личное сообщение · #4

Ужас, кто тебя кодить учил? Скорее выкладывай свой прот - посмеёмся

-----
Yann Tiersen best and do not fuck




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

Создано: 29 сентября 2007 11:50
· Личное сообщение · #5

Zloy пишет:
function GetAntiDebugCode():string;
begin
result:=#$0F#$31; //rdtsc
result:=result+#$31#$C9; //xor ecx,eax
result:=result+#$01#$C1; //add ecx,eax
result:=result+#$0F#$31; //rdtsc
result:=result+#$29#$C8; //sub eax,ecx
result:=result+#$3D#$FF#$0F#$00#$00; //cmp eax,0FFF
result:=result+#$73#$05; // jnb $+5
result:=result+#$E8#$01#$00#$00#$00; //call +$6
result:=result+#$C3; //ret
end;


Что это??

-----
Security through obscurity is just an illusion




Ранг: 260.2 (наставник)
Активность: 0.190
Статус: Участник

Создано: 29 сентября 2007 12:30
· Личное сообщение · #6

Zloy
пяздец, срочно антидебуг на баш...



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

Создано: 29 сентября 2007 15:46 · Поправил: Zloy
· Личное сообщение · #7

@antidebug:
rdtsc
xor ecx,eax
add ecx,eax
rdtsc
sub eax,ecx
cmp eax,0FFF
jnb $+5
call $+6
ret

and ? по делу ничего не можете сказать промолчите




Ранг: 238.8 (наставник), 67thx
Активность: 0.20
Статус: Участник
CyberHunter

Создано: 29 сентября 2007 17:23
· Личное сообщение · #8

Zloy см. тут www.wasm.ru/forum/viewtopic.php?id=15060

-----
Nulla aetas ad discendum sera




Ранг: 16.2 (новичок)
Активность: 0.010
Статус: Участник

Создано: 29 сентября 2007 20:04
· Личное сообщение · #9

Zloy
Отреверси всю TLS в запротекченом файле протектором Elemental Protector by Smon (последней версии), там копия того, что ты пытаешься реализовать и то что ты хочешь как раз падение проги без API, большинство anti-debug вариантов в одном флаконе, короче много почерпнешь для себя как правильно делается, а распакуешь его файл, он тебе сам прот подарит ;)
Все равно вы вдвоем одинаковый кодес с rdtsc откуда-то скопипастили, мода чтоли сейчас такая …

PE_Kill
Да ладно, чела понять и простить
Вот реальный кодес для ЛОЛА

int rescale(int x){
asm("test %%eax,%%eax\n\t"
"pushl %%eax\n\t"
"jz rescale_R\n\t"
"fldlg2\n\t"
"fildl (%%esp)\n\t"
"fyl2x\n\t"
"fldl (_scale)\n\t"
"fmulp %%st,%%st(1)\n\t"
"fistpl (%%esp)\n\t"
"rescale_R:\n\t"
"popl %%eax"
: "=a" (x)
: "a" (x)
);
return x;
}

int main() {
printf("test\n");
asm("movl $10, %eax\n\t"
"addl $15, %eax\n\t");
return 0;
}
Самое интересное как до такого додумаццо надо и еще заставить и научить нешарящий народ вступать и компилировать, реально через жопу нарушая все представления о asm вставках! Поддержка этого клона компилятора СИ была прекращена, еще хрен знает когда, но его досихпор еще юзают… ЛОЛ!



Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 30 сентября 2007 11:33
· Личное сообщение · #10

Prince[ART] пишет:
а распакуешь его файл

С его знаниями вряд ли

Prince[ART] пишет:
одинаковый кодес с rdtsc откуда-то скопипастили

Неа, такого rdtsc как у него, у меня нет

Zloy
в топике на васме, указанном Flint - довольно интересный способ (тоже с rdtsc), да еще и с исходниками В любом случае учти - что rdtsc - это очень ненадёжно - вероятны ложные срабатывания на некоторых системах\ОС.

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels




Ранг: 16.2 (новичок)
Активность: 0.010
Статус: Участник

Создано: 01 октября 2007 09:13
· Личное сообщение · #11

Smon пишет:
Неа, такого rdtsc как у него

гы, а что тут скрывать вот так выглядит тот участок кода, про который я ТопикСтартеру писал
зачем его насильно заставлять, пусть он сам для себя решит воспользоваться готовым, отлаженным и проверенным на нескольких машинах/ОС кодесом
/* Source UltimatumSmona[RIP] - 0x2014 */
#define RDTSC __asm _emit 0x0F __asm _emit 0x31
__asm {
RDTSC
mov ebx,eax
mov ecx,edx
RDTSC
sub eax,ebx
sbb edx,ecx
RDTSC
add eax,ebx
add edx,ecx
RDTSC
sub eax,ebx
sbb edx,ecx
test edx,edx
jnz deCryptoEPjmp
} //end __asm
{...} //Get0xCC...
deCryptoEPjmp:
{...} //FatalExit...
//----------------------[†Private†]----




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 03 октября 2007 07:47
· Личное сообщение · #12

Smon опять гдето анпакми выложил?

-----
Yann Tiersen best and do not fuck




Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 03 октября 2007 08:48
· Личное сообщение · #13

PE_Kill
Ага, тут http://exelab.ru/f/action=vthread&forum=1&topic=7634&page= 4

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels




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

Создано: 03 октября 2007 19:28
· Личное сообщение · #14

все вроде разобрался,флудтопик можно закрывать




Ранг: 238.8 (наставник), 67thx
Активность: 0.20
Статус: Участник
CyberHunter

Создано: 03 октября 2007 19:44
· Личное сообщение · #15

Zloy а крипт потестить ?! выкладывай че накодил.

-----
Nulla aetas ad discendum sera



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


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