• XSS.stack #1 – первый литературный журнал от юзеров форума

LockBit3.0-Сорцев похоже не будет

Статус
Закрыто для дальнейших ответов.
Хороший у Шептуна бизнес план: реверсить сомнительные семплы, искать в них баги, на их базе писать свой собственный шкафчик. План надежный, как швейцарские часы, если я правильно понял.
Я думаю тут план другой. Шептун очень хочет работать и не абы где. У него достаточно знаний, чтобы запилить свой шкаф, но у него нет имени.. Иначе зачем публично ковырять чужой шкаф тыкая носом в "не про все приколы" отчалившего кодера? Спортивный интерес наверное, публичный спортивный интерес не иначе.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Я думаю тут план другой. Шептун очень хочет работать и не абы где. У него достаточно знаний, чтобы запилить свой шкаф, но у него нет имени
Да не, его тут местные давно знают. В этом плане его вряд ли кто-то из ппшек возьмет на работу, тк придется много и часто открывать форточки и проветривать при работе с ним))
 
Я думаю тут план другой. Шептун очень хочет работать и не абы где. У него достаточно знаний, чтобы запилить свой шкаф, но у него нет имени.. Иначе зачем публично ковырять чужой шкаф тыкая носом в "не про все приколы" отчалившего кодера? Спортивный интерес наверное, публичный спортивный интерес не иначе.
Вокруг продукта был такой пеар, а что в нутри? А в нутри все то же самое, все смешано в кучу, и процедурщина, концептуальная нищета, кодер умеет кодить что бы как то работало но программировать не умеет от слова совсем. Кодить и программировать это не одно и то же. А еще я линивый и работать не хочу, особоенно у или на, и даже с человеком который будет каждое твое слово запоминать, привязывать ко времени и потом ненавязчиво намекать на деанон, это уже совсем себя не уважать. А попинать ц процедурщиков кодеров на примере самой крутой малвары это всегда приятно.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
А попинать ц процедурщиков кодеров на примере самой крутой малвары это всегда приятно
Но оно работает, причем работает отлично, люди лямы баксов заработали. Уж побольше любого оопшного хабражителя.
Вот тебе и процедурщина. Свою задачу выполняет , что еще надо?
 
Да не, его тут местные давно знают. В этом плане его вряд ли кто-то из ппшек возьмет на работу, тк придется много и часто открывать форточки и проветривать при работе с ним))
А я то думал мы друзья. А ты вот так да. Какой же отвратительный подлый собак.
 
Но оно работает, причем работает отлично, люди лямы баксов заработали. Уж побольше любого оопшного хабражителя.
Вот тебе и процедурщина. Свою задачу выполняет , что еще надо?
Кому надо? Ясно что кому то надо что бы просто работало в 99% случаев. Я же оцениваю то как это сделано, а сделано оно не аккуратно и я указываю на это, кому то это не интересно, кому то это будет полезно. Но у тебя позиция как у чувака которого завернули на собесе а он такой да какого хрена, мой код же корректно работал. И он так в полном не понимании - Ну работает же!! ну че вы доебались, это же самое главное что бы работал! Че вы докопались к архитектуре и к незначительным косячкам, ведь работает! Ну ок. Ну работает, но совместно с вами мы разрабатывать ничего не хотим, код ваш не купим, потому что чувак которому предложат сопровождать легаси такого кода где биз правила размазали по исполнительному слою скажет идите нах я это говно сопровождать не буду.
 
Вот биз правила, можете посмотреть где они проверяются.
Код:
.data:008C5120                                         ;     "settings": {
.data:008C5120                                         ;       "encrypt_mode": "auto",
.data:008C5120                                         ;       "encrypt_filename": false,
.data:008C5120                                         ;       "impersonation": true,
.data:008C5120                                         ;       "skip_hidden_folders": false,
.data:008C5120                                         ;       "language_check": false,
.data:008C5120                                         ;       "local_disks": true,
.data:008C5120                                         ;       "network_shares": true,
.data:008C5120                                         ;       "kill_processes": true,
.data:008C5120                                         ;       "kill_services": true,
.data:008C5120                                         ;       "running_one": true,
.data:008C5120                                         ;       "print_note": true,
.data:008C5120                                         ;       "set_wallpaper": true,
.data:008C5120                                         ;       "set_icons": true,
.data:008C5120                                         ;       "send_report": false,
.data:008C5120                                         ;       "self_destruct": true,
.data:008C5120                                         ;       "kill_defender": true,
.data:008C5120                                         ;       "wipe_freespace": false,
.data:008C5120                                         ;       "psexec_netspread": false,
.data:008C5120                                         ;       "gpo_netspread": true,
.data:008C5120                                         ;       "gpo_ps_update": true,
.data:008C5120                                         ;       "shutdown_system": false,
.data:008C5120                                         ;       "delete_eventlogs": true,
.data:008C5120                                         ;       "delete_gpo_delay": 1
.data:008C5120                                         ;     },


