Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 13448|Válasz: 5

Hogyan szerezz meg tudományosan a piros borítékokat: Az év végén meggazdagodhatsz, és írhatsz egy programot, amellyel piros borítékokat lehet szerezni

[Linket másol]
Közzétéve 2015. 02. 13. 22:44:10 | | | |
0×00 Háttér

Milyenek ezek a piros borítékok? Testvére fia, Huer azt mondta: "A pénz szinte összehasonlítható. A testvér és lánya, Dao Yun azt mondta: "Nem olyan jó, mint a nagynénémé, a szél miatt." "Mindenki érti a hátteret, új év van, és ez az a nap, amikor piros borítékok repkednek az égen. Csak úgy történt, hogy két napja tanultam Pythont, és még izgatottabb lettem, ezért tanulmányoztam és tanulmányoztam a Weibo piros borítékok mászását, miért a Weibo piros borítékokat az Alipay piros boríték helyett, mert csak a webet értem, és ha van energiám, lehet, hogy a jövőben tanulmányozom a whack-a-mole algoritmust is.
Mivel kezdő vagyok Pythonban, ez a program a harmadik program, amit a Python megtanulása után írtam, szóval kérlek, ne vizsgálj személyesen, ha van bármilyen gödör a kódban, a hangsúly az ötleten van, ha van bármilyen gödör az ötletben, kérlek, ne mutassd személyesen, látod, az IE-nek van arca ahhoz, hogy alapértelmezett böngészőként beállítsa magát, én írok egy scum cikket is elfogadható......
Én Python 2.7-et használok, és azt mondják, hogy nagy különbség van a Python 2 és a Python 3 között.
0×01 Ötletek
Túl lusta voltam, hogy szavakkal írjam, ezért rajzoltam egy vázlatot, és mindenkinek értenie kellene.
Először is, a régi szabály: először vezetj be egy olyan könyvtárat, amiről nem tudod, hogy hasznos, de nélküle nem lehet megcsinálni:
[mw_shl_code=java,true]import re import urllib import urllib2 import cookielib import base64 import binascii import os import json import sys import cPickle as p import rsa[/mw_shl_code] Ezután jelölj meg néhány más változót, amelyeket később használni fogsz:

[mw_shl_code=java,true]reload(sys)sys.setdefaultencoding('utf-8&') #将字符编码置为utf-8luckyList=[] #红包列表lowest=10 #能忍受红包领奖记录最低为多少[/mw_shl_code]Itt egy rsa könyvtárat használnak, amely alapértelmezés szerint nem található a Pythonban. Telepíteni kell :https://pypi.python.org/pypi/rsa/

