-
IT café
Új hozzászólás Aktív témák
-
pmonitor
aktív tag
Nekem még olyant sem sikerült előidéznem, hogy azonos PID legyen. Mondjuk nem is csodálkozom rajt, hiszen a feltétel szerint nem elég, hogy csak egyszerűen ugyanaz legyen a PID, hanem még az is, hogy annak is pontosan X típusú programnak/alkalmazásnak kell lennie. Úgyhogy sztem. már ehhez is nagy véletlen kell, hogy teljesüljön. És akkor még nem esett szó az elsődleges window Handle-jéről.
Lehet, hogy elég csak a PID rögzítése. Ha vki. biztosabbra akar menni, akkor az elsődleges window Handle-t is rögzítheti. Ha valakinek még ez sem elég, Ő a Window Thread rögzítésével aztán sztem. túlbiztosíthatja magát. De ehhez sztem. paranoias-nak kell lenni.
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
nagyúr
válasz pmonitor #16507 üzenetére
10M az kicsit alacsony erre a celra. Csak hogy jobban specifikaljuk:
- nyitok/zarok alkalmazasokat, minden egyes alkalommal feljegyzem a PID-et es a HWND-t. Ha talalok ismetlodest (tehat elojon egy olyan [PID,HWND], ami mar szerepelt), akkor nyertem, ha nem tudok ilyet, akkor vesztettem?
(ugye a HWND-nek csak az also 32 bitje a szignifikans, tehat azt kell lejegyezni)
[ Szerkesztve ]
while (!sleep) sheep++;
-
pmonitor
aktív tag
>tehat elojon egy olyan [PID,HWND], ami mar szerepelt
Nem elég, hogy csak előjöjjenek ugyanazok, hanem hogy ugyanolyan típusú alkalmazás jöjjön létre ezekkel a jellemzőkkel. Tehát:
1.: nyitsz egy X típusú alkalmazást(ebben megegyezhetünk, hogy mi legyen ez. Lehet pl. egy notepad is.)
2.: Feljegyegyzed ennek az alkalmazásnak a PID-jét és az elsődleges window Handle-jét(notepad esetén pl. annak a windownak, aminek az "class" tulajdága "Notepad").
3.: Nyitsz/zársz alkalmazásokat(köztük X típusúakat is).
4.: Ha a nyitott alkalmazás X típusú(a példámban notepad), és a PID-je és az elsődleges window Handle-je ugyanaz, mint amit az elején feljegyeztél, akkor nyertél.http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
dabadab
titán
válasz don_peter #16500 üzenetére
Hogy oldják meg azt, hogy mondjuk egy adatbázis kapcsolati adatok ne kerüljenek ki?
Úgy, hogy az a szerveren van
Az ilyen webes cuccoknál a frontend-backend architektúra a normális, a szerveren fut a backend, az kapcsolódik az adatbázishoz, csinálja az autentikációt meg a lényegi dolgokat, a kliensnél meg csak egy kis minimál rész van, ami a megjelenítést meg az inputot csinálja.
A kettőt meg tipikusan vmi REST API-val kötik össze.Ami a kliensnél van, arról nyugodtan feltételezheted, hogy ahhoz hozzá lehet férni, illetve arra is számítsál, hogy a klienstől érkező adatokba belepiszkáltak, szóval a backend rendes input validációt meg hasonlókat kell csinálni, mert különben úgy jársz, hogy a T Systems a BKV bérletekkel
DRM is theft
-
nagyúr
válasz pmonitor #16509 üzenetére
Egyszerusitsuk, legyen egy tipusu alkalmazas, mondjuk csak Notepad. Semmi mas. Es legyen az, hogy nem csak az elsohoz hasonlitsuk, hanem barmelyikhez a listaban, hiszen ahonnan a beszelgetes indult, ott ez is problemat okozna.
Tehat:
do
- nyitok egy notepad.exe-t
- feljegyzem a pid-et es a hwnd-t
- bezarom
while (nincs ismetlodo pid+hwnd paros a listaban)
Ez igy oke?while (!sleep) sheep++;
-
-
pmonitor
aktív tag
>szoval nem gond, ha csinalok egy minimal programot, aminek nincs semmi masa, csak egy ablaka.
Nem. Pl. egy egyszerű winforms esetén akkor a hwnd az Me.Handle(C# esetén this.Handle). Az a lényeg, hogy a fő formot add meg, és mindig azt ellenőrizd le.
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
nagyúr
válasz pmonitor #16516 üzenetére
Okes. Tenyleg komolyan gondolod ezt a 10M-t, akar ugyved elott is beleallsz? Csak mondom, hogy 1) a Windows ujrahasznalja a PID-eket 2) a HWND 32 bites. Ha 1 masodpercenkent tudok nyitni/zarni egy ablakot, akkot 50% eselyem van ra, hogy masfel nap alatt talalok utkozest.
[ Szerkesztve ]
while (!sleep) sheep++;
-
pmonitor
aktív tag
Ügyvéd előtt is beleállok. Már csak a "bizonyíthaóan"-ban kell megegyeznünk a részemről(meg valszeg a "B" program max. futásidejéről(bár ezt meghatározhatjuk úgy is, hogy "mi döntjük el, hogy mikor állítjuk le"). De ezek már csak részletkérdések.
Egyébként sztem a PID is 32 bites.
[ Szerkesztve ]
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
nagyúr
-
pmonitor
aktív tag
A 10M-t nem tudom letétbe helyezni, de biztosítékot tudok rá adni(a vagyonom több, csak a vesztésem esetén kell egy kis idő, hogy meg tudjam adni, de nincs vele gond).
>Ha 1 masodpercenkent tudok nyitni/zarni egy ablakot, akkot 50% eselyem van ra, hogy masfel nap alatt talalok utkozest.
De azt is bele számoltad, hogy a több megnyitással a számítási idő is növekszik(tehát amíg ellenőrzöd az ütközést)?
[ Szerkesztve ]
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
Nem tudom, hogy a fogadásból lesz-e valami, de valami egyértelműen látszik: mégpedig az, hogy milyen kicsi a valószínűsége a "jó eset" bekövetkezésének. Te is írtad, hogy "Ha 1 masodpercenkent tudok nyitni/zarni egy ablakot, akkot 50% eselyem van ra, hogy masfel nap alatt talalok utkozest". Ezzel szemben mégis egy éves futásidőt emlegetsz. Na erre mondtam én, hogy lehetetlen. Mert az eredeti példánkban(amiről dqdb-vel írogattunk) pár sec/min alatt kellene bekövetkeznie ennek az esetnek "véletlenül". De látod, amikor tétje van a dolognak, akkor már hónapokról/évről beszélgetünk. Mondjuk én is kockáztatok, mert csak 1 window-t kell ellenőrizni a "B" programnak. Szóval azért arra is van esély, hogy év alatt talán beletrafál egy ütközésbe. Ki tudja ezt?
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
nagyúr
válasz pmonitor #16520 üzenetére
> A 10M-t nem tudom letétbe helyezni, de biztosítékot tudok rá adni(a vagyonom több, csak a vesztésem esetén kell egy kis idő, hogy meg tudjam adni, de nincs vele gond).
Ilyen nincs, ez komolytalan. Szedd elo, es mehet. Escrow nelkul lenyegeben lehetetlen normalisan fogadni, mert anelkul mi lesz? Polgari per? Ne vicceljunk mar.
> De azt is bele számoltad, hogy a több megnyitással a számítási idő is növekszik(tehát amíg ellenőrzöd az ütközést)?
Persze.
> Ezzel szemben mégis egy éves futásidőt emlegetsz.
Mivel garantaltan meg akarom nyerni, emiatt persze. De mostmar arrol beszelunk, hogy garantaltan nyerjek, te meg onnan kezdted, hogy garantaltan te nyersz
Na jo, szoljal amikor megvan a 10M nelkulozheto penz, ha tuti nyersz, akkor nem lehet gond ennyit kolcsonkerni valakitol.
[ Szerkesztve ]
while (!sleep) sheep++;
-
Ispy
veterán
Pontosan.
Ismerek olyan power usereket, akik ezt a hwnd hibát 2 nap alatt produkálni fogják, olyan speciális érzékük van hozzá. Olyanokat tudnak csinálni, ami neked eszedbe sem jutna, ha nagyon akarnád akkor sem.
"Debugging is like being the detective in a crime movie where you're also the murderer."
-
pmonitor
aktív tag
>Ilyen nincs, ez komolytalan. Szedd elo, es mehet. ....... mert anelkul mi lesz? Polgari per?
Ha ügyvéd biztosít, hogy megkapod a lóvét, akkor mire írod, hogy komolytalan? Meg aztán... itt a fórumon is itt van/lesz a nyoma, hogy bevállaltuk. Szóval, ha vesztenék(rossz esetben), akkor mit gondolnának rólam a többiek? És az olvasók? Szóval azért az nem csak úgy megy, hogy polgári per lesz belőle...
Viszont azok tények, amit leírtam. Az is tény, hogy a dqdb-vel történő irományunk sec-ekről/min-ekről szólt. És az is tény, hogy egy évet emlegetsz, mert meg akarod nyerni. Ebből látszik, hogy mennyire távol áll a valóságtól, amit dqdb írt.
Összesítve: a 10M nélkülözhető lóvé nincs meg, de garancia, hogy megkapod, ha nyersz, az ügyvéd(és a fórum résztvevői által) meglesz.
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
nagyúr
válasz pmonitor #16524 üzenetére
> Szóval, ha vesztenék(rossz esetben), akkor mit gondolnának rólam a többiek?
Hat az, hogy a forumon rosszat gondol rolat par ember (aki mar igy is hulyenek nez), az egesz mas, mint kifizetni 10 milliot
> Ha ügyvéd biztosít, hogy megkapod a lóvét, akkor mire írod, hogy komolytalan?
Az ugyved az nem biztosit semmirol, csak arrol, hogy a szerzodes ervenyes. Utana ha nem adod oda, akkor eleg maceras megszerezni, sok-sok-sok evbe telik, annal azert dragabb az idom.
Tehat gyerunk, majd szolj, ha megvan.
while (!sleep) sheep++;
-
pmonitor
aktív tag
Jó. Ha így állsz hozzá...
Ettől függetlenül, ha lesz időm, írok egy ilyen programot, amit max. 1-2 napig futtatok, mert én tényleg kíváncsi vagyok rá(fogadástól függetlenül). Az biztos, hogy a programkódot közzéteszem majd, és beszámolok az eredményről(mondjuk ez biztos nem holnap lesz).
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
sztanozs
veterán
válasz pmonitor #16505 üzenetére
Futtattam pénteken egy tesztet: ~300K process indításból csak kb 3000 egyedi PID volt. HWND egyezést csak egyet sikerült előidéznem, azt közvetlenül a gép újraindítása után.
C# (form) kód:using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.IO;
namespace pidtest {
public partial class Form1 : Form {
[DllImport("user32.dll", SetLastError = true)]
static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint processId);
public Form1() { InitializeComponent(); }
private void Form1_Load(object sender, EventArgs e) {
try {
uint pid;
IntPtr hwnd = Handle;
GetWindowThreadProcessId(Handle, out pid);
using (StreamWriter w = File.AppendText(@"c:\temp\pidtest.txt")) {
w.WriteLine("{0} {1}", pid.ToString(), hwnd.ToString());
} }
finally { Close(); }
}
}
}
python teszter:import os
a=0
f=open("c:/temp/pidtest.txt","r");A=f.readlines()
while 1:
os.startfile("c:/temp/pidtest.exe")
A+=f.readlines()
if len(A) != len({*A}): break
if a%100==0:
B,C=zip(*[a.split()for a in A])
D,E={*B},{*C}
print(f'Items: {len(B)} - Unique: {len(D)} PID, {len(E)} HWND', end='\r', flush=1)
a+=1
f.close()[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz sztanozs #16528 üzenetére
Mivel a python parallel futtatja a formokat, így kisebb az esélye az ütközésnek, de így is sikerült HWND ütközést összehozni. Ha fizikailag is külön gépen futnak a processzek, akkor ennek nagyobb az esélye.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
nagyúr
válasz sztanozs #16529 üzenetére
Hat ugye a kulcs itt a birthday paradox -- ha van egy X bites ter, akkor sqrt(2^X) probalkozasbol mar 50% eselyed van az utkozesre. A HWND 32 bites (es egyebkent sem teljesen random), a PID-eket meg ujrahasznalja az OS, szoval mondjuk legyen egy 48 bites ter... qed
while (!sleep) sheep++;
-
sztanozs
veterán
Én személy szerint hamarabb vártam ütközést, de vsz a HWND-t valami globális címtárból osztja és nem egykönnyen használódik újra azonos környzetben. Viszont a processzeket külön környezetben indítva szerintem jóval nagyobb lehet az esély.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
troll81
addikt
Sziasztok van olyan ph oldal ahol ecu programokkal foglalkozik valami illetve ori bin fajlokkal?
Elakadtam egy ecu ban abban kérnek segítséget. -
pmonitor
aktív tag
válasz sztanozs #16528 üzenetére
Készítettem tesztprogramot C-ben, csak nem tudom, hogy mikor tudom hosszasan futtatni. pidtesztA:
#include <windows.h>
HINSTANCE hInstance = NULL;
char* AppName = "PID teszt \"A\"";
char* WindowClassName = "pidtesztA";
HWND AppHwnd = NULL;
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
int main()
{
WNDCLASSEX wc;
MSG msg;
hInstance = GetModuleHandle(NULL);
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = WindowProc;
wc.hbrBackground = COLOR_BTNFACE + 1;
wc.hInstance = hInstance;
wc.lpszMenuName = NULL;
wc.lpszClassName = WindowClassName;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(0, IDC_ARROW);
RegisterClassEx(&wc);
AppHwnd = CreateWindowEx(0, WindowClassName, AppName, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 1200, 900, 0, 0, hInstance, 0);
ShowWindow(AppHwnd, SW_SHOWDEFAULT);
UpdateWindow(AppHwnd);
while (GetMessage(&msg, 0, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_CREATE:
ShowWindow(AppHwnd, SW_NORMAL);
break;
case WM_COMMAND:
break;
case WM_SIZE:
{
break;
}
case WM_SHOWWINDOW:
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, uMsg, wParam, lParam);
break;
}
}pidtesztB:
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
STARTUPINFOA SI;
PROCESS_INFORMATION PI;
HWND Pids[400000000];
int PidsP = 0;
int waitmsec = 500;
int appStart(char name[])
{
if (!CreateProcessA(NULL, name, NULL, NULL, FALSE, 0, NULL, NULL, &SI, &PI))
{
printf("A %s file-t nem lehet megnyitni...\n", name);
return -1;
}
WaitForSingleObject(PI.hProcess, waitmsec);
return 0;
}
int main(int argc, char* argv[])
{
DWORD procid = 0, hwndid;
ZeroMemory(&SI, sizeof(SI));
SI.cb = sizeof(SI);
ZeroMemory(&PI, sizeof(PI));
if (argc == 3) waitmsec = atoi(argv[2]);
char appA[50] = "pidtesztA.exe";
char appAClass[50] = "pidtesztA";
if (!appStart(appA))
{
HWND hwnd = FindWindowExA(NULL, NULL, appAClass, NULL);
while (hwnd)
{
int pidact = 0;
int tid = GetWindowThreadProcessId(hwnd, &pidact);
Pids[PidsP] = pidact;
PidsP++;
hwnd = FindWindowExA(NULL, hwnd, appAClass, NULL);
}
TerminateProcess(PI.hProcess, 0);
}
HWND prochwnd;
int i, out = 0, imax = 500;
if (argc >= 2) imax = atoi(argv[1]);
for (i = 0; i < imax; i++)
{
ZeroMemory(&SI, sizeof(SI));
SI.cb = sizeof(SI);
ZeroMemory(&PI, sizeof(PI));
if (!appStart(appA))
{
HWND hwnd = FindWindowExA(NULL, NULL, appAClass, NULL);
while (hwnd)
{
int pidact = 0;
int tid = GetWindowThreadProcessId(hwnd, &pidact);
int j = 0;
while (j < PidsP)
{
if (Pids[j] == pidact)
{
printf("Pid egyezik!\n");
out = 1;
break;
}
j++;
}
if (out) break;
Pids[PidsP] = pidact;
PidsP++;
hwnd = FindWindowExA(NULL, hwnd, appAClass, NULL);
}
TerminateProcess(PI.hProcess, 0);
if (out) break;
}
}
printf("i: %d\n", i);
return 0;
}Mint látható az "A" egy standard window. A "B" console. Az indítási intervallum, és a waitforsingleobject() ideje is alapból 500, de parancssorból változtatható, mint az a kódból is látható. A szám adatok validitását nem ellenőriztem le, csak egyből konvertál(legalábbis megpróbál ).
Még nem tudtam hosszan futtatni. Ha vki. működésbeli hibát vesz észre, Ő kérem jelezze.http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
lenkei83
tag
Szép kis vitát robbantottam ki.
Bocs srácok.Más: My.Settings.Save() után, hogyan tudom újra betölteni a configot anélkül, hogy újra kellene indítani a programot? Sehogyan sem tudom megoldani.
Pórbáltam így, de nem működött.System.Configuration.ConfigurationManager.RefreshSection("appSettings")
Application.Restartrészben megdoldás lehet, de Runtime megoldást keresek.
-
zsolti_20
senior tag
Sziasztok! Egy másik topikból lettem ide irányítva, remélem már jó helyen vagyok.
Annyit kell tudni az egészről, hogy egy excel fileból viszek be adatokat egy weboldalra, ahol sajnos nincs lehetőség az oldal fejlesztésére. Így marad a manuális lassú megoldás ami akár több órát is igénybe vehet, vagy bedobok egy kódot Google Chrome weboldalra és automatikusan csinálja amit szeretnék.
Milyen lehetőségeim vannak futtatni JavaScriptet?
Arra gondolok, hogy a HTML-be lehet építeni
<script> és </script> közé, aztán szépen lefut amikor betöltődik az oldal, vagy épp ha egy gombhoz rendelem hozzá. De sajnos ez az opció most nem játszik nálam.
Tudok futtatni JavaScript-et Google Chrome console-ból, ami nagyon jól működik, csak nem annyira felhasználó barát.
Van bármi más lehetőség arra, hogy egy weboldalt "irányítsak" JavaScript-el? Esetleg léteznek erre külsős programok, vagy egy HTML manipulátor applikáció?
A Google Chrome console-ból is elvagyok vele, csak jobb lenne egy kicsit felhasználóbarátabb opciót találni. -
dabadab
titán
válasz zsolti_20 #16539 üzenetére
Igen, de ehhez a böngészőben telepíteni kell a Tampermonkeyt + a konkrét scriptet is.
Azt mondjuk nem látom, hogy ez miért segítene neked, hiszen ez kliensoldali script, ez nem fogja látni azt az Excel file-t, ami nálad van.A konkrét weboldalhoz mennyire férsz hozzá? Konkrétan át tudod írni a html-t vagy csak vmi indirekt módon?
DRM is theft
-
-
disy68
aktív tag
válasz dabadab #16540 üzenetére
Nem tudom mi pontosan a cél, de ha annyi, hogy egy kész weboldalon lévő formot kitölteni egy excel adataival, akkor megoldható a dolog. A fájlt be lehet tallózni és van kész lib, amivel be is lehet olvasni. pölö
“Yeah, well, you know, that’s just, like, your opinion, man.” — The Dude
-
zsolti_20
senior tag
válasz disy68 #16542 üzenetére
A kód maga már készen van. Mivel nem én vagyok az oldal fejlesztője így nem tudom ezt a kódot a HTML-be integrálni. Én csak mint sima felhasználó létezek.
A cél az lenne, hogy megtaláljam a lehető legegyszerűbb módot arra, hogy eljuttassam a a JavaScript parancsokat a weboldalra.
Pl. a google.com weboldalon szeretném beírni a keresőbe hogy TEST. Erre megnyitom a consolet, bemásolom a JavaScript kódot ami automatikusan kitöltő a kereső mezőt a "TEST" szöveggel.
Ehhez szükséges nyomnom egy F12-öt majd a consoleba bedobnom a kódot. Ha pl a munkatársam szeretné ezt használni, nem lenne képes rá, mivel a programozói tudása 0 körül van.
Ezért nézelődök mindenfelé hátha létezik egyszerűbb megoldás is erre. -
disy68
aktív tag
-
pmonitor
aktív tag
Egy érdekesség.
Állomány listázásáról van szó. Azon belül is 3 esetről:1.: C-ben(VS-ben), ha a következő beállítást használom:
Project jobb klikk -> Properties -> Configuration Properties -> Advanced -> Character Set
Itt "Use Unicode Character Set" beállítás mellett FindFirstFileW-t használva.
2.: C-ben(VS-ben) az előző helyen "Not Set" beállítás mellett FindFirstFileA-t használva
3.: TC-ben.Ezek közül mindegyik állomány listázásnak más az eredménye. Ja, és a parancssor dir parancsáról nem is beszéltem.
Pl. ha C:\windows\system32-t listázom ki, akkor a 2. esetben az "aadcloudap.dll"-t nem találja meg. Az 1. és a 3. esetben megtalálja, de van amiben azok is különböznek.
Ki érti ezt'et?http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
válasz pmonitor #16549 üzenetére
Ezt nagyon benéztem. Egy következtetésem volt jó: Ki érti ezt'et? Mert az igaz, hogy gyakorlatilag ahány alkalmazás, annyiféle eredmény. De a részletekbe belebonyolódtam.
1.: C#-ban find(first/next)file-t használva.
2: C-ben find(first/next)file-t használva.
3.: TC-benHa a C:\windows\system32-t listázom ki, akkor a 2. esetben az "aadcloudap.dll"-t nem találja meg. Az 1. és a 3. esetben megtalálja.
Viszont ha ugyanezt a mappát almappákkal listázom ki, akkor az 1. és a 3. eset is eltérő eredményt ad(a TC több mappát/file-t talál a C#-nál).
De a különbségek nálam csak a c: rendszermeghajtón jönnek ki. Pl. a D:\ meghajtó teljes listázásánál mindegyik ugyanazt az eredményt adja(persze a D: meghajtón nincsenek "különleges attribútumú" mappák/állományok.)
A különleges attribútumú mappák/állományok listázása esetén talán a TC találja meg a legtöbbet. Utána a C#, majd a végén a C.Szóval az összevisszaság megvan. De azért az előző hsz-emben lévő hamis kijelentésemért elnézést kérek.
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Volkswagen ID.7 menetpróba
- Xiaomi Redmi Note 5 Global
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Autós topik
- Gmail
- Kerékpárosok, bringások ide!
- Ukrajnai háború
- Elektromos rásegítésű kerékpárok
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- További aktív témák...