![]() |
udolyator by inoy
т.к. я имею дело с продажей\покупкой всяческих аккаунтов соц сетей - нужен был софт, который бы акки удалял\сортировал\выбирал и тп
погуглив и пошарившись по форумам нечего нужного не увидел, поэтому решил написать сам :) сразу оговорюсь: это моя первая программа на делфи. до неё делфи в глаза невидел вообще. некоторые функции (цветные окошки, например) были приделаны только для того, чтобы разобраться в том или ином компоненте. если увидите ошибки или не найдёте нужной вам функции - пишите, поправим\добавим :) итак, что умеет прога: http://imglink.ru/pictures/29-01-10/...ac78cf1b7a.jpg удаление дублированных строк можно выбрать из двух видов: быстрый и медленный. быстрый работает непосредственно с файлами *.txt, не загружая строки в поля. работает также быстро, как и uniquer saiNT'a. медленный загружает все строки в поля - изза этого он и медленный, особенно с большими объёмами. сравнение двух файлов и удаление строк файла2 из строк файла1 (например: у вас есть акки. вы их проверили - получили валид. забиваете все акки в первое поле, валид во второе и на выходе получаете отобранный невалид :) ) http://imglink.ru/pictures/29-01-10/...650b8489dc.jpg отбор мыл вк от акков например, есть у вас куча акков, еще бОльшая куча мыл от этих и всяких других акков и вам срочно надо выбрать мыла от акков (для ретрива, например) - забиваете мыла в первое поле, акки во второе и тыкаете на кнопачку. вуаля, мыла отобраны! :) http://imglink.ru/pictures/29-01-10/...7e4704bd65.jpg обработка паролей\текстов опционально обрабатываются либо весь текст, либо пароли после разделителя ":" зачем удалять из паролей?? например у вас есть куча невалида вк и вы хотите прочекать это всё на валидность мыл. как известно, в паролях ВК могут быть любые символы, а вот в паролях от мыл - нет. тут то и придёт на помощь моя прога: суёте акки в первое поле, выбираете что удалять и жмёте кнопку. мыл восстановится на порядок больше, это гарантирую :) опционально пароли с <4 символов удаляются, т.к. почти везде стоит ограничение минимальной длинны пароля можно удалять цифры\кириллицу\латиницу\с ужебные символы или свой набор символов (записывать подряд, без пробелов) замена пробелов на перенос строки примерно раз в месяц вижу такой вопрос на форуме :) дабы не забивать мозг школоте всякими notepad2 с заменами регулярок решил приделать такую функцию. как обычно - текст в первое поле, выход - второе. http://imglink.ru/pictures/29-01-10/...eeb6e72e3a.jpg отбор мыл по доменам\параметрам идею и половину кода нагло украл у udman'a :) от себя добавил отбор женских мыл. отбор по ключевым словам типа "галя", "катя" - поэтому точность гарантировать не могу. но если нужно - пользуйтесь :) да, и: кого бесят цветастые поля - настройте цвета сами. над каждым полем есть кнопочка. v1.1beta: добавил еще пару генераторов паролей, отрезалку пассов, разделялку акк:пасс на акк и пасс, и заменялку переноса на табуляцию (для фэйсбука пригодица, хехе) доделывать правда уже влом, может какнибудь позже скачать версию 1.1beta: http://slil.ru/29214382 и не забудьте файлик data.ini, иначе все поля будут черными :) |
А теперь вопрос. Если загнать туда базу из 50 лямов мыл, то выживет прога или нет?
|
Цитата:
|
Хм) Раз до этого делфи вообще в глаза не видел, то молодец +)
|
а мы ща попробуем покнуть)
не не получилось) |
Мдауж. вес 1 метр. Это жесть. Если на си писать то максимум она выйдет в 20 кил без сжатия. Хотя наверное и того меньше.
|
ну и при загрузке 10метрового файла жрет под 60мб памяти
|
Цитата:
обычно юзаю вот такой стафф, если не нужна црт и операции с плавающей точкой #pragma optimize("gsy", on) #pragma comment(linker, "/MERGE:.rdata=.data") #pragma comment(linker,"/MERGE:.text=.data") #pragma comment(linker,"/SECTION:.data,ERW") #pragma comment(linker, "/ENTRY:WinMain") |
2 sn0w мож и меньше ) Но я имел в виду с GUI через диалоги и с полным функционалом.
Для своего софта юзаю подобные тоже вещи. Темболее что функционал crt можно и саомму написать в плане некоторых функций, а для некоторых есть и апишки ) |
Цитата:
только что загнал 4 ляма в удаление дублей - удалила на ура :) загнал бы больше - да нотепад2 повис и я не смог навставлять еще пару лямов строк :( Цитата:
2sn0w и slesh: и что того что она весит метр? места чтоли на винте жалко? :) прошу не кидаться гавном в делфи, а просто высказать мнение насчет полезности\работоспособно ти моей суперпроги :) и не забывайте, что это мой первый опыт! ну и неоткажусь от советов\пожеланий. спасибо :) |
да и весит она много только изза всяких отключений\включений кнопочек. лучше защиты от юзеров я не придумал :)
uniquer saiNT'a например весит 400кб. что там за код не знаю, но у меня удалялка дублей получилась строк из 10 кода.. судя по скорости - там нечто подобное. и почему он столько весит? ;) |
Поковырял ресурс хакером)) там картинки до талого занимают)
|
>>да и весит она много только изза всяких отключений\включений кнопочек.
Button1.Enabled:=false; +100Kb Button1.Enabled:=true; +100Kb ????? o_O |
Цитата:
Цитата:
|
из-за хитрожопости делфи, не иначе
ТС, как я понял, прога тупо проходит по списку акков и за O(N^2*m) находит дубли, где N это количество акков, а m - длина? ТС, учи qsort... ну и хеши заодно тоже пысы консоль рулит, гуишка еще больше тормозит твою прогу |
Цитата:
если удаление дублей то: т.е. каждую строку сравнивает со всеми строками и при совпадении удаляет? нет :) всё намного проще Цитата:
|
ок, тогда как работает твой софт?
|
Цитата:
гораздо быстрее чем со всем сравнивать и даже быстрее бинарного поиска :) |
ок, сорре, не заметил, что оно не сдохло на 50млн
пысы сделай консольный вызов что-то типа undoubler.exe input.txt output.txt и прогу напиши консольную, весить гораздо меньше будет |
Цитата:
юзабилити никто не отменял, так что консоль только как альтернативу, без помех для GUI ТС, сожми UPX'ом |
Цитата:
первый пост обновил |
slesh, сейчас не начало 90х, скорость разработки гораздо важнее размера исполняемого файла и объема используемой памяти ;)
|
вот это офигенная вещь.
|
спасибо автору)
|
Цитата:
|
Цитата:
p.s.: кривой код и неправильная работа с памятью не считается |
автору большое человеческое спасибо
|
ну наконец-то оценили :) /me радуется как ребёнок
|
Если это действительно Самая Первая прога, неважно на каком языке, неважно сколько весит, - это действительно неплохо. Терь советую сделать так: сначала переписать всё полностью на Delphi+WinAPI(т.е. никаких визуальных компонентов, ничего, только функции винды), потом портнуть на VisualC++, ну а потом по желанию - upx или асм+upx.
|
а зачем?
|
опыт и знания :)
|
Цитата:
Зачем ЭТУ программу переписывать на ассемблере еще и upx-ом паковать? Следуя манифесту хэкеров что ли? |
эм. слово "ЭТУ" употреблено с каким подтекстом?
|
Я не пойму, вы зашли в тему чайника, втираете про crt, консоли, размер exe и т.д., вместо того что бы потестить(правда тут нечему ломаться), сказать что добавить или убратью Смех да и только:) Между прочим если человек впервые увидел делфи и такое написал, то нереальный молодец! По сабжу : такие вещи не храни не загружай в Memo, при больших объёмах будет жраться памяти непомерно, будут тормоза. Я бы вообще убрал отображение аков, потому что если у человека стопицот аков, то врятли он их будет рассматривать. Вмксто этого добавь к примеру статистику(сколько таких то мыльников с такими то доменами, сколько всего аков, и т.д.)
Цитата:
1. Медленнее загрузка в память 2. Появление всякого мусора на винтах 3. Вообще бесполезно, если цель уменьшение размера, т.к. если это всё потом сжать к примеру WinRAR'ом, то он сажмёт максимум на 5-8% да и то потому что алгоритм сжатия другой. А вообще побольшей части упаковщики используют от хакеров, т.к. отлаживать сложнее, да и в IDA просто так не засунешь. |
Цитата:
да вот знаю, но мне было удобней работать именно со списками акков в мемо, чем постоянно путаться в тхт файлах. пусть это и медленнее :) на гигантские базы она впринципе не рассчитывалась - только функция удаления дублей, поэтому только её сделал двух видов: с мемо и на прямую с файлами :) |
Цитата:
Цитата:
Цитата:
Он спросил как можно уменьшить размер, я и ответил |
Цитата:
|
Цитата:
Цитата:
Цитата:
|
Цитата:
на баш, в срочном порядке!) |
Цитата:
|
| Время: 19:59 |