long2ip - как я понял, php функция... Есть ли аналог в стандартных dll'елках, чтоб например 1040547840 превратить в нормальный ip адрес? Спасибо.
Flasher Что такое "нормальный ip адрес"? Не достаточно в правильном порядке взять байты из long'а, ведь long - это четыре байта?
q_q, 127.0.0.1 - вот это нормальный ip адрес Особо не углюблялся, но говорят: 1040547840 - превращает в ip. Чуток изменил функцию из masm32.lib, и вот что получилось: Код (Text): .data _Target db "1040547840",0 szStr db ".",0 Buffer db 256 dup(?) .code IPtoString proc IP:DWORD,lpBuffer:DWORD LOCAL val1[4]:BYTE LOCAL val2[4]:BYTE LOCAL val3[4]:BYTE LOCAL val4[4]:BYTE push esi push edi movzx esi, BYTE PTR IP[8] invoke dwtoa,esi,ADDR val1 movzx esi, BYTE PTR IP[16] invoke dwtoa,esi,ADDR val2 movzx esi, BYTE PTR IP[24] invoke dwtoa,esi,ADDR val3 movzx esi, BYTE PTR IP[32] invoke dwtoa,esi,ADDR val4 mov edi, lpBuffer mov BYTE PTR [edi], 0 invoke szMultiCat,7,lpBuffer,ADDR val1,ADDR szStr,ADDR val2,ADDR szStr, ADDR val3,ADDR szStr,ADDR val4 pop edi pop esi ret IPtoString endp start: invoke IPtoString,offset _Target,offset Buffer invoke MessageBox,0,offset Buffer,offset Buffer,0 invoke ExitProcess,0 end start Я в правильном направлении, или это бред?
ну что ты страдаешь - сказали же - inet_ntoa The inet_ntoa function converts an (Ipv4) Internet network address into a string in Internet standard dotted format.
ssx, знаю я как юзать inet_ntoa. просто при invoke inet_ntoa,1040547840 результат более правдаподобен _Target db "1040547840",0 invoke inet_ntoa,offset _Target - 0.48.64.0 invoke inet_ntoa,1040547840 - 0.128.5.62