Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Modification d'une Application Windows [ Archives / delphi et asm ] (TristanLeBoss)

lundi 24 janvier 2005 à 04:51:03 | Modification d'une Application Windows

TristanLeBoss

Bonjour,
Voilà, je cherche un peu d'aide concernant la modification d'une application windows. Je ne vais pas rentrer dans les détails mais il s'agit d'une petite application (1,13 Mo, Delphi) qui gère la base de données (sous forme de fichiers) des musiques de mon balladeur MP3. Je connais la structure de ces fichiers et ils contiennent, entre autres, 2 checksums. Ce que je veux faire, à défaut de connaitre le moyen de calculer ces checksums, est de supprimer la vérification par l'application de ces 2 checksums (en effet, le balladeur ne les vérifie pas, lui). Pour cela, j'ai commencé par désassembler l'application avec IDA (www.datarescue) puis j'ai cherché le string ("Database crashed!!") qui s'affichait lorsque les checksums étaient incorrects. Il est déclaré trois fois dans l'application sous la forme :

_str_Database_crashe_0 dd 0FFFFFFFFh
                  dd 62
                  db 'Database crashed!!',0Dh,0Ah
                  db 'You should rebuild database for operation.',0

IDA m'a conduit aux endroits (3 mais seulement 2 semblent être utilisés par l'application) qui "utilisaient" ce string et à chaque fois ça donne ça :

mov     eax, offset _str_Database_crashe_0.Text
call    @Dialogs@ShowMessage$qqrx17System@AnsiString
 
C'est ce code qui affiche la boite de dialogue avec le message. En regardant attentivement, j'ai remarqué que dans les trois cas, un jump (JNZ (75xx), JZ (OF84xx)) nous conduisait directement à l'affichage de la boite de dialogue. Je me suis donc dit qu'en changeant ces jumps par leur "inverse" (JNZ (75xx) par JZ (74xx) et JZ (0F84xx) par JNZ (0F85xx)) je pourrai "bypasser" la vérification du checksum ... malheureusement, ça ne marche pas et une des 2 vérifications éfectives est toujours fonctionnelle et du coup le programme m'affiche le message.

Je sais que mon problème vient du fait que j'ai un peu de mal à comprendre l'assembleur et je voulais savoir si une personne pouvait me donner un pitit coup de main . Je pense pas que ce soit bien bien dur et long. Si quelqu'un est intéréssé ....


lundi 24 janvier 2005 à 04:54:06 | Re : Modification d'une Application Windows

TristanLeBoss

Hum, désolé, j'ai oublié la fin du message (la fatigue sûrement lol) :

Merci d'avance.

Tristan


lundi 24 janvier 2005 à 10:20:25 | Re : Modification d'une Application Windows

patatalo

Membre Club Administrateur CodeS-SourceS

salut,

une instruction 75XX et 0F85XX n'est pas la meme instruction, la premiere est jBYTE l'autre est jDWORD.

@++




Cette discussion est classé dans : application, windows, database, modification, checksums


Répondre à ce message

Sujets en rapport avec ce message

interruption du bios et du dos sous windows [ par eedy31 ] eedy31Salut a tous est ce que quelqu'un pourait m'aider car je ne sais pascomment faire pour utiliser les interruption du dos et du bios sous windows! Problème de syles Windows XP [ par Nemesis ] Suite à une mauvaise manipulation (c toujours comme ça que ça arrive), j'ai perdu le style de Windows XP (fenètres bleues, etc...) et je retrouve la v EXE Infector [ par seboss ] Bonjour tout le monde,Je dois realiser un petit projet sympas utilisant le C++,VB et ASM... Mais l'ASm je ne connasi pas assez bien pour realiser ce q Hide Window sous Masm [ par Stormy ] StormyJ'ai une application parfaitement fonctionnelle sous masm32. Je souhaite la rendre "cachée" soit en mode Hide. Celle-ci comporte plusieurs zones HKLM et temporisation [ par Stormy ] Stormy. Encore une question spéciale. J'ai une application usant d'une clé de registre HKLM pour un redémarrage automatisé. Or, je souhaiterais que mo 512 bps port serial [ par abarbu ] est il possible sous Windows (9x ou XP) que je programme le 8253 timer pour obtenir 512 Hz e user ce frequence pour le port serialle (RS232) ?Sous DO demander 1 clef avant de lancer l'application [ par badboy7852 ] Je viens de créer un prog .asm avec MASM32 et j'aimerais que quand je lance mon .exe y ait une fenêtre ki apparaisse en me demandant le mot de passe p La fonction API SendMessageA [ par douja ] Bonjour les amis J'utilise la fonction SendMessageA pour la justification à droite des mes zones de saisie avec les paramètres suivants: SendMessag modification de programme [ par GMib ] Bonjour, j'ai telecharger un jeu et je voudrai le modifier pour qu'il se lance en 640*480 o lieu de 800*600mon ecran ne suporte pas le 800*600 je ne p API Windows [ par cowboy ] CowboyJ'aimerais savoir s'il existe un descriptif des commandes API pour windows en asm ( en francais si possible ) . J'aimerais trouv


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,140 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.