Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Общие темы > Болтовня

Болтовня Разговоры на любые темы (думайте, о чем пишите)

Ответ
 
Опции темы
Старый 20.02.2010, 18:38   #1
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Потестируйте

Всем привет, прошу помощи - потестируйте прогу. Нужно запустить на сканирование с корневой директории. Важно понять - будет трапаца с эксепшеном или же нет.
Програмка - некий патчик, но пока ничего не патчит, поэтому за файло можно не опасаца. Просто проходит по всем файлам и ищет некоторую сигнатуру.

UPD: Требует почему-то библиотеку для работы с CLX. Брать здесь: http://tronix286.pochta.ru/qtintf70.dll
Вложения
Тип файла: exe icc_patch.exe (659.0 Кб, 627 просмотров)

Последний раз редактировалось Tronix, 20.02.2010 в 20:54.
(Offline)
 
Ответить с цитированием
Старый 20.02.2010, 18:44   #2
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Ответ: Потестируйте

Возбудитель для касперского.
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 20.02.2010, 18:46   #3
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Потестируйте

Сообщение от Crys3D Посмотреть сообщение
Возбудитель для касперского.
Непонял? Вы имеете ввиду что типа мол вирус? Я гарантирую что не вирус.
(Offline)
 
Ответить с цитированием
Старый 20.02.2010, 19:32   #4
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Потестируйте

Вот такая реакция:
Нажмите на изображение для увеличения
Название: err.png
Просмотров: 1196
Размер:	19.5 Кб
ID:	9148
Windows7 x64 Home Premium

З.Ы. Вы уверены что патчить цветовой профиль устройства хорошая идея?
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Tronix (20.02.2010)
Старый 20.02.2010, 19:51   #5
jimon
 
Сообщений: n/a
Ответ: Потестируйте

хорошая манера - возможность указывать патчеру что патчить
 
Ответить с цитированием
Старый 20.02.2010, 19:54   #6
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Потестируйте

Сообщение от SBJoker Посмотреть сообщение
Вот такая реакция:
Вложение 9148
Windows7 x64 Home Premium

З.Ы. Вы уверены что патчить цветовой профиль устройства хорошая идея?
Цветовой профиль устройства?? Нет, я хотел написать программу для патчинга программ, скомпилированных Intel Compiler. Всмысле чтобы блокировать так называемый "диспетчер процессора". Потому что он если не GenuineIntel, блокирует инструкции SSE, SSE2, и идет по пути i386. Для владельцев цпу от AMD пишу прогу.
Странно что вылетела с такой ошибкой? Что за dll такая.. Писал в дельфи обычной 7. Странно, ща загуглим что такое за длл
(Offline)
 
Ответить с цитированием
Старый 20.02.2010, 19:59   #7
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Потестируйте

Сообщение от jimon Посмотреть сообщение
хорошая манера - возможность указывать патчеру что патчить
Дык все есть. Прога ищет некую сигнатуру в файлах exe и dll, если находит - добавляет имя файла в checklistbox. Потом если юзверю поставит галки будет патчить. Алгоритм примерно такой, только просто с гуи и рекурсивным обходом каталогов:

Type
  BufferType    