Letöltés után futtatjuk setpy.py telepítsük a telepítést, majd elkezdhetjük a fejlesztési lépéseket.
0×02 Weibo bejelentkezés
A piros borítékok megszerzését bejelentkezés után kell végrehajtani, tehát kell lennie bejelentkezési funkciónak, a bejelentkezés nem a kulcs, hanem a sütik megőrzése, itt a cookielib együttműködése szükséges.
[mw_shl_code=java,true]cj = cookielib. CookieJar()opener = urllib2.build_opener(urllib2. HTTPCookieProcessor(cj))urllib2.install_opener(opener)[/mw_shl_code] Így minden hálózati művelet nyitóval, kezeli a sütik állapotát, bár nem tudok róla sokat, de fantasztikus érzés.
Ezután két modult kell bezárnunk: az egyik az adatgyűjtési modul, amely egyszerűen adatgyűjtésre szolgál, a másik pedig adatok POST-ja.
[mw_shl_code=java,true]def getData(url) : try: req = urllib2. Request(url) result = opener.open(req) text = result.read() text=text.decode("utf-8").encode("gbk",'ignore') return text kivéve a Exception, e:                print u' request exception, url: '+url print e def postData(url,data,header) : try: data = urllib.urlencode(data) req = urllib2. Request(url,data,header) eredmény = opener.open(req) text = result.read() return text kivéve Exception, e: print u'Request exception, url: '+url[/mw_shl_code] Ezzel a két modullal GET és POST adatot, többek között azért lehet getData dekódolni és utána kódolni, mert Win7-ben mindig összezavartam a kimenetet hibakereséskor, ezért hozzáadtam némi kódolási feldolgozást, ezek nem a lényeg, az alábbi bejelentkezési függvény a Weibo bejelentkezés magja.
[mw_shl_code=java,true]def login(nick, pwd): print u"----------login----------" print "----------......----------" prelogin_url= 'http://login.sina.com.cn/sso/prelogin.php?entry=weibo&callback=sinaSSOController.preloginCallBack&su=%s&rsakt=mod&checkpin=1&client=ssologin.js(v1.4.15)&_= 1400822309846' % nick preLogin = getData(prelogin_url) servertime = re.findall('"servertime":(.+?),' , preLogin)[0] pubkey = re.findall('"pubkey":"(.+?)",' , preLogin)[0] rsakv = re.findall('"rsakv":"(.+?)",' , preLogin)[0] nonce = re.findall('"nonce":"(.+?)",' , preLogin)[0] #print bytearray('xxxx','utf-8') su = base64.b64encode(urllib.quote(nick))        rsaPublickey= int(pubkey,16) key = rsa. PublicKey(rsaPublickey,65537) message = str(servertime) +'\t' + str(nonce) + '\n' + str(pwd) sp = binascii.b2a_hex(rsa.encrypt(message,key)) header = {'User-Agent' : 'Mozilla/5.0 (kompatibilis; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)'} param = { 'entry': 'weibo', 'gateway': '1', 'from': '', 'savestate': '7', 'userticket': '1',                'ssosimplelogin': '1', 'vsnf': '1', 'vsnval': '', 'su': su, 'service': 'miniblog', 'servertime': servertime, 'nonce': nonce, 'pwencode': 'rsa2', 'sp': sp, 'encoding': 'UTF-8', 'URL': 'http://weibo.com/ajaxlogin.php?framelogin=1&callback=parent.sinaSSOController.feedBackUrlCallBack', 'returntype': 'META', 'rsakv' : rsakv, } s = postData('http://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.15)',param,header) try: urll = re.findall("locatio remove n.replace\(\'(.+?) \'\); " , s)[0] login=getData(urll) print u"--------- Bejelentkezés sikerült! ------- "print" ----------......---------- "kivéve a kivételt, e: print u" --------- bejelentkezés sikertelen! -------" nyomtatás "----------......----------" exit(0)[/mw_shl_code]A paraméterek és titkosítási algoritmusok az internetről vannak lemásolva, nem értem túl jól, valószínűleg először időbélyeget és nyilvános kulcsot kell kérni, majd RSA titkosítást, végül a feldolgozást és benyújtani a Sina bejelentkezési felületére, miután sikeresen bejelentkeztél a Sina-ból, vissza fog adni egy Weibo címet, kérned kell, hogy a bejelentkezési státusz teljesen érvényesülhessen, A sikeres bejelentkezés után a következő kérések a jelenlegi felhasználó sütit fogják hordozni.
0×03 Kijelölt piros borítékrajz
Miután sikeresen bejelentkeztem a Weibóba, alig várom, hogy találjak egy piros borítékot, hogy először kipróbáljam, persze először a böngészőben. Végül találtam egy oldalt piros borítékgombal, F12 meghívta a hibakeresőt, hogy megnézze, mit kér az adatcsomag.

