//BOX_LIB //Lrz - 2008 dword edit_box_draw = #aEdit_box_draw; dword edit_box_key = #aEdit_box_key; dword edit_box_mouse = #aEdit_box_mouse; dword am__ = 0x0; dword bm__ = 0x0; char aEdit_box_draw[9] = "edit_box\0"; char aEdit_box_key[13] = "edit_box_key\0"; char aEdit_box_mouse[15] = "edit_box_mouse\0"; struct edit_box{ dword width, left, top, color, shift_color, focus_border_color, blur_border_color, text_color, max, text, mouse_variable, flags, size, pos, offset, cl_curs_x, cl_curs_y, shift, shift_old; }; //ed_width equ [edi] ;è¨à¨ ª®¬¯®¥â //ed_left equ [edi+4] ;¯®«®¦¥¨¥ ¯® ®á¨ å //ed_top equ [edi+8] ;¯®«®¦¥¨¥ ¯® ®á¨ ã //ed_color equ [edi+12] ;梥â ä® ª®¬¯®¥â //shift_color equ [edi+16] ;=0x6a9480 //ed_focus_border_color equ [edi+20] ;梥â à ¬ª¨ ª®¬¯®¥â //ed_blur_border_color equ [edi+24] ;梥⠥ ªâ¨¢®£® ª®¬¯®¥â //ed_text_color equ [edi+28] ;梥â ⥪áâ //ed_max equ [edi+32] ;ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ¬®¦® ¬ ªá¨¬ «ì® ¢¢¥á⨠//ed_text equ [edi+36] ;㪠§ â¥«ì ¡ãä¥à //ed_flags equ [edi+40] ;ä« £¨ //ed_size equ [edi+42] ;ª®«-¢® ᨬ¢®«®¢ //ed_pos equ [edi+46] ;¯®§¨æ¨ï ªãàá®à //ed_offset equ [edi+50] ;ᬥ饨¥ //cl_curs_x equ [edi+54] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® å //cl_curs_y equ [edi+58] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® ã //ed_shift_pos equ [edi+62] ;¯®«®¦¥¨¥ ªãàá®à //ed_shift_pos_old equ [edi+66] ;áâ ஥ ¯®«®¦¥¨¥ ªãàá®à int fastcall load_editbox_lib(EAX) { //set mask $mov eax,40 $mov ebx,0x27 $int 0x40 // load DLL $mov eax, 68 $mov ebx, 19 ECX="/sys/lib/box_lib.obj"; $int 0x40 $test eax, eax $jz exit // initialize import $mov edx,eax ESI=#edit_box_draw; import_loop: $lodsd $test eax,eax $jz import_done $push edx import_find: $mov ebx,DSDWORD[EDX] $test ebx, ebx $jz exit $push eax nex1: $mov cl,DSBYTE[EAX]; $cmp cl,DSBYTE[EBX]; $jnz import_find_next $test cl,cl $jz import_found $inc eax $inc ebx $jmp nex1 import_find_next: $pop eax $add edx, 8 $jmp import_find import_found: $pop eax $mov eax,DSDWORD[edx+4] $mov DSDWORD[esi-4],eax $pop edx $jmp import_loop import_done: return 0; exit: return -1; }