= Array[0..MaxLongInt-1of Byte;
  
pBuffer       = ^BufferType;

Const
      
Id : Array [0..23,0..7of Byte = (  // [7] - length, 01 - replace char
      
($3d,$47,$65,$6e,$75,$00,$00,$05),($3d,$69,$6e,$65,$49,$00,$00,$05),($3d,$6e,$74,$65,$6c,$00,$00,$05), //cmp eax
      
($81,$fb,$47,$65,$6e,$75,$00,$06),($81,$fb,$69,$6e,$65,$49,$00,$06),($81,$fb,$6e,$74,$65,$6c,$00,$06), //cmp ebx
      
($81,$f9,$47,$65,$6e,$75,$00,$06),($81,$f9,$69,$6e,$65,$49,$00,$06),($81,$f9,$6e,$74,$65,$6c,$00,$06), //cmp ecx
      
($81,$fa,$47,$65,$6e,$75,$00,$06),($81,$fa,$69,$6e,$65,$49,$00,$06),($81,$fa,$6e,$74,$65,$6c,$00,$06), //cmp edx
      
($81,$fd,$47,$65,$6e,$75,$00,$06),($81,$fd,$69,$6e,$65,$49,$00,$06),($81,$fd,$6e,$74,$65,$6c,$00,$06), //cmp ebp
      
($81,$fe,$47,$65,$6e,$75,$00,$06),($81,$fe,$69,$6e,$65,$49,$00,$06),($81,$fe,$6e,$74,$65,$6c,$00,$06), //cmp esi
      
($81,$ff,$47,$65,$6e,$75,$00,$06),($81,$ff,$69,$6e,$65,$49,$00,$06),($81,$ff,$6e,$74,$65,$6c,$00,$06), //cmp edi
      
($81,$7d,$01,$47,$65,$6e,$75,$07),($81,$7d,$01,$69,$6e,$65,$49,$07),($81,$7d,$01,$6e,$74,$65,$6c,$07// cmpl -0x4(%ebp)
      
);
      
Rp : Array [0..23,0..7of Byte = (
      (
$a9,$00,$00,$00,$00,$FF,$FF,$05),($a9,$00,$00,$00,$00,$FF,$FF,$05),($a9,$00,$00,$00,$00,$FF,$FF,$05),
      (
$f7,$c3,$00,$00,$00,$00,$FF,$06),($f7,$c3,$00,$00,$00,$00,$FF,$06),($f7,$c3,$00,$00,$00,$00,$FF,$06),
      (
$f7,$c1,$00,$00,$00,$00,$FF,$06),($f7,$c1,$00,$00,$00,$00,$FF,$06),($f7,$c1,$00,$00,$00,$00,$FF,$06),
      (
$f7,$c2,$00,$00,$00,$00,$FF,$06),($f7,$c2,$00,$00,$00,$00,$FF,$06),($f7,$c2,$00,$00,$00,$00,$FF,$06),
      (
$f7,$c5,$00,$00,$00,$00,$FF,$06),($f7,$c5,$00,$00,$00,$00,$FF,$06),($f7,$c5,$00,$00,$00,$00,$FF,$06),
      (
$f7,$c6,$00,$00,$00,$00,$FF,$06),($f7,$c6,$00,$00,$00,$00,$FF,$06),($f7,$c6,$00,$00,$00,$00,$FF,$06),
      (
$f7,$c7,$00,$00,$00,$00,$FF,$06),($f7,$c7,$00,$00,$00,$00,$FF,$06),($f7,$c7,$00,$00,$00,$00,$FF,$06),
      (
$f7,$45,$01,$00,$00,$00,$00,$07),($f7,$45,$01,$00,$00,$00,$00,$07),($f7,$45,$01,$00,$00,$00,$00,$07)
      );
      
AsmC : Array [0..23of String[40] = (
      
'cmp   eax,0756E6547 ;"uneG"',
      
'cmp   eax,049656E69 ;"Ieni"',
      
'cmp   eax,06C65746E ;"letn"',
      
'cmp   ebx,0756E6547 ;"uneG"',
      
'cmp   ebx,049656E69 ;"Ieni"',
      
'cmp   ebx,06C65746E ;"letn"',
      
'cmp   ecx,0756E6547 ;"uneG"',
      
'cmp   ecx,049656E69 ;"Ieni"',
      
'cmp   ecx,06C65746E ;"letn"',
      
'cmp   edx,0756E6547 ;"uneG"',
      
'cmp   edx,049656E69 ;"Ieni"',
      
'cmp   edx,06C65746E ;"letn"',
      
'cmp   ebp,0756E6547 ;"uneG"',
      
'cmp   ebp,049656E69 ;"Ieni"',
      
'cmp   ebp,06C65746E ;"letn"',
      
'cmp   esi,0756E6547 ;"uneG"',
      
'cmp   esi,049656E69 ;"Ieni"',
      
'cmp   esi,06C65746E ;"letn"',
      
'cmp   edi,0756E6547 ;"uneG"',
      
'cmp   edi,049656E69 ;"Ieni"',
      
'cmp   edi,06C65746E ;"letn"',
      
'cmpl  [ebp][-04],0756E6547 ;"Genu"',
      
'cmpl  [ebp][-0C],049656E69 ;"Ieni"',
      
'cmpl  [ebp][-14],06C65746E ;"letn"');

Var
      
File;
      
Buf Pointer;
      
i,j,k,tmp,count,
      
Size cardinal;
      
CB Byte//current byte;
      
SB Byte//save original byte

function IntToHex(IntValuecardinalDigitsinteger): string;
var
  
ijcardinal;
  
sstring;
begin
  s 
:= '';
  if 
IntValue 0 then
  begin
    i 
:= IntValue;
    while 
i>do
    
begin
      j 
:= i mod 16;
      if (
j<10then
        s 
:= Chr(Ord('0') + j) + s
      
else
        
:= Chr(Ord('A') + (10)) + s;
      
:= i div 16;
    
end;
  
end;
  if 
Digits 1 then Digits := 1;
  
:= Digits Length(s);
  while 
i>do
  
begin
    s 
:= '0' s;
    
:= 1;
  
end;
  
IntToHex := s;
end;

Begin
      WriteLn
(#13+#10+'Patcher for Intel Compiler(TM), disable "GenuineIntel" checking.'+#13+#10+
      
'Original perl version (C) Copyright M. D Mackey 2004.'+#13+#10+
      
'Port to Win32/PE v0.3 (C) Copyright Tronix 2010.'+#13+#10);
      
If ParamCount 1 then
            Begin
                  Writeln
('Usage: icc_patch <filename> [option]'#13#10#13#10+
                          
'    Options: /F - force patching');
                  
Halt;
            
End;
      
Count := 0;
      
Assign(F,{'e:\vp21\out.w32\1.txt'}Paramstr(1));
      
Reset(F,1);
      If 
IOResult <> 0 then
            Begin
                  WriteLn
('Error open file ',Paramstr(1));
                  
Halt;
            
End;
      
Size := FileSize(F);
      
GetMem(Buf,Size);
      
Write('Reading file into memory...');
      
BlockRead(F,pBuffer(Buf)^,Size);
      
Close(F);
      
Writeln(' done!'+#13+#10+'Searching...');
      
For := 0 to Size-do
            
Begin
               tmp 
:= i;           //save current POS
               
For := 0 to 23 do
                
Begin
                  asm
                        
xor   eax,eax //j = 0,
                        
mov   ediBuf
                        mov   edx
//i
                        
cmp   edx,size
                        ja    
@exit
                        
mov   esioffset Id
                        mov   ebx
k
                        shl   ebx
3
                        mov   cl
, [esi+ebx+7//al = id[k][7]
                        
mov   ch, [esi+ebx//cb := id[k][j]

                  
@loop:
                        
cmp   ch, [edi+edx]
                        
jne   @exit
                        
cmp   al,cl
                        jnb   
@exit

                        
inc   edx // inc(i)
                        
inc   eax  // inc(j)
                        
inc   ebx
                        mov   ch
, [esi+ebx]
                        
cmp   ch,1
                        jne   
@loop
                        mov   ch
, [edi+edx]
                        
mov   sbch
                        jmp   
@loop

                  
@exit:
                        
mov j,eax

                  end
;
                  If 
Id[k][7then // if positive
                        
Begin
                              i 
:= tmp// i = start offset
                              
WriteLn('Found at pos: ',IntToHex(i,8),'    ',AsmC[k]);
                              
inc(count);
                              For 
:= 0 to Id[k][7]-do
                                    
Begin
                                          
If Rp[k][j] = 1 then
                                              pBuffer
(Buf)^[i] := sb
                                          
else
                                              
pBuffer(Buf)^[i] := Rp[k][j];
                                          
Inc(i);
                                    
End;
                              
//Dec(I);
                        
End
                        
else := tmp;
                
End;

            
End;

      If 
count 0 then WriteLn('Nothing to patch!')
      else
      If (
count mod 3 0) or (Upcase(ParamStr(2)[2]) = 'F')  then
            Begin
                  WriteLn
('Rename ',Paramstr(1),' to ',Paramstr(1)+'.orig');
                  
Rename(F,Paramstr(1)+'.orig');
                  If 
IOResult <> 0 then
                        begin
                              Writeln
('Error rename file to '+Paramstr(1)+'.orig');
                              
FreeMem(Buf,Size);
                              
Halt;
                        
end;
                  
Assign(F,Paramstr(1));
                  
Rewrite(f,1);
                  
Write('Patching...');
                  
BlockWrite(f,Buf^,Size);
                  
Close(f);
                  
Writeln(' done!');
            
End
            
Else
                  
WriteLn('Count should be a multiple of 3! Skipping this file');
      
FreeMem(Buf,Size);
End
(Offline)
 
Ответить с цитированием
Старый 20.02.2010, 20:08   #8
jimon
 
Сообщений: n/a
Ответ: Потестируйте

Tronix
ну Intel это не совсем зря в компиляторы вставила, потому что дорогая AMD не согласовывает возможности своих процессоров с Intel, а если компилятор будет опираться на возможности AMD в полной силе то AMD может просто испортить свои возможности и обозвать компилятор Intel'а какашкой, стратегические войны однако
 
Ответить с цитированием
Старый 20.02.2010, 20:09   #9
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Потестируйте

Я почему потестировать то прошу - потому что с тредами опять связался. Так они не логично в дельфях сделаны, либо я плохо эту идеалогию понимаю. Вот и хочу чтоб запустили и посмотрели - будет падать или нет. Ну плохо я потоки программлю ) сорри )
(Offline)
 
Ответить с цитированием
Старый 20.02.2010, 20:11   #10
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Потестируйте

Сообщение от jimon Посмотреть сообщение
Tronix
ну Intel это не совсем зря в компиляторы вставила, потому что дорогая AMD не согласовывает возможности своих процессоров с Intel, а если компилятор будет опираться на возможности AMD в полной силе то AMD может просто испортить свои возможности и обозвать компилятор Intel'а какашкой, стратегические войны однако
Ну интел конечно прав в какой-то мере. Но, если убирать эту проверку, то например бенчмарк в Everest Ultimate начинает казать на 20-30 попугаев больше во всех тестах. Магия? Почему бы не получить дополнительную производительность?
(Offline)
 
Ответить с цитированием
Старый 20.02.2010, 22:39   #11
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Потестируйте

Ребят, ну запустите прогу хоть на некоторое время. Важно протестировать работу с потоками, чтобы не вываливалась с ошибкой. У себя уже тестировал, не падает, но как поведет себя на других компьютерах - не знаю. Очень важно ваше мнение.
Это не вирус, я гарантирую это. Выше постами исходник консольного приложения, а теперь просто решил обертку написать (GUI). Очень важен ваш багрепорт. Заранее спасибо.
Вложения
Тип файла: rar icc_patch.rar (1.52 Мб, 333 просмотров)
(Offline)
 
Ответить с цитированием
Старый 21.02.2010, 00:25   #12
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Потестируйте

Ну чо, теперь работает...
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Tronix (21.02.2010)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 04:45.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com