|
Болтовня Разговоры на любые темы (думайте, о чем пишите) |
20.02.2010, 18:38
|
#1
|
Знающий
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений (для 331 пользователей)
|
Потестируйте
Всем привет, прошу помощи - потестируйте прогу. Нужно запустить на сканирование с корневой директории. Важно понять - будет трапаца с эксепшеном или же нет.
Програмка - некий патчик, но пока ничего не патчит, поэтому за файло можно не опасаца. Просто проходит по всем файлам и ищет некоторую сигнатуру.
UPD: Требует почему-то библиотеку для работы с CLX. Брать здесь: http://tronix286.pochta.ru/qtintf70.dll
Последний раз редактировалось Tronix, 20.02.2010 в 20:54.
|
(Offline)
|
|
20.02.2010, 18:44
|
#2
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Ответ: Потестируйте
Возбудитель для касперского.
|
(Offline)
|
|
20.02.2010, 18:46
|
#3
|
Знающий
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений (для 331 пользователей)
|
Ответ: Потестируйте
Сообщение от Crys3D
Возбудитель для касперского.
|
Непонял? Вы имеете ввиду что типа мол вирус? Я гарантирую что не вирус.
|
(Offline)
|
|
20.02.2010, 19:32
|
#4
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Потестируйте
Вот такая реакция:
Windows7 x64 Home Premium
З.Ы. Вы уверены что патчить цветовой профиль устройства хорошая идея?
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
20.02.2010, 19:51
|
#5
|
|
Ответ: Потестируйте
хорошая манера - возможность указывать патчеру что патчить
|
|
|
20.02.2010, 19:54
|
#6
|
Знающий
Регистрация: 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
|
Знающий
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений (для 331 пользователей)
|
Ответ: Потестируйте
Сообщение от jimon
хорошая манера - возможность указывать патчеру что патчить
|
Дык все есть. Прога ищет некую сигнатуру в файлах exe и dll, если находит - добавляет имя файла в checklistbox. Потом если юзверю поставит галки будет патчить. Алгоритм примерно такой, только просто с гуи и рекурсивным обходом каталогов:
Type BufferType = Array[0..MaxLongInt-1] of Byte; pBuffer = ^BufferType; Const Id : Array [0..23,0..7] of 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..7] of 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..23] of 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 F : File; Buf : Pointer; i,j,k,tmp,count, Size : cardinal; CB : Byte; //current byte; SB : Byte; //save original byte function IntToHex(IntValue: cardinal; Digits: integer): string; var i, j: cardinal; s: string; begin s := ''; if IntValue > 0 then begin i := IntValue; while i>0 do begin j := i mod 16; if (j<10) then s := Chr(Ord('0') + j) + s else s := Chr(Ord('A') + (j - 10)) + s; i := i div 16; end; end; if Digits < 1 then Digits := 1; i := Digits - Length(s); while i>0 do begin s := '0' + s; i := i - 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 i := 0 to Size-1 do Begin tmp := i; //save current POS For k := 0 to 23 do Begin asm xor eax,eax //j = 0, mov edi, Buf mov edx, i //i cmp edx,size ja @exit mov esi, offset 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 sb, ch jmp @loop @exit: mov j,eax end; If j = Id[k][7] then // if positive Begin i := tmp; // i = start offset WriteLn('Found at pos: ',IntToHex(i,8),' ',AsmC[k]); inc(count); For j := 0 to Id[k][7]-1 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 i := 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
|
|
Ответ: Потестируйте
Tronix
ну Intel это не совсем зря в компиляторы вставила, потому что дорогая AMD не согласовывает возможности своих процессоров с Intel, а если компилятор будет опираться на возможности AMD в полной силе то AMD может просто испортить свои возможности и обозвать компилятор Intel'а какашкой, стратегические войны однако
|
|
|
20.02.2010, 20:09
|
#9
|
Знающий
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений (для 331 пользователей)
|
Ответ: Потестируйте
Я почему потестировать то прошу - потому что с тредами опять связался. Так они не логично в дельфях сделаны, либо я плохо эту идеалогию понимаю. Вот и хочу чтоб запустили и посмотрели - будет падать или нет. Ну плохо я потоки программлю ) сорри )
|
(Offline)
|
|
20.02.2010, 20:11
|
#10
|
Знающий
Регистрация: 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
|
Знающий
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений (для 331 пользователей)
|
Ответ: Потестируйте
Ребят, ну запустите прогу хоть на некоторое время. Важно протестировать работу с потоками, чтобы не вываливалась с ошибкой. У себя уже тестировал, не падает, но как поведет себя на других компьютерах - не знаю. Очень важно ваше мнение.
Это не вирус, я гарантирую это. Выше постами исходник консольного приложения, а теперь просто решил обертку написать (GUI). Очень важен ваш багрепорт. Заранее спасибо.
|
(Offline)
|
|
21.02.2010, 00:25
|
#12
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Потестируйте
Ну чо, теперь работает...
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:51.
|