Недавно читал статейку и наткнулся на обфускацию вызова функции. Подкиньте инфу, что это и возможные методы
Если будет линк на какую то статейку буду признателен
Если будет линк на какую то статейку буду признателен
Недавно читал статейку и наткнулся на обфускацию вызова функции. Подкиньте инфу, что это и возможные методы
Если будет линк на какую то статейку буду признателен
ru-sfera.online
спасибо за статейку![]()
Малварь как искусство - Как обфусцировать вызовы WinAPI
Интересная техника, которая используется в малвари, да и не только. В частности антивирусы не редко ложно детектят некоторые вызовы API по ошибки, также полезно для защиты чего-либо от любопытных глаз реверсера. Техника кстати говоря не сложная, оригинал тут Тайный WinAPI. Как обфусцировать...ru-sfera.online
из библиотеки вызывает только необходимую функцию?GetProcAddress()
Пример обфускации апи колл из бекдора АРТ28Подкиньте инфу, что это и возможные методы
Если будет линк на какую то статейку буду признателен
090 0F 95 C0 setnz al
.text:0040B4F8 090 89 45 E4 mov [ebp+var_1C], eax
.text:0040B4FB
.text:0040B4FB loc_40B4FB: ; CODE XREF: start+3E↑j
.text:0040B4FB 090 89 7D FC mov [ebp+ms_exc.registration.TryLevel], edi
.text:0040B4FE 090 6A 02 push 2
.text:0040B500 094 5B pop ebx
.text:0040B501 090 53 push ebx
.text:0040B502 094 FF 15 1C C3 40 00 call ds:__set_app_type
.text:0040B508 094 59 pop ecx
.text:0040B509 090 83 0D 68 07 41 00 FF or dword_410768, 0FFFFFFFFh
.text:0040B510 090 83 0D 6C 07 41 00 FF or dword_41076C, 0FFFFFFFFh
.text:0040B517 090 FF 15 EC C2 40 00 call ds:__p__fmode
.text:0040B51D 090 8B 0D 6C F3 40 00 mov ecx, dword_40F36C
.text:0040B523 090 89 08 mov [eax], ecx
.text:0040B525 090 FF 15 C4 C2 40 00 call ds:__p__commode
.text:0040B52B 090 8B 0D 68 F3 40 00 mov ecx, dword_40F368
.text:0040B531 090 89 08 mov [eax], ecx
.text:0040B533 090 A1 C8 C2 40 00 mov eax, ds:_adjust_fdiv
.text:0040B538 090 8B 00 mov eax, [eax]
.text:0040B53A 090 A3 64 07 41 00 mov dword_410764, eax
.text:0040B53F 090 E8 27 64 FF FF call sub_40196B
.text:0040B544 090 39 3D 00 F0 40 00 cmp dword_40F000, edi
.text:0040B54A 090 75 0C jnz short loc_40B558
.text:0040B54C 090 68 6B 19 40 00 push offset sub_40196B
.text:0040B551 094 FF 15 CC C2 40 00 call ds:__setusermatherr
.text:0040B557 094 59 pop ecx
.text:0040B558
.text:0040B558 loc_40B558: ; CODE XREF: start+B6↑j
.text:0040B558 090 E8 33 01 00 00 call sub_40B690
.text:0040B55D 090 68 A0 C3 40 00 push offset unk_40C3A0
.text:0040B562 094 68 9C C3 40 00 push offset unk_40C39C
.text:0040B567 098 E8 1E 01 00 00 call _initterm
.text:0040B56C 098 A1 64 F3 40 00 mov eax, dword_40F364
.text:0040B571 098 89 45 E0 mov [ebp+var_20], eax
.text:0040B574 098 8D 45 E0 lea eax, [ebp+var_20]
.text:0040B577 098 50 push eax
.text:0040B578 09C FF 35 60 F3 40 00 push dword_40F360
.text:0040B57E 0A0 8D 45 DC lea eax, [ebp+var_24]
.text:0040B581 0A0 50 push eax
.text:0040B582 0A4 8D 45 D8 lea eax, [ebp+var_28]
.text:0040B585 0A4 50 push eax
.text:0040B586 0A8 8D 45 D4 lea eax, [ebp+var_2C]
.text:0040B589 0A8 50 push eax
.text:0040B58A 0AC FF 15 D4 C2 40 00 call ds:__wgetmainargs
.text:0040B590 0AC 89 45 D0 mov [ebp+var_30], eax
.text:0040B593 0AC 68 98 C3 40 00 push offset unk_40C398
.text:0040B598 0B0 68 78 C3 40 00 push offset unk_40C378
.text:0040B59D 0B4 E8 E8 00 00 00 call _initterm
.text:0040B5A2 0B4 83 C4 24 add esp, 24h
.text:0040B5A5 090 A1 D8 C2 40 00 mov eax, ds:_wcmdln
.text:0040B5AA 090 8B 30 mov esi, [eax]
.text:0040B5AC 090 3B F7 cmp esi, edi
.text:0040B5AE 090 75 0E jnz short loc_40B5BE
.text:0040B5B0 090 83 4D FC FF or [ebp+ms_exc.registration.TryLevel], 0FFFFFFFFh
.text:0040B5B4 090 B8 FF 00 00 00 mov eax, 0FFh
.text:0040B5B9 090 E9 BA 00 00 00 jmp loc_40B678
Тут смысл недостаточно бывает понятен зачем это делается.спасибо за статейку
что именно хешируешь, название функций которые вызываешь или название переменных?названия функций хешируются, и уже сравниваются с хешем который ты подготовишь
есть туториал?это создавать свои переписанные функции - аналоги winapi
название перименных никто не увидит, кроме тебя , если конечно ты пишешь не на пауэршелл.что именно хешируешь, название функций которые вызываешь или название переменных?
названия функций которые будут подгружены конечно жечто именно хешируешь, название функций которые вызываешь или название переменных?
нет нету но исходы xp слиты в сети - можешь воспользоваться ими.есть туториал?
это помогает только статически избежать или динамически тоже?
хочу написать на Cне на пауэршелл.
не доперназвания функций
так?переменная = название_функции_в_хеше
функция = getprocaddress("kernel32.dll", декрипт(переменная))
нет, почитай статьи там исходников полнохочу написать на C
не допер
так?