patcher (i think)

Status
Niet open voor verdere reacties.

djpommes

Gebruiker
Lid geworden
27 mrt 2007
Berichten
127
ok kort en duidelijk, stel je voor een simpel form met een label en 1 knop, als je op die knopdrukt komt er een msgbox met de inhoud van het label. stel je voor dat dat een .exe is, nu wil ik aan de hand van een ander .exe de inhoud van het label op de 1e .exe kunnen veranderen.

of

en programma waar je de caption van de label kan aangeven en dat hij dan een ,exe schrijft maar dat lijkt me een stuk moeilijker?


hoop dat het duidelijk is, dj
 
dat zal niet gaan , tenzij je een DLL geschreven hebt die eerste exe kan besturen. (dus ook zelf geschreven executables). hehehe ... Was het maar zo makkelijk dan was cracken/hacken ook niet zo moeilijk meer.
 
ok kort en duidelijk, stel je voor een simpel form met een label en 1 knop, als je op die knopdrukt komt er een msgbox met de inhoud van het label. stel je voor dat dat een .exe is, nu wil ik aan de hand van een ander .exe de inhoud van het label op de 1e .exe kunnen veranderen.

of

en programma waar je de caption van de label kan aangeven en dat hij dan een ,exe schrijft maar dat lijkt me een stuk moeilijker?


hoop dat het duidelijk is, dj

Het is beide mogelijk hoor. Bij de eerste optie zou je de opcodes van de desbetreffende label-tekst kunnen veranderen. En bij de tweede zou je ervoor kunnen kiezen om de executable embedded in je programma op te nemen, en dan de executable na het wegschrijven te patchen met de nodige data.

Als de nieuwe tekst binnen het bereik(bytes) valt van de oude tekst dan zou je dit zonder al te veel ervaring voor elkaar moeten kunnen krijgen. Zoek anders eens wat meer over 'reverse engineering'.

dat zal niet gaan , tenzij je een DLL geschreven hebt die eerste exe kan besturen. (dus ook zelf geschreven executables). hehehe ... Was het maar zo makkelijk dan was cracken/hacken ook niet zo moeilijk meer.

Het kan wel, en je hebt geen DLL/executable nodig die het programma kan besturen. Als je het programma start dan moet die de benodigde data toch ergens vandaan halen ? Hij weet toch niet zomaar welke waarde die label moet hebben ?

Als je die data dus wijzigt, het zij in de executable zelf of in het geheugen van je computer, dan weet de computer niet beter dan die data te tonen.
 
Ik snap ook wel dat ik het kan met reverse engineering , ASM , en een hex editor.
maar dat is niet wat ie vraagt. Hij post het in een visualbasic forum, met de vraag of hij een exe kan besturen met een zelf geschreven exes.
 
Ik snap ook wel dat ik het kan met reverse engineering , ASM , en een hex editor.

Mooi toch. (ASM + hex gebeuren valt gewoon onder RE hoor)

maar dat is niet wat ie vraagt. Hij post het in een visualbasic forum, met de vraag of hij een exe kan besturen met een zelf geschreven exes.

Daar verschillen wij dan van mening. Ik kan uit de tekst van de TS niet halen dat hij de behoefte heeft om een programma te kunnen besturen. (bij het besturen van een programma denk ik persoonlijk aan een programma als 'Hitman Pro' -> en dat is mogelijk, maar gewoon niet nodig)

E daarbij geef jij aan dat het niet mogelijk is, terwijl het wel mogelijk is. Aan misleidende informatie heeft de TS natuurlijk ook niet veel. :)
 
je hoeft nou niet de slimste van de klas te gaan spelen. Maar goed nogmaals, hij post het in het vb forum en niet in ASM of een ander forum. Dus ga ik er vanuit dat dat form, button en msgbox via vb zijn gecode.

Het enige wat Hitman doet is de muis en toestenbord code gebruiken bij 3rd party applicaties. Misschien wat andere technieken, ken dat programma ook niet uit mijn hoofd. Maar Hitman kan geen labels van andere programma's aanpassen.

Maar goed jij zegt dat het zonder dll ook mogelijk is. Kan je mij dat uitleggen want ik ben zelf ook wel nieuwsgierig geworden.
 
