Wednesday, May 25, 2011

Erro: Expected return value not received usando Intraweb + SocketServer

Tenho um projeto Delphi Intraweb que faz chamadas a servidores de aplicação remotos, via Socket (TSocketServer).

Um dia destes, sem mais nem menos, obtive um erro estranho "Expected return value not received" ao tentar chamar um método do servidor de aplicação, através do Socket. Usei o amigo Google mas ele não me ajudou muito. Não tive tempo ainda de debugar o fonte do SocketServer para verificar o porquê do erro, mas a solução foi relativamente simples: Basta fazer:
SocketServer.SupportCallbacks := False;

Resolvido o problema

Saturday, May 21, 2011

Substitua a procura por arquivos no Windows 7

Que a busca por arquivos no Windows "sucks big time" todo mundo sabe. Nunca foi boa e conseguiu piorar no Windows 7. Aquela barra de progresso que não significa absolutamente nada é o fim! E por fim: Quando pesquiso uma pasta por um arquivo e este não é encontrado nunca sei se fiz algo que interrompeu a busca antes do fim... se o arquivo está lá e o Windows não encontrou...
Bem, quem não se sente bem com a busca padrão do Windows, pode encontrar vários substitutos. Aconselho dois que tenho instalados:

FileSeek
e
UltraFileSearch

Ambos são gratuitos, livres de spyware e cumprem o que prometem: Fazer uma busca NÃO INDEXADA por arquivos em seu HD com várias opções para refinar a pesquisa.
O FileSeek é um pouco mais simples que o UltraFileSearch, porém é um pouco mais rápido também. Ambos são infinitamente mais rápidos e eficientes em buscar um arquivo do que a busca padrão do Windows 7, Vista e XP.

Ambos integram-se bem ao Windows Explorer. Clicando com o botão direito do mouse sobre uma pasta qualquer no Windows Explorer ele habilita um item do menu de contexto com o atalho para a busca.

Resumindo: Vale a pena um teste. Vai ver que a busca por arquivos pode ser bem mais simples e menos traumática do que o Windows te oferece.

Abraço!

Saturday, January 29, 2011

G-Buster Browser Defense. Vamos brincar de gato & rato?

Bem, desculpem-me mas vou começar este post com a frase: "Estou de saco cheio deste programinha da GAS Treconologia." Não que eu sofra qualquer consequência do mesmo, pois uso uma máquina virtual no VirtualBox somente para acessar internet banking. Não existe nada instalado nela, e eu só uso ela para este fim. Ou seja, se eu deixar o G-Boster lá rodando, não faz a menor diferença para mim. O que me deixa realmente bravo com o pessoal que coloca esta praga no seu PC sem você saber é que eles são muito abusados! Então vou dar mais trabalho para eles!
Quem quiser ler os meus post anteriores pode vê-los aqui e aqui.

Para leitores que porventura sejam simpatizantes do G-Buster, novamente volto a frisar: Em qualquer país do mundo isto seria ilegal. Instalar um programa no seu computador sob a forma de um "inofensivo ActiveX destinado a protegê-los dos hackers", que depois não pode ser removido por quase ninguém é ilegal. Se não é ilegal aqui no Brasil (ainda), é imoral com certeza.

A instalação começa com uma MENTIRA DESLAVADA: Não se trata de um simples ActiveX. Além do ActiveX, são instalados também um serviço e um driver, o que é um abuso total! Um driver para quê??? Driver é um software destinado a fazer a interface com um hardware específico. Não existe a menor necessidade deste driver, porém os abusados colocam ele lá para tornar mais difícil sua remoção.
Além disso, um dos grandes motivos de nossos bancos não aceitarem outro browser como o Firefox, Opera ou Chrome é exatamente este! Estes três aí, muito superiores ao Internet Explorer na minha opinião (e na opinião de 98% das pessoas que realmente compararam os 4), não rodam ActiveX, ou seja, o G-Buster não é compatível com estes browsers. Aí continuamos nesta lenga-lenga de muitos Internet bankings aqui no Brasil só aceitarem IE.

É mais um caso do famoso "os fins justificam os meios", tão usado por estas bandas. Já vi administradores de rede passando sufoco com este G-Buster, sem conseguir removê-lo depois de semanas de trabalho! Imagine a situação do cidadão? Explicar para o seu superior que não conseguiu remover o programa da sua rede??? Isto não é ficção, eu vi acontecer!