Láthatod, hogy a kérés címe http://huodong.weibo.com/aj_hongbao/getlucky, két fő paraméter van: az egyik ouid, vagyis a piros borítékazonosító, ami az URL-ben látható, a másik megosztás paraméter határozza meg, hogy megosztják-e a Weibóval, és van egy _t, amire nem tudom, mire való.
Elméletileg tehát a piros boríték kinyerését úgy lehet teljesíteni, hogy három paramétert küldesz be erre az URL-re, de amikor ténylegesen beküldöd a paramétereket, azt fogod tapasztalni, hogy a szerver varázsütésre visszaadja neked egy ilyen stringet:
[mw_shl_code=java, igaz] {"code":303403,"msg":"Sajnálom, nincs engedélyed erre az oldalra","data":[]}[/mw_shl_code] Ne ess pánikba most, sok éves webfejlesztői tapasztalatom alapján a másik fél programozójának meg kellene ítélnie a referert, nagyon egyszerű: másold le az összes korábbi kérés fejléceit.
[mw_shl_code=java,true]def getLucky(id): #抽奖程序 print u"--- húzz piros borítékot onnan:"+str(id)+"---" nyomd "----------......----------" if checkValue(id)==False: #不符合条件, ez a funkció visszatér később        luckyUrl="http://huodong.weibo.com/aj_hongbao/getlucky" param={ 'ouid':id, 'share':0, '_t':0 } header= {                'cache-control':'no-cache', 'content-type':'application/x-www-form-urlencoded', 'origin':'http://huodong.weibo.com', 'Pragma':'no-cache', 'referer': 'http://huodong.weibo.com/hongbao/'+str(id), 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, mint Gecko) Chrome/33.0.1750.146 BIDUBrowser/6.x Safari/537.36', 'X-Requested-With':'XMLHttpRequest' } res = postData(luckyUrl,param, fejléce)[/mw_shl_code] Ebben az esetben elméletben nincs probléma, de valójában nincs probléma. Miután a lottó akció befejeződött, meg kell ítélnünk az állapotot, és a visszaadott felbontás egy json string, ahol a kód 100000 sikeres lesz, ha 90114, akkor a mai lottó felső határa, és a többi érték is meghibásodott, szóval:
[mw_shl_code=java,true]hbRes=json.loads(res)if hbRes["code"]=='901114': #今天红包已经抢完 print u"--------- elérte a felső határt---------" nyomd "----------......----------" log('szerencsés', str(id)+'---'+str(hbRes["code"])+'---'+hbRes["data"]["title"]) exit(0)elif hbRes["code"]=='100000':#成功 print u"---------Jólétet kívánok---------" print "----------......----------"        log('success',str(id)+'---'+res) exit(0) if hbRes["data"] and hbRes["data"]["title"]: print hbRes["data"]["title"] print "----------......----------" log('lucky', str(id)+'---'+str(hbRes["code"])+'---'+hbRes["data"]["title"])else: print u"---------Request error---------" print "----------......----------" log('lucky', str(id)+'---'+res)[/mw_shl_code], ahol a napló is egy testreszabott funkció, amelyet naplók rögzítésére használok:
[mw_shl_code=java,true]def log(type,text): fp = open(type+'.txt','a') fp.write(text) fp.write('\r\n') fp.close()[/mw_shl_code]





Előző:Jegyzetek a PHP feltöltési maximális korlátokról
Következő:Memcache DLL kiterjesztés letöltése PHP5.2, 5.3, 5.4, 5.5 formátumokhoz
 Háziúr| Közzétéve 2015. 02. 13. 22:46:37 |