.data:008C5120 pdata_header_a0_b8_flags? db 0          ; DATA XREF: Unpack_pdata_Config+8F?o
.data:008C5120                                         ; sub_8AE808:loc_8AE84A?r ...
.data:008C5121 fl_encrypt_filename db 0                ; DATA XREF: IsFileNameShouldBeEncrypted+E?r
.data:008C5122 fl_impersonation db 0                   ; DATA XREF: main:loc_8A9A1A?r
.data:008C5122                                         ; sub_8B119C+26?r
.data:008C5123 fl_skip_hidden_folders db 0             ; DATA XREF: sub_8AF264:loc_8AF39B?r
.data:008C5124 fl_language_check db 0                  ; DATA XREF: main+A?r
.data:008C5125 fl_local_disks  db 0                    ; DATA XREF: sub_8B6F90:loc_8B7100?r
.data:008C5125                                         ; sub_8B6F90+1AB?r
.data:008C5126 fl_network_shares db 0                  ; DATA XREF: sub_8B6F90+179?r
.data:008C5126                                         ; sub_8B6F90:loc_8B715D?r
.data:008C5127 fl_kill_processes db 0                  ; DATA XREF: sub_8B6F90:loc_8B70DF?r
.data:008C5127                                         ; sub_8B6F90:loc_8B71BE?r
.data:008C5128 fl_kill_services db 0                   ; DATA XREF: sub_8B6F90+141?r
.data:008C5129 fl_running_one_exemplar db 0            ; DATA XREF: RunSelfDestructor+6?r
.data:008C512A fl_print_note   db 0                    ; DATA XREF: sub_8B6F90+28F?r
.data:008C512A                                         ; SpreadLanding+30?r
.data:008C512B fl_set_wallpaper db 0                   ; DATA XREF: CreateBmpImageAndSetItForWallpaperIfFlagSet+52?r
.data:008C512C fl_set_icons    db 0                    ; DATA XREF: sub_8AC354+13?r
.data:008C512D fl_send_report  db 0                    ; DATA XREF: sub_8AF264+1CD?r
.data:008C512D                                         ; sub_8B6F90+25?r ...
.data:008C512E fl_self_destruct db 0                   ; DATA XREF: RunSelfDestructor+45?r
.data:008C512E                                         ; RunSelfDestructor+4E?r ...
.data:008C512F fl_kill_defender db 0                   ; DATA XREF: sub_8B1E50+53?r
.data:008C512F                                         ; sub_8B6F90:loc_8B706D?r
.data:008C5130 fl_wipe_freespace db 0                  ; DATA XREF: sub_8B6F90+325?r
.data:008C5130                                         ; sub_8B6F90+346?r ...
.data:008C5131 fl_psexec_netspread db 0                ; DATA XREF: main:loc_8A9A85?r
.data:008C5131                                         ; sub_8B1E50:loc_8B1F27?r ...
.data:008C5132 fl_gpo_netspread db 0                   ; DATA XREF: sub_8B1E50:loc_8B1EDE?r
.data:008C5132                                         ; sub_8B6F90:loc_8B702A?r ...
.data:008C5133 fl_gpo_ps_update db 0                   ; DATA XREF: check_it01+69?r
.data:008C5134 fl_shutdown_system db 0                 ; DATA XREF: sub_8B6F90:loc_8B72AC?r
.data:008C5134                                         ; sub_8B6F90+34E?r ...
.data:008C5135 fl_delete_eventlogs db 0                ; DATA XREF: sub_8B6F90:loc_8B71DB?r
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Какой же отвратительный подлый собак
Лев. Какой же отвратительный подлый лев. Но, вообще, тебе нужно научиться принимать себя таким, какой ты есть, и не обижаться на правду.
 
Лев. Какой же отвратительный подлый лев. Но, вообще, тебе нужно научиться принимать себя таким, какой ты есть, и не обижаться на правду.
Прикольно, все равно какой лишь бы лев.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Прикольно, все равно какой лишь бы лев
Ну вот опять придется форточку открывать.
 
Ну вот опять придется форточку открывать.
Пучит? - Это от переедания. А вообще фу таким вредным быть. Работай над собой.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Пучит? - Это от переедания. А вообще фу таким вредным быть. Работай над собой.
"Ты так ничего и не понял" (с)
 
"Ты так ничего и не понял" (с)
А вот серьезно без шуток, если тебе не приятны мои подколки просто скажи и я не буду больше. Я реально не со зла, и к тебе с уважением. Сорян если че.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
На словах ты Лев Толстой, а на деле реверсер простой. Я буду рад, если у меня появится хоть один нормальный конкурент, а не школьники скамеры, пиши шкафчик создавай партнёрку, по реверсим и тебя может.
 
