mirror of
https://github.com/aljazceru/securedorg.github.io.git
synced 2025-12-27 02:44:19 +01:00
2.2 KiB
2.2 KiB
layout, permalink, title
| layout | permalink | title |
|---|---|---|
| default | /RE102/section3.2/ | Setup |
Go Back to Reverse Engineering Malware 102
Section 3.2: Travel Directions
- Start
sub_406604- Step into InitExesub_403FA0- Step into StartExesub_403F40- Step into This loops through the static list of functions in the references until the main function sub_45B93Csub_45B93C- Checks to see if the foreground window has changed- First it will get the foreground window, then sleep for 64h then capture the foreground window again (See Section 5)
0045B991- jz should not jump
- It then tries to check for debug output using string “w4ZUHcHjWZiye735mOUvnkKZ6XwjXIlyrS” (See Section 5)
0045B9C1- jl should jump0045B9CB- jnz should not jump
- Tries to unsuccessfully load dll AXLzZmdD9HtbQccvaUl8.dll
0045B9D9- jnz should not jump0045B9DE- jnz should not jump
- Tries to find Atom RkLNPKJEBsQUb
sub_45B894- Step into before_use_junkdataGetConsoleCP- Retrieves the input code page used by the console associated with the calling process. A console uses its input code page to translate keyboard input into the corresponding character value.0045B89F- jz should not jump- Loops for 0x355aef09 times for no reason. Kill the loop by
0045B8ADjnz to not jump. 0045B8C4- jnz should not jump- Loops for 0x5A73350 times for no reason. Kill the loop by setting jnz to not jump.
sub_45B794- Step into use_junkdata- VirtualAlloc new memory with the size of 0x65E4
- Nop instructions indicate foul play (See Section 5)
dword_45CCB0value is 0x42B7unk_45CCD4is the Junk datasub_407074- Step over Copy_to_new_mem, loads Junk data of size 65E4 into new memory: Delphi move(source, dest);unk_45CCB4- loads 0x20 byte stringsub_45B5AC- do_something_interesting( size of junk data, size of 0x20 byte string, pointer to 0x20 byte string, 0x100, 0x0BEE2, pointer to newly copied memory of junk data)
Let’s save sub_45B5AC for the next section.