Biblioteka DLL

0

Witam,
W jaki sposób otworzyć i edytować biblioteke DLL ?

Demonical Monk
  • Rejestracja:ponad 17 lat
  • Ostatnio:11 miesięcy
0

Nie da się... To tak jakbyś chciał EXE edytować.


Women were the reason I became a monk - and, ah, the reason I switched back...
olesio
  • Rejestracja:około 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
0

Da się tak jak i *.exe. Jak nie jest spakowany exek lub dllka ani zaszyfrowana jakoś lub zabezpieczona to pod
Deassembleratorem widać kod, ktory można zmieniać pod HexEdytorem na przykład. Tutaj kłaniają się raczej
podstawy crackingu, ale ja się już w to od dawna nie bawie, ale pewnie na necie da się wygooglować tutoriale.
Nie będzie to taka sama edycja jako byś mial kod programu. Po prostu zmieniasz instrukcje na inne w taki to
sposób crackerzy usuwają na przykład z gier kod sprawdzający czy w napędzie jest oryginalna plyta z grą itp.


Pozdrawiam.
0

@olesio, 'Deassembleratorem'? Ogólnie to masz o tym wszystkim bardzo mgliste pojęcie...

@zwiro - zapoznaj się z pojęciem 'reverse engineering'.

crowa
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 8 lat
  • Lokalizacja:Poznań
  • Postów:295
0

olesio ma racje "deassembly" - a jak myslisz skad w reverse bierze sie kod zrodlowy (interpretowane sa rozkazy niskopoziomowe na instrukcje konkretnego jezyka).

Przykladem aplikacji jest "IDA Pro" a tutaj kursy
<url> http://www.infosecinstitute.com/courses/reverse_engineering_training.html</url>


Tomasz Andrzejewski
Delphi (XE3-XE7) framework engineer @ InterLan
MCP: Microsoft SQL Server 2008, Implementation and Maintenance
0
crowa napisał(a)

a jak myslisz skad w reverse bierze sie kod zrodlowy

Kodu źródłowego nie bierze, jest to niemożliwe w wypadku aplikacji natywnych. Kod mozolnie odtwarza się ręcznie, co najwyżej wspierając się różnymi automatami.

olesio
  • Rejestracja:około 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
0

deus.: może mając na myśli postęp w zabezpieczeniach gier i programów jaki się dokonał mam dosyć małe
doświadczenie, w czasach "świetności" polskiej cracksceny łamałem raczej prosto zabezpieczone programy,
z pisaniem keygenów w ogóle mi nie szło, ale jestem pewien że do tego celu używałem właśnie czasami IDY
ale częściej wygodniej było pod WDasmem prosty i wygodny na proste programy :) Może Ty znasz jakieś
inne metody, ale przykład na prosty reverse engineering z życia wzięty. Nudząc się jeszcze w starym roku z
filmiku na youtube dowiedzialem się że w Pasjansie dla XP istnieje kombinacja klawiszy Alt+Shift+2, ktora to
po naciśnięciu powoduje ułożenie się kart i końcową animacje kart. Dzięki ów wiedzy i resztce wiedzy, ktora
pozostała w glowie z czasów crackowania dokonałem prostej modyfikacji używając WDasma do śledzenia
kodu, a legendarnego HIEW do edycji exeka. Namierzyłem sobie w kodzie miejsce gdzie zamiast "pushów",
które pokazywały MessageBoxa z pytaniem "czy rozdać ponownie" wstawiłem skok do kodu ktory zaczyna
nową grę i dzięki temu że znałem cheat kombinację mogłem swoją zmianę od razu przetestować nie musząc
układać całego pasjansa za każdym razem. Wynikiem modyfikacji jest to że Pasjans nie pyta się upierdliwie
czy rozdać ponownie tylko po skończonej grze jak klikniemy myszką lub naciśniemy Escape od razu mamy
rozdane karty tak jak po kliknięciu na Tak. Od takie ułątwienie dla grającego aby nie wkurzać go tym - imo,
zbędnym komunikatem. Zrobiłem to oczywiście w celu samo edykacyjnym, nie powiem jak dokładnie zwą się
użyte narzędzia poza ich skroconymi nazwami oraz jakie offsety i na co zmieniłem, bo to niezgodne chyba z
licencją systemu operacyjnego, ale udowadnia to że do wspomagania procesu modyfikacji kodu exe lub dll z
pewnością używa się między innymi DisAssemblera. Może mam mgliste pojęcie, ale wystarczyło mi ono aby w
Pasjansie czy innych niezabezpieczonych programach dokonać prostej modyfikacji tak aby program działał w
taki sposób, jak ja chce. Chociaż oczywiście za reverse inżyniera nie mam co się uważać, bo dodawanie sekcji
do plików exe albo reverseme w ktorych treeba od zera dodać jakąs pozycje do menu i kod - to jak dla mnie
wyższa szkoła jazdy. Na ogoł w słabo zabezpieczonych progrmach zmiana opiera się na tzw "reverse jump".
Ale to nie temat na to forum chyba. Mogę zwiro jedynie polecić aby sobie pogooglował wytrwale, oczywiście
od dawnych czasów mase stron z tutorialami do crackme/reverseme i innymi tutkami upadło, ale pewnie jak
się chce to coś się jeszcze powinno udać znaleźć w odchłani Internetu, pewnie nawet i w języku polskim :)


Pozdrawiam.
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:9 minut
0
deus. napisał(a)

Kodu źródłowego nie bierze, jest to niemożliwe w wypadku aplikacji natywnych.

Jest to problem ekstremalnie trudny, ale nie niemożliwy.

Kod mozolnie odtwarza się ręcznie, co najwyżej wspierając się różnymi automatami.

które to automaty mogą w teorii być bardzo zaawansowane i dopracowane..

0

Kompilacja jest procesem stratnym! Wszelkie stałe, adresy symboliczne etc. przestają istnieć, typy danych również - pojawiają się wieloznaczności. Nie da się jednoznacznie odtworzyć źródeł, można wyłącznie napisać kod od podstaw wzorując się na deadlistingu. Można wygenerować coś, co się skompiluje do podobnej formy jak reverse'owany kod, owszem, ale bardziej skomplikowanego kodu po prostu nie da się odtworzyć logicznie.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)