1

Тема: Низькорівнева всячина

Буду писати сюди всяку цікаву низькорівневу всячину, з якою я стикаюся під час роботи, для якої окремий тред занадтовеликий, а для вікіпедії - не формат.

Зміст

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»
Подякували: Kane, 0x9111A, leofun01, voland, ostap34PHP5

2 Востаннє редагувалося 0xDADA11C7 (02.12.2014 17:18:57)

Re: Низькорівнева всячина

Раніше я шував можливість створювати багаторядкові коментарі в FASM`і, а потім натрапив на таку їхню реалізацію засобами макромови FASM:

CS_ fix match +,- {

_CS fix }

Приклад використання:

CS_
На
  багато-
    рядковий
      коментар
        не
          лається
            FASM
_CS
Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»
Подякували: leofun011

3

Re: Низькорівнева всячина

Щодо коментарів, то можна ще так:

macro cmnt [arg] {
    local use
    macro use arg
}

Використання:

cmnt {
    коментар
}

Також, у них на форумі, є фікс PREPROCE.inc, після якого можна юзати СІ'шні коментарі (/*...*/).

Подякували: 0xDADA11C7, leofun012

4

Re: Низькорівнева всячина

Чим саме ви займаєтесь,шо розробляєте?(в системному програмуванні)

=)

5

Re: Низькорівнева всячина

Малварь різного призначення

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»

6

Re: Низькорівнева всячина

Зворотна розробка малварі різного призначення :D

Прихований текст
Нажаль, немає офіційних вакансій, де б можна було розвиватися під менторством якогось крутого low level-чувака.. мейнстрім за "швидким" ентерпрайзом :(
Подякували: 0xDADA11C71

7

Re: Низькорівнева всячина

Прихований текст
Я  завжди дивувався такому стану речей в антивірусній індустрії - здається, бабло гребуть, навіть при не найкращому рівні рівні виконання робіт, а путньої інфраструктури створити не мужуть. Наш український антивірус Зілля це взагалі апофеоз - в новий охвіс переїжджяють, а написати бодай одну статтю для української вікіпедії не здатні, не кажучи в же про оригінальні дослідження
Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»

8

Re: Низькорівнева всячина

Прихований текст
Кеш і так капає, решту - в дупу :) А взагалі - то іх жалко: он бомблять корпоративів крипто-локерами, а хто "не підготувався вчасно", той не має відповіді клієнту, чому в останнього 60 гб. файлів похерило, а АВ змовчав, та усё, мінус в репу, побігли купувати ліцуху до конкурента. Жорстокий бізнес ))

а написати бодай одну статтю для української вікіпедії не здатні, не кажучи в же про оригінальні дослідження

А толку.. для маркетингу така показуха не дуже оправдана (ну реально, нащо домогосподарці дізасм-лістинг?), кому треба той сам розковиряє, хіба що подробиці спонукають підростаюче покоління вірмейкерів копіювати алгоритми, плодити малвар, і т.п. деградаціяеволюція.

9

Re: Низькорівнева всячина

Реалізація геш функції різними мовами

макромова FASM

macro szHash name, res {
  local ..size, ..result, ..char, ..temp
  ..temp = 0
  ..result = 0
  virtual at 0
    db name, 0x0
    ..size = $
    repeat ..size
      load ..char byte from % - 1
      ..temp = (..temp shr 7) or (..temp shl 25)
      ..result = ..result xor ..temp
      ..temp = (..temp and 0xffffff00) or ..char
    end repeat
  end virtual
  res = ..result and 0xffffffff
}

FASM x64

proc getHashSz strz
    xor     rdx, rdx
    xor     r8, r8
.calcHash:
    ror     edx, 7
    xor     r8d, edx
    mov     dl, Byte [rcx]
    inc     rcx
    test    dl, dl
    jnz     .calcHash
    mov     eax, r8d
    ret
endp

FASM x86

proc    GetHashSz strz
    push    ecx
    push    ebx
    push    DWord [strz]
    pop     ecx
    xor     ebx, ebx
    push    ebx
.CalcHash:
    ror     ebx, 7
    xor     [esp], ebx
    mov     bl, Byte [ecx]
    inc     ecx
    cmp     bl, 0x0
    jnz     .CalcHash
    pop     eax
    pop     ebx
    pop     ecx
    ret
endp

JavaScript

function _rotr (value, shift) {
    if ((shift &= 31) == 0) return value;
    return ((value >>> shift) | (value << (32 - shift)));};

function hash_ror7xor(b){
    var r = 0, x = 0;
    for (i = 0; i<_.size(b); i++) { x = _rotr(x, 7); r ^= x; x = x & 0xffffff00; x |= b[i]>>>0; };
        return( (r^=_rotr(x, 7))>>>0);};
Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»
Подякували: leofun01, ostap34PHP2

10

Re: Низькорівнева всячина

Потрібна ваша допомога в реалізації баш скрипта .

Junior Django Developer

11 Востаннє редагувалося 0xDADA11C7 (05.12.2014 01:29:33)

Re: Низькорівнева всячина

Blast написав:

Потрібна ваша допомога в реалізації баш скрипта .

Скриптування Баш не має стосунку до низькорівневого програмування, а глянути я зможу лише з вівіторка, бо зараз у мене завал на роботі. До того ж в баші я мабуть розуміюсь гірше за вас.

Kane написав:

Також, у них на форумі, є фікс PREPROCE.inc, після якого можна юзати СІ'шні коментарі (/*...*/).

Модифікувати компілер це занадто, хоча мені теж іноді кортить.

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»
Подякували: Blast1

12

Re: Низькорівнева всячина

Модифікувати компілер це занадто

Ну, згадуючи твою ВМ аля криптор, модифікація компайлера не здатна викликати труднощі :D

13

Re: Низькорівнева всячина

Ну, згадуючи твою ВМ аля криптор, модифікація компайлера не здатна викликати труднощі :D

Я не кажу що це складно, проте досить екзотично. Стосовно моєї ВМ, то єдиний суттєвий її недолік є відсутність інфраструктури, а саме - відсутність віртуалізатора, чи як воно там зветься, що перетворює машинні команди на команди віртуальної машини, як це робится в Themida.

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»

14

Re: Низькорівнева всячина

Я тепер ходю по буржуйських форумах і кажу - я вам віртуальну машину приніс і до речі, деякі буржуї з гуглоперекладачем сидять на реплейсі, бо я не все переклав :p Вони навіть про розробника "стороннього" ПЗ для моєї ВМ знають (0х9111А) і читають його джерельний кід.

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»
Подякували: Replace, quez, 0x9111A, Kane, Chemist-i, leofun01, ostap34PHP7

15

Re: Низькорівнева всячина

Треба б їм ще почитати принести  :)

Maybe a = Just a | Nothing
Подякували: 0xDADA11C7, ostap34PHP2

16

Re: Низькорівнева всячина

Срач, спровокований моїм криптором, щодо місця української мови в пострадянському культурному просторі

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»
Подякували: HetmanNet, leofun01, ostap34PHP3

17

Re: Низькорівнева всячина

Так то ще янголятка :) Слабо на васм запостити? xD

18

Re: Низькорівнева всячина

Буде час і буде пісня :)

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»
Подякували: ostap34PHP1

19

Re: Низькорівнева всячина

треба робити УКР. ресурс по reverse engineering software
де будуть і криптори, скрипті для IDA pro, OllyDBG, WinDBG, лінкери, шелли і так дальше

- Поганому трояну фаєрвол заважає
- Ніколи не програмуйте та не пийте пиво
Якщо ви з першого разу написали програму, в якій немає жодної помилки, повідомте про це системного програмісту: він виправить помилки в компіляторі
Подякували: leofun011

20

Re: Низькорівнева всячина

треба робити УКР. ресурс по reverse engineering software

А цей ресурс чим вам не догодив?

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»
Подякували: HetmanNet, leofun01, ostap34PHP3