Por cierto haciendo los cambios en la versión de 64bits he visto un posible
error en la de 32bits, concretamente en esta parte
invoke IsDlgButtonChecked, hWin, RealignPECheckBox
.if eax != TRUE
mov eax, dword ptr[OptionsArray]
mov dword ptr[eax], 0
.endif
invoke IsDlgButtonChecked, hWin, CopyOverlayDataBt
.if eax != TRUE
mov eax, dword ptr[OptionsArray+4]
mov dword ptr[eax],0
.endif
Primero de todo que no sería TRUE, sería BST_CHECKED
Pero sobre todo que tu partes de la inicialización del vector a 1. Y cuando
ejecutas el plugin corriges con 0 según esté desmarcada la opción.
Si no cierro el FUU, cambio las opciones y vuelvo a ejecutar un plugin, los
cambios no se quedan reflejados.
En 64bits he cambiado esto por:
invoke IsDlgButtonChecked, hWin, RealignPECheckBox
@IF <<cmp eax,BST_CHECKED>>,EQUAL?
mov rax, qword ptr[OptionsArray]
mov dword ptr[rax],1
@ELSE
mov rax, qword ptr[OptionsArray]
mov dword ptr[rax],0
@ENDIF
invoke IsDlgButtonChecked, hWin, CopyOverlayDataBt
@IF<<cmp eax,BST_CHECKED>>,EQUAL?
mov rax, qword ptr[OptionsArray+8]
mov dword ptr[rax],1
@ELSE
mov rax, qword ptr[OptionsArray+8]
mov dword ptr[rax],0
@ENDIF
note: found by Guan de Dio.
Original issue reported on code.google.com by nahuelr...@gmail.com on 12 Jul 2010 at 5:08
Original issue reported on code.google.com by
nahuelr...@gmail.com
on 12 Jul 2010 at 5:08