Maar goed jij zegt dat het zonder dll ook mogelijk is. Kan je mij dat uitleggen want ik ben zelf ook wel nieuwsgierig geworden.

Er zijn meerdere manieren om dit te bereiken. Maar als we ervan uitgaan dat de nieuwe string dezelfde lengte heeft, dan zou je iets als onderstaande kunnen doen:

Je zoekt eerst de tekst op die je wilt wijzigen, in dit voorbeeld 'ihavnolife':

004021E2 BA 001C4000 MOV EDX,App3.00401C00 ; UNICODE "ihavnolife"

We zien nu dus de lokatie staan van de string die we zoeken:


00401C00 6900 68006100 IMUL EAX,DWORD PTR DS:[EAX],610068
00401C06 76 00 JBE SHORT App3.00401C08
00401C08 6E OUTS DX,BYTE PTR ES:[EDI] ; I/O command
00401C09 006F 00 ADD BYTE PTR DS:[EDI],CH
00401C0C 6C INS BYTE PTR ES:[EDI],DX ; I/O command
00401C0D 0069 00 ADD BYTE PTR DS:[ECX],CH
00401C10 66:0065 00 ADD BYTE PTR SS:[EBP],AH

Welke hexadecimale waardes zien we staan ?

69 = i
68 = h
61 = a
76 = v
6E = n
6F = o
6C = l
69 = i
66 = f
65 = e

We kunnen hier dus de string aanpassen naar hetgeen we willen. (als de nieuwe string langer is dan zul je het iets anders moeten aanpakken)
 
Erg interessant... maar dit is Assembly code , we hadden het over VB.

[OFFTOPIC]Kan je mij niet eens een stukje op weg helpen met ASM. Want uit die Amerikaanse RE files word ik nou niet veel wijzer. Probeer al het één en ander met Ollydbg te vinden maar bij een beetje ingewikkelde code ben ik het spoor na 3 jmp's al bijster.[/OFFTOPIC]
 
Erg interessant... maar dit is Assembly code , we hadden het over VB.

Je hebt gelijk dat dit geen VB code is, en dat dit topic over VB gaat. Maar het gaat er natuurlijk om dat je de juiste lokatie vindt om te patchen. :)

Kan je mij niet eens een stukje op weg helpen met ASM. Want uit die Amerikaanse RE files word ik nou niet veel wijzer. Probeer al het één en ander met Ollydbg te vinden maar bij een beetje ingewikkelde code ben ik het spoor na 3 jmp's al bijster.

Jezelf wat meer in Assembly verdiepen kan natuurlijk nooit kwaad. Dat zorgt er in elk geval al voor dat je een beter idee krijgt van wat er gaande is. Verder is Ollydbg wel een goede debugger, al geeft IDA Pro je een beter beeld van hoe de code wordt uitgevoerd. Misschien zou je daar eens naar kunnen kijken. (gebruik zelf ook vaak Ollydbg, daar niet van)

Verder helpt het ook wel om wat boeken over reverse engineering te lezen. Dat zal je inzicht ook enorm vergroten. Je moet er wel opletten dat je een geschikt boek downloadt/koopt, aangezien je anders kans hebt dat je het niet begrijpt. Een goed boek om te beginnen zou bijvoorbeeld het boek 'secrets of reverse engineering' zijn. En als je daarna wat meer kennis hebt zou je het boek 'hacker disassemling uncovered' kunnen lezen, dat gaat al wat dieper in op reverse engineering. Al is het eerste boek ook zeker interessant te noemen. (ben momenteel zelf bezig met het boek 'shellcoder's handbook'; zeker interessant, maar ook wel pittig :o)

En je moet natuurlijk iets hebben om te oefenen. Die kun je vinden op bijvoorbeeld www.crackmes.de, samen met (video)tutorials.

-------------------

Ik vind het leuk om te zien dat je dezelfde interesses hebt, en ik wens je veel succes. Ik vond het in het begin ook aardig lastig, en heb vaak gebaald dat het maar niet lukte(nu nog steeds regelmatig :p). Maar naarmate je meer ervaring hebt gaat het allemaal een stuk eenvoudiger. Dus volhouden, zou ik zeggen. :)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan