- 1
http://habrahabr.ru/post/72959/
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 162
+142
http://habrahabr.ru/post/72959/
Сразу прошу извинить...
1. за хабр ;(
1. за баянизм - ссылка на этот пост уже была на гк.
Знаю по опыту, что объекты в делфи инициализируются мусором.
"В Delphi это не представляет никаких трудностей, так как любой объект еще до передачи управления конструктору инициализируется нулями." - выебать бы маму автора сего пёрла.
+141
function GetArgs(const str:string):string;
begin
result:=strpas(pathgetargs(pchar(str))); //UB
end;
result:=strpas(pathgetargs(pchar(str))); //UB
Плохой мальчик.
+143
function CopyEx(s:string; index,count:integer):string;
var
len,ln:integer;
begin
ln:=0;
if index <1 then index:=1;
len:=length(s);
ln:=len-count;
dec(ln);
dec(len,(index+ln));
result:=copy(s,index,len);
end;
−1353
' There is no convenient way to check whether WScript is defined.
' This code captures the possible undefined error to perform the check.
'
On Error Resume Next
manual = Not WScript Is Nothing
If Err.Number = 0 Then
manual = True
Else
manual = False
End If
On Error Goto 0
'''''''''''''''''''''' Manual Execution ''''''''''''''''''''''
If True = manual Then
Dim ObjCommandLine
Dim result
. . .
То ли я ещё не проснулся, то ли у кое-кого очень коротенькие ручки с кривыми пальцами.
Код на 100% рабочий.
+144
function IsIntStr(const str:string):boolean; // Для проверки, состоит ли логин целиком из цифр.
var // TryStrToInt не подходит.
p:pchar;
begin
result:=false;
p:=pchar(str);
if p^=#0 then exit;
while p^ <> #0 do
begin
if not (p^ in ['0'..'9']) then
exit;
p:=charnext(p) ;
end;
result:=true;
end;
Showmessage(IntToStr(4324324233213564)); // а хуйца не желаете?
+144
[color=green][s][u][b][size=20]ДАВАЙТЕ ФЛУДИТЬ И ТРОЛЛИТЬ[/size][/color][/b][/u][/s]
>>ДАВАЙТЕ ФЛУДИТЬ И ТРОЛЛИТЬ
И правда, а давайте?..
+133
procedure tproxythread.execute;
var
doc: IHtmlDocument2;
temp,parsed:string;
v:olevariant;
i:integer;
begin
coinitialize(nil);
try
for i:=0 to links.count -1 do
begin
temp:=http.LoadContent(links[i]);
Doc:=coHTMLDocument.Create as IHTMLDocument2;
V:=VarArrayCreate([0,0], varVariant);
V[0]:=temp;
Doc.Write(PSafeArray(TVarData(v).VArray));
reg.InputString:=doc.body.outerText;
if reg.Exec then
repeat
parsed:= reg.Match [0];
proxy.add(parsed);
until not reg.ExecNext;
end;
finally
couninitialize;
end;
end;
Вы все еще парсите webbrowser-ом? Тогда мы идем к вам!..
+134
http://www.freepascal.ru/forum/viewtopic.php?t=9463&p=77107
ебаный пиздец.
ебаный пиздец.
+124
http://www.youtube.com/watch?v=swAEcc9JX4Q
(автор пишет троян на дельфях, и комментирует)
убила фраза:
"...реестр[...]. Так как в линуксе все по-другому, Вы должны быть уверены, что ваша программа запускается на Windows"
убила фраза:
"...реестр[...]. Так как в линуксе все по-другому, Вы должны быть уверены, что ваша программа запускается на Windows"
+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.