На словах ты Лев Толстой, а на деле реверсер простой. Я буду рад, если у меня появится хоть один нормальный конкурент, а не школьники скамеры, пиши шкафчик создавай партнёрку, по реверсим и тебя может.
Я не реверсер. Берусь за это дело редко и не охотно. Но скажу что свой продукт я бы не стал реверсить слишком уж сложно, ну для моего скромного уровня. Оно ведь не так сложно затрудняется. вот взял затруднил, попробовал себя реверсить, если выходит еще задтруднил и так пока совсем не станет кисло. Все почему думают что я собираюсь писать шкафчик =) А вдруг уже. А вдруг вообще другие планы. Оставим место загадке. А конкурент в твоем понимании это ведь в области продвижения а не качества продукта, буквально минуты назад ты писал что все равно каким локером лочить. И это наверное спорный пеар - пацаны код у нас херовенький, кодер норкоман и психованный неадекват, ну расшифровывали нас, ну ломали, ну и что что я все что слышу вижу записываю\запоминаю кто че сказал и привязываю ко времени на всякий случай, но бренд то у нас лучший! Но может и нормальный, я не очень разбираюсь в пеаре шкафов.
 
Раскладка это бред, язык системы имхо норм проверка. Врядли пендос или немец будет сидеть за русской виндой. Хотя, и у нас в Мск встречал английские винсервера (хз зачем). Еще можно чекать домен АД, но тоже 50 на 50. Имхо при ручной работе это не проблема вообще. А при желании..ну давайте начистоту, пропатчить любой софт , отключив проверку по РУ, это дело 10 минут для кодера. Нашел и тупо занопил проверку.


Чему "этому"?
Смех-смехом, а хваленый локбит 3.0 чекает раскладку)))
 
Смех-смехом, а хваленый локбит 3.0 чекает раскладку)))
008c54f0 ntdll!NtQueryInstallUILanguage
008c54f4 ntdll!NtQueryDefaultUILanguage
 
Пожалуйста, обратите внимание, что пользователь заблокирован
а он такой да какого хрена, мой код же корректно работал.
Ну это философские вопросы, идеального кода не может быть, всегда найдется кто-то, кто докопается до запятой. Ты где-то (вроде в этой же теме) критиковал, что кодер исправил символ в строке, вместо того, чтобы выделять 2 строки. Я согласен с кодером кстати, всегда также делаю, это оптимизация. А много кто скажет , что плохо, чревато ошибками (даже уважаемый мною Столяров критикует "хаки" языка Си, типа язык учит писать вещи видa *p++ = *q++ и типа так нельзя).
Но опять же - кому нельзя и почему? Ну в ваших белых продакшнах и опенспейсах мб и важно, с какой строки стоит скобка. Но кому это интересно в блеке? Вот взять тот же локбит или ревил иле дарксайд..да адвертам (пользователям софта) абсолютно пофигу, как там работается со строками в софте; используются ли прорывные технологии в виде IOCP или 1 поток 1 файл, юзает ли кодер стандарт С++20 или С89.. Нужен результат, вот именно - работает или не работает. Реальных пользователей интересуют вот эти, вполне прозаичные моменты - чтобы софт нашел все файлы , не пропускал шары, не вылетал , ну и (не особо грамотных) интересуют обходы софтом АВ. С аверами опять же - никому не интересно, является ли кодер Инди Клерком с принципиально новым визором , или же скопипастил метод с гитхаба. Важен результат , а все остальное лирика.
 