Pois bem. Já escrevi dois posts ensinando como remover a praga. Aí o pessoal da GAS Treconologia fica ciente e muda o G-Buster para evitar mais uma forma de remoção. O pior: A cada nova versão do G-Buster, mais e mais caminhos de registry sofrem leituras constantes. Traduzindo: Cada versão do GASTreco Buster Defense consome mais recursos da sua pobre máquina que já está gastando quase 100% de CPU quando você está usando simultaneamente o orkut, facebook, twitter, sites adultos, poker online, msn e etc é ou não é? :-)

Antes de começar: Sou um analsita de sistemas e desenvolvedor PROFISSIONAL, não sou hacker e não estou aqui para cometer ou ajudar que cometam crimes cibernéticos. Faço isto porquê, por princípio, definitivamente não concordo com a forma como a coisa é feita: debaixo dos panos, na surdina, obrigatoriamente... Resumindo: de forma suja.

Para desabilitar o G-Buster:

1) ATENÇÃO: Este programa de remoção na sua versão incial só funciona no Windows 2000, Windows XP e Windows 2003 Server. Para o Vista, Windows 7 e Windows 2008 por favor, aguarde. Estou concluindo ainda!

2) Baixe este pacote zip neste link. Este pacote contém dois arquivos: RemoveGBuster.exe e RemoveGBuster.dll. Quem estiver na dúvida se os arquivos são seguros, devem submetê-lo ao www.virustotal.com (a forma mais confiável de saber se um arquivo é ou não seguro para utilização, ou seja, se está livre de vírus).

2) Unzipe o pacote num diretório qualquer da sua máquina, sugiro C:\RemoveGBuster\.

3) Execute o programa RemoveGBuster.exe. Quando a janela se abrir, clique no botão "Desabilitar G-Buster". Depois disso, se tudo der certo, basta dar um boot e estará livre da praga. Após o boot vá ao diretório C:\Arquivos de programas\GbPlugin e veja por você mesmo! ;-)

O melhor de tudo é: Você poderá usar o Internet banking depois (O G-Buster será instalado novamente), e após novo boot estará livre dele de novo!

Eu não vou entrar em detalhes sobre o que o RemoveGBuster faz. Vou deixar o pessoal da GAS-Treko trabalhar um pouquinho, mas digo uma coisa: O programa não exclui NENHUM arquivo do seu computador, não muda permissões em arquivos/registry e não muda as configurações gerais da máquina.

Como eu disse acima, este programa por enquanto só funciona para Win2000, XP e 2003. Para Vista, Seven e 2008 estou ainda estou concluindo!

Bem.... apesar do trabalhinho, não posso dizer que não foi divertido! Programar é meu trabalho mas também meu hobby e remover uma coisa chata como estas é muito gratificante! ;-)
Não vou dizer que é definitivo, pois o pessoal da GAS irá criar outra forma do G-Treco se esquivar e voltar numa próxima versão. Mas quanto mais "íntimo" fico do G-Boster, mais fácil fica na próxima vez... E já tenho mais alguns esquemas que complicarão bastante a vida da distinta praga! heheheh

Mas o melhor de tudo é que gastei pouco mais de 4 horas para encontrar a receita. Algum tempo programando e mais algum escrevendo este post...
Quanto tempo será que gastarão para driblar este esquema aqui? :-)

Até+

Atualização (18/05/2011): Pessoal, sei que alguns usuários não conseguiram remover o G-Buster usando o meu programinha. Estou fazendo mestrado e, ainda com meu trabalho, resta-me pouquíssimo tempo para "brincar" com isto atualmente. De qualquer forma, sempre que alguém não conseguir remover usando meu programa por favor deixe no recado as seguintes informações: Qual o banco que está acessando e se possível qual a versão do G-Buster (arquivo que geralmente está em C:\Arquivos de programas\GbPlugin\gbpsv.exe). Assim poderei analisar caso a caso.

Abraço!

Friday, January 28, 2011

jQuery UI Dialog and tabindex attributes

Visual controls, like inputs, selects, etc., inside a jQuery UI modal dialog cannot have a tabindex attribute. If you do so, you won't be able to navigate using the TAB key. Simple isn't it?

Want to see for yourself?

1) First, go to the jQuery UI Dialog demo page, using Firefox + Firebug: http://jqueryui.com/demos/dialog/#modal-form

2) Click the button "Create new user"

3) Use Firebug to inspect the 3 inputs with id's: "name", "email" and "password". There is no tabindex attribute. Now, use Firebug and add the tabindex attribute with any value to these inputs. Any number like 1, 2, 3 should be ok.

4) Voilá! Once you are done you cannot navigate through the controls using TAB key anymore.

Workaround? Never put tabindex attributes in your HTML elements inside a jQuery UI modal dialog!