0×04 Kússz a piros borítékok listáját
Egyetlen piros borítékgyűjtési művelet sikeres tesztelése után ez a programunk fő nagy lépés modulja – a piros borítéklista körözése során sok módszer és belépés kellene lennie a piros borítéklista körözéséhez, például különféle Weibo keresési kulcsszavak és így tovább, de én itt a legegyszerűbb módszert használom: a piros borítéklista feltérképezését.
A kezdőlapon (a piros boríték tevékenységének http://huodong.weibo.com/hongbao különböző pontokon keresztül mind megfigyelhető, bár a lista sokat kapcsolódik, két kategóriába sorolható (kivéve a leggazdagabb piros borítéklistát): téma és ranglista.
Az F12 idézésének folytatása után elemezze mindkét oldal formátumát, kezdve a témák listájával, például: http://huodong.weibo.com/hongbao/special_quyu
Láthatod, hogy a piros boríték információi egy info_wrap nevű divben vannak, így csak az oldal forráskódját kell aktiválnunk, majd az összes infowrap-et összegyűjtenünk, majd egyszerűen feldolgozni, hogy megkapjuk az oldal piros borítéklistáját, itt néhány szabályos példányt kell használnunk:
[mw_shl_code=java,true]def getThemeList(url,p):#主题红包 print u"--------- "+str(p)+"page---------" print "----------......----------" html=getData(url+'?p='+str(p)) pWrap= re.compile(r'<div class="info_wrap">(.+?) <span class="rob_txt"></span>',re. DOTALL) #h Szerezd meg info_wrap a normál pInfo=re.compile(r'.+<em class="num">(.+)</em>.+<em class="num">(.+)</em>.+<em class="num">(.+).</em>.+href="(.+)" class="btn"',re. DOTALL) #获取红包信息 List=pWrap.findall(html,re. DOTALL) n=len(List) if n==0: return for i in range(n): #traverse all info_wrap div s=pInfo.match(List) #取得红包信息 info=list(s.groups(0))                info[0]=float(info[0].replace('\xcd\xf2','0000')) #现金,ten->0000 try: info[1]=float(info[1].replace('\xcd\xf2','0000')) #礼品价值 kivéve Exception, e:                        info[1]=float(info[1].replace('\xd2\xda','00000000')) #礼品价值 info[2]=float(info[2].replace('\xcd\xf2','0000')) #已发送 if info[2]==0: info[2]=1 #防止除数为0 if info[1]==0: info[1]=1 #防止除数为0 info.append(info[0]/(info[2]+info[1])) #红包价值, cash/(igénylők száma + nyereményérték) # if info[0]/(info[2]+info[1])>100:                # print url luckyList.append(info) if 'class="page"' html:#存在下一页 p=p+1 getThemeList(url,p) #递归调用自己爬取下一页[/mw_shl_code]Olyan nehéz kimondani, hogy ez annyira nehéz, és sokáig tartott megírni ezt a két mondatot. Van egy infó is az infóban [4], ami az algoritmusom nagyjából megítélni a piros borítékok értékét, miért csináld ezt, mert sok piros boríték van, de csak négyszer tudunk húzni, a táskák hatalmas tengerében meg kell találnunk a legértékesebb piros borítékokat, majd elő kell húznunk őket, íme három adat referenciaként: készpénzérték, ajándékérték és a kedvezményezettek száma, nyilvánvalóan, ha a készpénz kicsi, és sok embert fogadnak vagy a nyeremény értéke nagyon magas (néhányan még több százmilliós egységben is őrültek is), Aztán nem éri megvenni, ezért sokáig visszafogtam, és végül kitaláltam egy algoritmust a piros boríték súlyának mérésére: piros boríték értéke = készpénz / (a kedvezményezettek száma + nyereményérték).
A ranglista oldalának elve ugyanaz: találd meg a kulcscímkéket, és rendszeresen párosítsd őket.
[mw_shl_code=java,true]def getTopList(url,daily,p):#排行榜红包 print u"--------- "+str(p)+"page---------" print "----------......----------" html=getData(url+'?daily='+str(daily)+'& p='+str(p)) pWrap=re.compile(r'<div class="list_info">(.+?) <span class="list_btn"></span>',re. DOTALL) #h Szerezd meg list_info a normál pInfo=re.compile(r'.+<em class="num">(.+)</em>.+<em class="num">(.+)</em>.+<em class="num">(.+).</em>.+href="(.+)" class="btn rob_btn"',re. DOTALL) #获取红包信息 List=pWrap.findall(html,re. DOTALL) n=len(Lista) if n==0: return for i a range(n)-ben: #Iterate végig az összes info_wrap div s=pInfo.match(List) #取得红包信息 topinfo=list(s.groups(0))                info=list(topinfo) info[0]=topinfo[1].replace('\xd4\xaa','') #元->'' info[0]=float(info[0].replace('\xcd\xf2','0000')) #现金,10,>0000 info[1]=topinfo[2]. replace('\xd4\xaa','') #元->'' try: info[1]=float(info[1].replace('\xcd\xf2','0000')) #礼品价值 kivéve a Exception, e:                        info[1]=float(info[1].replace('\xd2\xda','0000000')) #礼品价值 info[2]=topinfo[0].replace('\xb8\xf6','') #个->'' info[2]=float(info[2].replace('\xcd\xf2','0000')) #已发送                if info[2]==0: info[2]=1 #防止除数为0 if info[1]==0: info[1]=1 #防止除数为0 info.append(info[0]/(info[2]+info[1])) #红包价值, cash/(a kedvezményezettek száma + ajándékérték)                # if info[0]/(info[2]+info[1])>100: # print url luckyList.append(info) if 'class="page"' in html:#存在下一页 p=p+1                getTopList(url,daily,p) #递归调用自己爬取下一页[/mw_shl_code]Most már sikeresen átvizsgálhatjuk a két speciális oldal listáját, és a következő lépés az, hogy megszerezzük a listák listáját, vagyis ezeknek a listacímeknek a gyűjteményét, majd egyenként megkapjuk őket:
[mw_shl_code=java,true]def getList(): print u"---------Find target---------" print "----------......----------" themeUrl={ #主题列表 'theme':'http://huodong.weibo.com/hongbao/theme',                 'pinpai':'http://huodong.weibo.com/hongbao/special_pinpai', 'daka':'http://huodong.weibo.com/hongbao/special_daka', 'youxuan':'http://huodong.weibo. com/hongbao/special_youxuan', 'qiye':'http://huodong.weibo.com/hongbao/special_qiye', 'quyu':'http://huodong.weibo.com/hongbao/special_quyu', 'meiti':'http: huodong.weibo.com/hongbao/special_meiti', 'hezuo':'http://huodong.weibo.com/hongbao/special_hezuo' } topUrl={ #排行榜列表 'mostmoney':'http://huodong.weibo. com/hongbao/top_mostmoney', 'mostsend':'http://huodong.weibo.com/hongbao/top_mostsend', 'mostsenddaka':'http://huodong.weibo.com/hongbao/top_mostsenddaka',                'mostsendpartner':'http://huodong.weibo.com/hongbao/top_mostsendpartner', 'cate':'http://huodong.weibo.com/hongbao/cate?type=', 'clothes':'http://huodong.weibo.com/ hongbao/cate?type=clothes', 'beauty':'http://huodong.weibo.com/hongbao/cate?type=beauty', 'fast':'http://huodong.weibo.com/hongbao/cate?type=fast', 'life':'http: huodong.weibo.com/hongbao/cate?type=life', 'digital':'http://huodong.weibo.com/hongbao/cate?type=digital', 'other':'http://huodong.weibo.com/hongbao/cate?type=other'                } for (theme,url) in themeUrl.items(): print "----------"+theme+"----------" print URL print print "----------......----------"                getThemeList(url,1) for (top,url) in topUrl.items(): print "----------"+top+"----------" print url print "----------......----------"                getTopList(url,0,1) getTopList(url,1,1)[/mw_shl_code]
 Háziúr| Közzétéve 2015. 02. 13. 22:47:13 |
0×05 Ítélj meg a piros borítékok elérhetőségét
Ez viszonylag egyszerű: először keress kulcsszavakat a forráskódban, hogy lásd, van-e piros boríték fogás gomb, majd menj a gyűjtemény rangsorolásához, hogy megnézd, mi a legmagasabb rekord, ha a legtöbbet csak néhány dollárt kap, viszlát......
A gyűjteményi rekord megtekintéséhez szükséges cím http://huodong.weibo.com/aj_hongbao/detailmore?page=1&type=2&_t=0&__rnd=1423744829265&uid=Red Envelope ID

[mw_shl_code=java,true]def checkValue(id): infoUrl='http://huodong.weibo.com/hongbao/'+str(id) html=getData(infoUrl) if 'action-type="lottery"' html-ben vagy True: #存在抢红包按钮                logUrl="http://huodong.weibo.com/aj_hongbao/detailmore?page=1&type=2&_t=0&__rnd=1423744829265&uid="+id #查看排行榜数据 param={} header= { 'Cache-Control': 'no-cache', 'Content-Type':'application/x-www-form-urlencoded', 'Pragma':'no-cache', 'Referer':'http://huodong.weibo.com/hongbao/detail? uid='+str(id), 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, mint Gecko) Chrome/33.0.1750.146 BIDUBrowser/6.x Safari/537.36', 'X-Requested-With':'XMLHttpRequest' } res = postData(logUrl,param,header) pMoney=re.compile(r'<span class="money">(\d+?). +?) \xd4\xaa</span>', re. DOTALL) #h Szerezd meg az összes list_info rendszeres luckyLog=pMoney.findall(html,re. DOTALL) if len(luckyLog)==0: maxMoney=0 else: maxMoney=float(luckyLog[0]) if maxMoney <legalacsonyabb: #记录中最大红包小于设定值 visszaküldés False else: print u"--------- hand lassít---------" print "----------......----------" return false        return True[/mw_shl_code]0×06 Befejező munka
A fő modulok már a helyükön vannak, és most minden lépést sorba kell kötni:
[mw_shl_code=java,true]def start(username,password,low,fromFile): gl=False low=low login(username, password) if fromfile=='y': if os.path.exists('luckyList.txt'):                         try: f = file('luckyList.txt') newList = [] newList = p.load(f)                                print u'--------- load list---------' print "----------......----------" kivéve a Exception, e: print u' nem tudta parsírozni a helyi listát, így az online oldal feltérképezhető. ' print "----------......----------" gl=True else: print u' nem létezik helyben luckyList.txt online oldalakat átnézve. ' nyomd "----------......----------" gl=True if gl==True: getList() az operátor import itemgetterből                newList=sorted(luckyList, key=itemgetter(4),rever=True) f = file('luckyList.txt', 'w') p.dump(newList, f) #把抓到的列表存到文件里, így legközelebb nem kell f.close() -t elkapnod a lucky-hoz newList: ha nem 'http://huodong.weibo.com' a lucky[3]-ban: #不是红包 folytasd a lucky[3] nyomtatását[3] id=re.findall(r'(\w*[0-9]+)\w*',lucky[3])                getLucky(id[0])[/mw_shl_code] Mivel nagyon nehéz minden alkalommal újra átvizsgálni a piros borítéklistát, hozzáadtam egy bekezdést, hogy a teljes listát a fájlkódba dobjam, hogy a helyi listát elolvashassák, és a jövőben megszerezhesd a piros borítékot.
[mw_shl_code=java,true]if __name__ == "__main__": print u"------------------ Weibo Red Envelope Assistant------------------" print "---------------------v0.0.1---------------------" print u"------------- by @***----------------" nyomd ki "-------------------------------------------------" próbálkozás: uname=raw_input(u"Kérjük, adja meg a Weibo fiókját: ".decode('utf-8').encode('gbk'))                pwd=raw_input(u"Kérjük, adja meg a Weibo jelszavát: ".decode('utf-8').encode('gbk')) low=int(raw_input(u"Piros boríték, hogy megkapja a n-nél nagyobb készpénzt: ".decode('utf-8').encode('gbk'))))) fromfile=raw_input(u) Használja-e a piros borítéklistát a luckyList.txt-ben: (y/n) ".decode('utf-8').encode('gbk')) kivéve a Exception, e: print u" paraméter error" print "----------......----------" print e                exit(0) print u"--------- program start---------" print "----------......----------" start(uname,pwd,low, fromfile) print u" --------- program end--------- "print "----------...... ----------" os.system('szünet')[/mw_shl_code]
0×07 Gyerünk!

0×07 Összefoglaló
Az alap crawler váza gyakorlatilag elkészült, sőt, még mindig sok lehetőség van ennek a crawlernek sok részletben játszani, például módosítani a batch bejelentkezés támogatására, például a piros borító érték algoritmus optimalizálására, a kódnak is sok helyet kell biztosítani az optimalizáláshoz, de az én képességeimmel úgy becsülöm, hogy ezt meg tudom valósítani.
Végül mindenki látta a program eredményét, száz kódsort, több ezer szót írtam cikkekből, és csak egy kétszínű golyót kaptam, Nima pit papa, hogy lehet ez egy kétszínű gömb!! (Narrátor: Minél többet beszélt az író, annál izgatottabb lett, sírt is, és a körülötte lévők meggyőzték: Tesó, nem így van, nem csak egy Weibo piros boríték, tegnap fájtak a kezem, és nem ráztam ki egy WeChat piros borítékot.) )

Közzétéve 2015. 02. 14. 7:14:33 |
Mennyi pénzt szereztél Loulou-ban?
Közzétéve 2016. 03. 02. 13:48:27 |
Olyan magasnak tűnik
Közzétéve 2016. 03. 07. 12:51:02 |
Nem tudom, hogy komoly-e
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com