Ну это философские вопросы, идеального кода не может быть, всегда найдется кто-то, кто докопается до запятой. Ты где-то (вроде в этой же теме) критиковал, что кодер исправил символ в строке, вместо того, чтобы выделять 2 строки. Я согласен с кодером кстати, всегда также делаю, это оптимизация. А много кто скажет , что плохо, чревато ошибками (даже уважаемый мною Столяров критикует "хаки" языка Си, типа язык учит писать вещи видa *p++ = *q++ и типа так нельзя).
Но опять же - кому нельзя и почему? Ну в ваших белых продакшнах и опенспейсах мб и важно, с какой строки стоит скобка. Но кому это интересно в блеке? Вот взять тот же локбит или ревил иле дарксайд..да адвертам (пользователям софта) абсолютно пофигу, как там работается со строками в софте; используются ли прорывные технологии в виде IOCP или 1 поток 1 файл, юзает ли кодер стандарт С++20 или С89.. Нужен результат, вот именно - работает или не работает. Реальных пользователей интересуют вот эти, вполне прозаичные моменты - чтобы софт нашел все файлы , не пропускал шары, не вылетал , ну и (не особо грамотных) интересуют обходы софтом АВ. С аверами опять же - никому не интересно, является ли кодер Инди Клерком с принципиально новым визором , или же скопипастил метод с гитхаба. Важен результат , а все остальное лирика.
У всего есть своя цена. Видеть и считать ее приходит с опытом, часто разумно пользоваться чужим. Но пока есть коллекционеры картин которые сами в исскустве не поинмают ничего то можно им продавать мазню за дорого. А так, нет юнит тестов, ну будь готов платить временем в отладчике, смешал исполнительную логику с биз логикой, будь готов платить оверхедом времени при внесении правок и доп функционала и снова временем в отладчике, и тд. и тп. скупой платит дважды если повезет. Именно поэтому в итрерпрайзе так важно что бы код был не просто рабочим но написан правильно, причем чела могут и на тонкости проверить, дадут задание где рекурсия напрашивается сама собой и смотрят влепит ли чел первое что придет в голову или подумает. На долгосрок и для команды будут подбирать человека который умеет правильно мыслить а не просто решить тривиальную задачу первым пришедшим в голову дурацким способом. Энтрепрайз разработка это не про белые и большие проекты, это про качество, стандартизацию, поддержку, конроль, про затраты времени на нахождение и исправление - Это про ЭФФЕКТВНОСТЬ. Уже давно проверили кучу метод, собрали статистику зависимости количества ошибок от количества строк в методах, все это классифицировали, придумали правила и шаблоны, и все это на основе анализа работы тысяч людей, рассматривали лучших и худших, сравнивали и искали методы как нужно и как нет, все это обосновали, вывели правила. И делали это серьезные организации. Энтерпрайз короче это выверенная эффективность а не какая то херня для тех кто не осилил ц. Так что речь не про идеальный код а про грамотный, где соблюдаются простые, понятные, логично обоснованные правила, эффективность которых подтверждена статистически.
 
Сегодня у нас в программе - помогаем аверам и смешим реверсеров, а так же оптимизация уровня бог!

И так, как же нам одновременно насмешить ревересеров и помочь аверам?
Например так.
Код:
.text:008A1292                 mov     edi, 4803B066h
.text:008A1297                 xor     edi, 4803BFC7h

.text:008A12B7                 mov     edi, 4802BFC8h
.text:008A12BC                 xor     edi, 4803BFC7h

.text:008A166D                 mov     esi, 37FDBFC7h
.text:008A1672                 xor     esi, 4803BFC7h


.text:008A168B                 mov     eax, 487ABF94h
.text:008A1690                 xor     eax, 4803BFC7h
...
Размажем это по всему коду =)


Божественная оптимизация.
Код:
.text:008A16D0 SetPathEndForSlash proc near            ; CODE XREF: sub_8A69A8+77?p
.text:008A16D0                                         ; sub_8A748C+27?p ...
.text:008A16D0
.text:008A16D0 pPathLikeStr    = dword ptr  8
.text:008A16D0
.text:008A16D0                 push    ebp
.text:008A16D1                 mov     ebp, esp
.text:008A16D3                 push    ebx
.text:008A16D4                 push    ecx
.text:008A16D5                 cmp     [ebp+pPathLikeStr], 0
.text:008A16D9                 jz      short loc_8A16F9
.text:008A16DB                 xor     eax, eax
.text:008A16DD                 mov     ebx, [ebp+pPathLikeStr]
.text:008A16E0                 jmp     short loc_8A16E3
.text:008A16E2 ; ---------------------------------------------------------------------------
.text:008A16E2
.text:008A16E2 loc_8A16E2:                             ; CODE XREF: SetPathEndForSlash+18?j
.text:008A16E2                 inc     eax
.text:008A16E3
.text:008A16E3 loc_8A16E3:                             ; CODE XREF: SetPathEndForSlash+10?j
.text:008A16E3                 cmp     word ptr [ebx+eax*2], 0
.text:008A16E8                 jnz     short loc_8A16E2
.text:008A16EA                 cmp     word ptr [ebx+eax*2-2], '\'
.text:008A16F0                 jz      short loc_8A16F9
.text:008A16F2                 mov     dword ptr [ebx+eax*2], '\'
.text:008A16F9
.text:008A16F9 loc_8A16F9:                             ; CODE XREF: SetPathEndForSlash+9?j
.text:008A16F9                                         ; SetPathEndForSlash+20?j
.text:008A16F9                 pop     ecx
.text:008A16FA                 pop     ebx
.text:008A16FB                 pop     ebp
.text:008A16FC                 retn    4
.text:008A16FC SetPathEndForSlash endp
Полюбому же там есть свободные пару байт, во всех 19 местах вызова. Ну блин пацаны всего то 2 байта! Полюбасу четкая процедурка, ну не делать же какие то там реаллоки как лошары которые даже до релиза не дойдут, а мы вот так раз и зарелизим. Квейк срочно копируй себе этот кодес, он элитный.
 
Статус
Закрыто для дальнейших ответов.
Верх