Zdeassemblujcie

Narzew

Użytkownik
Dołączył
Lipiec 27, 2012
Posty
16
Wielkie dzięki. Mam jeszcze pytanko: czym to tak zrobiłeś? (jakim programem)?

Jeszcze mam jedną prośbę (Przeceniłem swoje zdolności :( )

mam taki algotytmik:

key = key * 7 + 3 (gdzieś w pliku to jest)

chce to zmienić na key * 6 + 4
Jeśli mógłby ktoś pomóc będę wdzięczny.
 
Ostatnia edycja:

D.F.

Były Moderator
Dołączył
Listopad 4, 2009
Posty
493
Mówisz, że w tej bibliotece jest kod:
Kod:
key = key * 7 + 3

Więc szukasz czegoś w stylu (są to instrukcje Asemblera):
Kod:
mul 7 ;mnoży bez znaku rejestr akumulator przez 7
add rejestr/pamięć, 3 ;dodaje do rejestru lub pamięci wartość 3

potem zapisujesz sobie gdzie to jest w pliku (offset, czyli przesunięcie). Asembler jest tłumaczony z instrukcji słownych do kodu bajtowego, więc szukasz w opkodach (lista opkodów jest w sieci) jak wygląda opkod tych instrukcji i zmieniasz w hex edytorze na opkody innych instrukcji.

To jest teoria, ale kto da radę wykonać to w praktyce? Ja próbowałem i nie mogłem znaleźć tej sekwencji instrukcji.
 

Narzew

Użytkownik
Dołączył
Lipiec 27, 2012
Posty
16
Ech. Musieli się postarać i spakować DLL'kę. Ta instrukcja musi być na 100 % (inaczej nie odczytało by archiwum RGSSAD, w którym jest instrukcja w stylu:

s = x ^ key & 0xFFFFFFFF
key = key * 7 + 3

(daje oryginalną DLL'kę bez wypakowania.)

http://www.2shared.com/file/3qMfx6UL/RGSS102E.html

Pomożcie. Zależy mi na zabezpieczeniu projektu.

zamiast * 7 + 3 ma być * 6 + 4

Na DLL'ce było asprotect czy coś w tym stylu
 

asmen

Użytkownik
Dołączył
Sierpień 18, 2012
Posty
8
Dobra, ale wytłumacz mi po co chcesz grzebać w dll rpg makera :D Naprawdę nie musisz grzebać w dll, aby zabezpieczyć... Właśnie co ty chcesz zabezpieczyć?
 

Narzew

Użytkownik
Dołączył
Lipiec 27, 2012
Posty
16
Chodzi o to, że wiem że wystarczy zmienić magickey w DLL (to potrafie, hexedytor), ale chce i zmienić algorytm kodowania RGSSAD, żeby żaden inny program nie był w stanie tego rozkodować.
Po prostu chce zmienić generowanie kolejnych plików z key = key * 7 + 3, na key = key * 6 + 4
 
Do góry Bottom