Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #29577
| From | "AK" <nobody@nowhere.net> |
|---|---|
| Newsgroups | pl.comp.programming |
| Subject | Re: Czego nie lubicie jako programiści? |
| Date | 2017-04-01 19:48 +0200 |
| Organization | ATMAN - ATM S.A. |
| Message-ID | <obop55$tve$1@node2.news.atman.pl> (permalink) |
| References | (5 earlier) <obnnpl$t75$2@node2.news.atman.pl> <obnqb2$vme$1@node2.news.atman.pl> <obnrcc$13b$1@node2.news.atman.pl> <obo7hh$cue$1@node2.news.atman.pl> <oboi7h$8q6$1@node1.news.atman.pl> |
Użytkownik "Sebastian Biały" <heby@poczta.onet.pl> napisał:
> On 4/1/2017 2:47 PM, AK wrote:
>>> Czyli hackowanie jednak.
>> Zadne hackowanie.
>
> Jesli zmuszasz biblitekę aby pracowala w warunkach w której jej nie
> testowano/projektowano i w tym celu musisz poznać internalne działanie
> kompilatora i linkera, a bywa że i nieudokumentowane i/lub niestabilne jego elementy - to jest
> *czyste* hackerstwo.
Doucz Cie C. Mangling w C jest _scisle zdefiniowany_ w standardzie
i niczego nie musze "internalnie" poznawac.
Zarowno w samym C jak i w laczeniu go (czystego C) z C++
(czy innymi jezykami programowania).
PS: Zreszta to jest technika ktora zecydownie preferuje niz mixowanie
kodu w C z kodem C++ w jednym przebiegu kompilacji/w jednym lib-ie
(nawet jesli mam pelny dostep do zrodel).
>> Wsio dokaldnie opisane zarowno w raporcie C jak i C++.
>> Problemem jest co innego.
>> Proiblemem jest nieustandaryzowane (w przeciwienstwie do C)
>> manglowanie nazw w "nowoiczesnym" C++.
>
> Czyli jednak wsio nie jest dokładnie opisane? Czyli hackerstwo?
Jakie hackerstwo?
Po prostu "tak sie nie robi" poniewaz mangling w C++ zwyczajnie
nieustandaryzowany (czytaj C++ jest spieprzony).
Dlatego takie mixowanie interkompilatorowe C++ robi sie
np.wlasnie za posrednictwem C a w C++ robi sie lekkie owijki
obiektowe (same *.h) (to niestety pracochlonne, ale to nie moja wina
ze C++ "tak ma"), albo za posrednictwem dll/so.
PS: Natomiast "niezdefiniowany" to _jest_ dokladny opis.
>> Fakt ze to wymaga niekiedy "hackingu" w przypadku mix-u
>> kompilatorow (nie polecam).
>
> No wreszcie.
Co "no wreszcie"?
Jakie jest niebezpieczenstwo w tym ze chcemy sie dobrac
do np. symbolu w DLLce (a wiec ustandarysowanej systemowo
biblioteki) ktorego mangling jest "nieznany" (czylli nazwa w DLLce jest niewiadoma) ?
Jelsi znalibysmy ta nazwe to spokojnie mozlinbysmy takigo symbolu/funkcji uzyc
(gdyz wolanie z dll-ki jest systempowo usystematyzowane - czylio ponad
kompilatorowe/jezykowe)?
Problemm polega tylko na tymze my tej nazwy nie znamy.
Trzeba ja wiec poznac i w tym celu nalezy zmanglowac nazwa C++wa
i uzyc tej zmanglowanej np w dynamicznym pobraniu adresu z dll-ki
(GetProcAddress()/dlsym()).
Jedyny problem jest tym ze mangling jest per-compiler-specyfic
i dlatego 1.trzeba wiedziec jakim kompilatorem dll-ka jest uskuteczniona
2. uzyc mangkera z tego wlasnie kompilatora.
Gdy DLL-a jest w czystym ten nazwa (bez wzledu na kompilator C
ktorym jest tworzona) jest _zawsze_ zgodny z nazwa w zrodle
(a w przypadku obj/lib-ow: _ + nazwa_w_zrodle_C)
wiec problemow 1. i 2. w C zwyczjnie nie ma.
To jest _jedyna_ roznica - ale daleka od jakiegokolwiek hackerstwa.
> Pamietam jak kilkanascie lat temu w jednej z firm w okolicy która pisała skomplikowany kod pod
> Sparka, wylatywał u userów, ale nie wylatywał na testowaniu produkcji [1]. Winien był jeden hacker
> w firmie który zgodnie z zasadą "będzie Pan zadowolony" stosował niedozwolone sztuczki podczas
> linkowania aby zmusić stary kod do dzialania z nowym [2]. Wliczając w to edycję plików binarnych
> hex edytorem i automatyczną podmianę prologów funkcji żeby ABI się zgadzało.
Jak sie ktos nie douczyl, to sobie napisze "hacker" i robi takie i inne glupoty.
Tymczasem to nie zaden hacker ale zwykly niedouczony palant :(.
Tymczasem mozna prosto i latwo i zgodnie ze standardami.
Trzeba "tylko" wiedziec co to jest *.obj, *.lib, *.dll/*.so i co tak naprawde
robi linker czy loader dllki ("kiedys" linker byl osobnym programem.
Ba!. Byl programem "ponadjezykowym".)
PS: Nie moge "wyjsc z podziwu" jak Wy mlodzi dzis piszecie w C/C++
nie znajac tak podstawowych systemowych rzeczy :(
AK
Back to pl.comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Czego nie lubicie jako programiści? gof@somewhere.invalid (Adam Wysocki) - 2017-03-30 19:48 +0000
Re: Czego nie lubicie jako programiści? szykcech@gmail.com - 2017-03-30 21:14 -0700
Re: Czego nie lubicie jako programiści? niepełnosprawny intelektualnie 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-03-31 18:08 +0200
Re: Czego nie lubicie jako programiści? szykcech@gmail.com - 2017-03-31 10:37 -0700
Re: Czego nie lubicie jako programiści? niepełnosprawny intelektualnie 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-03-31 19:46 +0200
Re: Czego nie lubicie jako programiści? Andrzej S <asta@evbox.pl> - 2017-04-03 08:18 +0200
Re: Czego nie lubicie jako programiści? niepełnosprawny intelektualnie 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-04-04 17:22 +0200
Re: Czego nie lubicie jako programiści? t-1 <t-1@todlaspamu.pl> - 2017-03-31 21:03 +0200
Re: Czego nie lubicie jako programiści? gof@somewhere.invalid (Adam Wysocki) - 2017-04-01 00:37 +0000
Re: Czego nie lubicie jako programiści? szykcech@gmail.com - 2017-04-01 01:52 -0700
Re: Czego nie lubicie jako programiści? "PawelS cbrbob(at)wbcd(dot)pl" <fake@email.org> - 2017-04-02 12:08 +0200
Re: Czego nie lubicie jako programiści? szykcech@gmail.com - 2017-04-02 09:10 -0700
Re: Czego nie lubicie jako programiści? Andyy <nie@spamowac.tego> - 2017-04-02 18:22 +0200
Re: Czego nie lubicie jako programiści? slawek <fake@fakeemail.com> - 2017-04-03 17:25 +0200
Re: Czego nie lubicie jako programiści? Andyy <nie@spamowac.tego> - 2017-04-03 18:12 +0200
Re: Czego nie lubicie jako programiści? fir <profesor.fir@gmail.com> - 2017-04-02 01:00 -0700
Re: Czego nie lubicie jako programiści? niepełnosprawny intelektualnie 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-04-05 17:39 +0200
Re: Czego nie lubicie jako programiści? godek.maciek@gmail.com - 2017-03-30 22:55 -0700
Re: Czego nie lubicie jako programiści? fir <profesor.fir@gmail.com> - 2017-03-31 00:20 -0700
Re: Czego nie lubicie jako programiści? fir <profesor.fir@gmail.com> - 2017-03-31 00:32 -0700
Re: Czego nie lubicie jako programiści? fir <profesor.fir@gmail.com> - 2017-03-31 00:47 -0700
Re: Czego nie lubicie jako programiści? Andyy <nie@spamowac.tego> - 2017-03-31 08:45 +0200
Re: Czego nie lubicie jako programiści? gof@somewhere.invalid (Adam Wysocki) - 2017-04-01 00:49 +0000
Re: Czego nie lubicie jako programiści? szykcech@gmail.com - 2017-03-31 23:46 -0700
Re: Czego nie lubicie jako programiści? Andyy <nie@spamowac.tego> - 2017-04-01 09:13 +0200
Re: Czego nie lubicie jako programiści? Sebastian Biały <heby@poczta.onet.pl> - 2017-04-01 10:19 +0200
Re: Czego nie lubicie jako programiści? "AK" <nobody@nowhere.net> - 2017-04-01 11:02 +0200
Re: Czego nie lubicie jako programiści? Sebastian Biały <heby@poczta.onet.pl> - 2017-04-01 11:20 +0200
Re: Czego nie lubicie jako programiści? "AK" <nobody@nowhere.net> - 2017-04-01 14:47 +0200
Re: Czego nie lubicie jako programiści? Sebastian Biały <heby@poczta.onet.pl> - 2017-04-01 17:50 +0200
Re: Czego nie lubicie jako programiści? "AK" <nobody@nowhere.net> - 2017-04-01 19:48 +0200
Re: Czego nie lubicie jako programiści? Sebastian Biały <heby@poczta.onet.pl> - 2017-04-01 20:31 +0200
Re: Czego nie lubicie jako programiści? "AK" <nobody@nowhere.net> - 2017-04-01 23:44 +0200
Re: Czego nie lubicie jako programiści? Sebastian Biały <heby@poczta.onet.pl> - 2017-04-02 00:36 +0200
Re: Czego nie lubicie jako programiści? "AK" <nobody@nowhere.net> - 2017-04-01 10:55 +0200
Re: Czego nie lubicie jako programiści? gof@somewhere.invalid (Adam Wysocki) - 2017-04-01 10:47 +0000
Re: Czego nie lubicie jako programiści? Andyy <nie@spamowac.tego> - 2017-04-01 14:40 +0200
Re: Czego nie lubicie jako programiści? "AK" <nobody@nowhere.net> - 2017-04-01 14:51 +0200
Re: Czego nie lubicie jako programi?ci? antispam@math.uni.wroc.pl - 2017-04-06 05:04 +0000
Re: Czego nie lubicie jako programiści? Roman Tyczka <noemail@because.no> - 2017-03-31 09:08 +0200
Re: Czego nie lubicie jako programiści? gof@somewhere.invalid (Adam Wysocki) - 2017-04-01 00:39 +0000
Re: Czego nie lubicie jako programiści? Sebastian Biały <heby@poczta.onet.pl> - 2017-03-31 20:17 +0200
Re: Czego nie lubicie jako programiści? niepełnosprawny intelektualnie 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-03-31 20:57 +0200
Re: Czego nie lubicie jako programiści? fir <profesor.fir@gmail.com> - 2017-03-31 13:04 -0700
Re: Czego nie lubicie jako programiści? gof@somewhere.invalid (Adam Wysocki) - 2017-04-01 00:42 +0000
Re: Czego nie lubicie jako programiści? gof@somewhere.invalid (Adam Wysocki) - 2017-04-01 00:29 +0000
Re: Czego nie lubicie jako programiści? Sebastian Biały <heby@poczta.onet.pl> - 2017-04-01 10:16 +0200
Re: Czego nie lubicie jako programiści? slawek <fake@fakeemail.com> - 2017-04-01 21:27 +0200
[OT] Czego nie lubicie jako programiści? niepełnosprawny intelektualnie 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-04-02 18:32 +0200
Re: [OT] Czego nie lubicie jako programiści? niepełnosprawny intelektualnie 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-04-02 18:33 +0200
Re: [OT] Czego nie lubicie jako programiści? Sebastian Biały <heby@poczta.onet.pl> - 2017-04-02 18:41 +0200
Re: [OT] Czego nie lubicie jako programiści? niepełnosprawny intelektualnie 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-04-02 18:52 +0200
Re: [OT] Czego nie lubicie jako programiści? szykcech@gmail.com - 2017-04-02 11:38 -0700
Re: [OT] Czego nie lubicie jako programiści? niepełnosprawny intelektualnie 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-04-05 18:49 +0200
Re: Czego nie lubicie jako programiści? Wojciech Muła <wojtek.mula@gmail.com> - 2017-04-02 22:04 -0700
Re: Czego nie lubicie jako programiści? "Netteria.NET" <slawek@netteria.net> - 2017-04-08 23:48 +0200
Re: Czego nie lubicie jako programiści? szykcech@gmail.com - 2017-04-09 21:17 -0700
Re: Czego nie lubicie jako programiści? Roman Tyczka <noemail@because.no> - 2017-04-10 08:40 +0200
Re: Czego nie lubicie jako programiści? szykcech@gmail.com - 2017-04-10 10:42 -0700
Re: Czego nie lubicie jako programiści? szykcech@gmail.com - 2017-04-11 12:38 -0700
Re: Czego nie lubicie jako programiści? slawek <fake@fakeemail.com> - 2017-04-12 10:06 +0200
Re: Czego nie lubicie jako programiści? Tomasz Kaczanowski <kaczus@poczta.onet.pl> - 2017-04-12 10:24 +0200
Re: Czego nie lubicie jako programiści? slawek <fake@fakeemail.com> - 2017-04-12 13:09 +0200
Re: Czego nie lubicie jako programiści? Roman Tyczka <noemail@because.no> - 2017-04-12 13:30 +0200
Re: Czego nie lubicie jako programiści? slawek <fake@fakeemail.com> - 2017-04-12 15:10 +0200
[OT] Czego nie lubicie jako programiści? niepełnosprawny intelektualnie 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-04-10 20:11 +0200
Re: Czego nie lubicie jako programiści? Jivanmukta <jivanmukta@poczta.onet.pl> - 2017-04-14 10:34 +0200
Re: Czego nie lubicie jako programiści? gof@somewhere.invalid (Adam Wysocki) - 2017-04-20 10:36 +0000
csiph-web