Spørgsmål nr 2. Findes der en Disassembler og Debugger til Linux ?

3 views
Skip to first unread message

Jesus-loves-you

unread,
Apr 29, 2009, 4:25:45 PM4/29/09
to
"Frank Damgaard" skrev ...

Sent: Wednesday, April 29, 2009, CET 02:01, GMT 00:01
Subject: Re: Linux styresystemet. Hvor finder jeg ... ?
<news:49f798ed$0$90262$1472...@news.sunsite.dk>
<http://groups.google.dk/group/dk.edb.system.unix/msg/b9d41f531f0f9008>
>
>Jesus-loves-you skrev:
[ ... file 8720 ... ]
>
> > I f�rste omgang er jeg blot interesseret i at kunne eksekvere mit eget
> > maskinkode-program, hvor jeg skal kunne oprette, l�se og skrive til
> > filer p� HardDisken, samt r�de over en passende andel af RAM-lageret.
>
> hmm, dvs. du vil have noget eget program mellem hardware og
> operativsystem ?
> S� er det m�ske DOS du vil have ?
>
> Normalt kodes ikke i assembler eller maskinkode p� unix/linux....
> men i et lidt h�jere niveau programmeringssprog (C, C++, Pascal, Java,
> Perl, ......)
>
> M�ske du mener overs�tte eget C-program som skal kunne l�se/skrive til
> filer via systemkald i operativsystemet, og ogs� allokere plads i lageret
> (fysisk som virtuelt) via operativsystem kald eller via C sprogets egne
> muligheder?


�h ...

(Ja, noget omtrent i den stil, som sidstn�vnte.)

Dengang kun DOS eksisterede, kunne man debugge et com- eller exe-program
med debug.com eller debug.exe

P� tilsvarende vis findes der til Windows 98 operativ-systemet en
Disassembler/Debugger kaldet W32Dasm.

W32Dasm synes dog at v�re forsvundet p� "mystisk" vis fra internettet,
se evt. ...

<http://answers.google.com/answers/threadview?id=132829>
>
> Dette er adressen p� forfatteren af W32DASM:
>
> URSoftware
> Peter J. Urbanik
> 44 Sachem Drive
> Glastonbury, CT 06033-2726
> USA
> Phone: (860) 659-1811
> E-Mail: ur...@msn.com.fjern


Med W32Dasm kan man ret hurtigt f� et lille overblik over, hvad et aktuelt
program foretager sig (herunder API-opkald), og evt. foretage *�ndringer*!


Findes der et tilsvarende program til Linux ?

-

Other internal news:
60% iso-file downloaded.


With kind regards,
Mogens Kall, The servant of Michael, the *fool* of Christ.
--
Coming up news: Iran hit by a meteor. Iran is no more (Jer.49,34- Jos.10,11)
Last OUTPUT: 8732 <news:49f8949c$0$90274$1472...@news.sunsite.dk>
Info <http://groups.google.com/group/dk.test/msg/0c2acbb0aa88edf8>
<http://groups.google.dk/group/no.kultur.folklore.ufo/>. File-number: 8733


Peter Mogensen

unread,
Apr 29, 2009, 4:36:14 PM4/29/09
to
Jesus-loves-you wrote:
> Findes der et tilsvarende program til Linux ?

Ja.

Men kan du forklare mig hvorfor det er s� interessant for dig at det er
det f�rste sp�rgsm�l du stiller?

Hvorfor vil du debugge med en disassembler p� et system, hvor du har
kildeteksten til alt?

Jesus-loves-you

unread,
Apr 29, 2009, 4:56:57 PM4/29/09
to
"Jesus-loves-you" skrev ...

8733 <news:49f8b7d6$0$90267$1472...@news.sunsite.dk>
<http://groups.google.dk/group/dk.edb.system.unix/msg/8f9e4b661423b7a0>


>
> P� tilsvarende vis findes der til Windows 98 operativ-systemet en
> Disassembler/Debugger kaldet W32Dasm.

[ ... ]


> Med W32Dasm kan man ret hurtigt f� et lille overblik over, hvad et aktuelt
> program foretager sig (herunder API-opkald), og evt. foretage *�ndringer*!
>
>
> Findes der et tilsvarende program til Linux ?


Dette sp�rgsm�l blev en anelse besvaret, idet "J�rgen Heesche" skrev ...

Sent: Wednesday, April 29, 2009, CET 10:57, GMT 08:57


Subject: Re: Linux styresystemet. Hvor finder jeg ... ?

<news:49f81690$0$56767$edfa...@dtext02.news.tele.dk>


<
> > M�ske du mener overs�tte eget C-program som skal kunne l�se/skrive til
> > filer via systemkald i operativsystemet, og ogs� allokere plads i
> > lageret (fysisk som virtuelt) via operativsystem kald eller via C
sprogets egne
> > muligheder?
> >
> >

> Det er m�ske det Mogens Kall mener, men man kan godt kode i assembler:
> Linux Assembly Tutorial
> http://www.cin.ufpe.br/~if817/arquivos/asmtut/index.html
> Programming in assembly may seem quite masochistic (and writing entire
> programs in it simply ridiculous), especially in these days of
> super-optimizing compilers and visual development tools that do just
> about everything for you.
>
> Der er ingen grund til at kode i assembler, C kan det hele.


Og i denne link-henvisning st�r der bl.a. f�lgende:

=== citat start ===

Linux Assembly Tutorial

Step-by-Step Guide

[ ... ]

4.3 Linux System Calls

Linux system calls are called in exactly the same way as DOS system calls:

1.. You put the system call number in EAX (we're dealing with 32-bit
registers here, remember)
2.. You set up the arguments to the system call in EBX, ECX, etc.
3.. You call the relevant interrupt (for DOS, 21h; for Linux, 80h)
4.. The result is usually returned in EAX

There are six registers that are used for the arguments that the system call
takes. The first argument goes in EBX, the second in ECX, then EDX, ESI,
EDI, and finally EBP, if there are so many. If there are more than six
arguments, EBX must contain the memory location where the list of arguments
is stored - but don't worry about this because it's unlikely that you'll use
a syscall with more than six arguments. The wonderful thing about this
scheme is that Linux uses it consistently - all system calls are designed
this way, there are no confusing exceptions.

Some example code always helps:

mov eax,1 ; The exit syscall number
mov ebx,0 ; Have an exit code of 0
int 80h ; Interrupt 80h, the thing that pokes the kernel and says,
"Yo, do this"

But how do you find out what these system calls are, and what they do, and
what arguments they take? Firstly, all the syscalls are listed in
/usr/include/asm/unistd.h, together with their numbers (the value to put in
EAX before you call int 80h). However, for your convenience you can simply
find them in this Linux System Call Table, together with some other useful
information (eg. what arguments they take). Take a look at the list of
syscalls - there are things like sys_write (4), sys_nice (34) and of course
sys_exit (1). To find out just what these things do, you can look them up in
the Linux manual pages (commonly called "the manpages"). That is what the
next section is about.

=== citat slut ====


Men ... �h ...

Umiddelbart ser det ud som om, der her *kun* er tale om en assembler. Jeg
har ogs� brug for disassembler og debugger for at se, *hvordan* programmet
ter' sig, og evt. foretage �ndringer, forbedringer osv.


With kind regards,
Mogens Kall, The servant of Michael, the *fool* of Christ.
--
Coming up news: Iran hit by a meteor. Iran is no more (Jer.49,34- Jos.10,11)

Last OUTPUT: 8734 <news:49f8b8fc$0$90265$1472...@news.sunsite.dk>
Info <http://groups.google.com/group/dk.test/msg/0c2acbb0aa88edf8>
<http://groups.google.dk/group/no.kultur.folklore.ufo/>. File-number: 8735


Jesus-loves-you

unread,
Apr 29, 2009, 5:07:11 PM4/29/09
to
"Peter Mogensen" skrev
<news:49f8ba3e$0$90265$1472...@news.sunsite.dk>

[ ... File 8733 ... ]

> > Findes der et tilsvarende program til Linux ?
>
> Ja.

Det lyder fint ... :-)

*Hvor* (p� Internettet kan det downloades) ?

>
> Men kan du forklare mig hvorfor det er s� interessant for dig at det er
> det f�rste sp�rgsm�l du stiller?
>
> Hvorfor vil du debugge med en disassembler p� et system, hvor du har
> kildeteksten til alt?
>

Fordi d�t, jeg *prim�rt* er interesseret i (i f�rste omgang), er, at
eksekvere mine egne programmer, men Microshit ... �h, sorry ... men
Microsoft er konstrueret s� �ndssvagt (med Know-how her-og-der og allevegne,
at man n�rmest skal ta' en doktorgrad p� Universitetet bare for at f� lov
til at beherske sin egen computer en lille-bitte smule. Det er jo til at
bli' idiot af (som bruger) !!!

I d�n henseende er Linux et *fleksibelt* system (pga. den �bne source-code),
hvor s�danne �ndringer hurtigt kan tr�de i kraft (antager jeg). Og d�t skal
man selvf�lgfelig benytte sig af i konkurrence �jemed ... :-)

Et Udsagn:

(3F says:)

"Vi f�r ikke l�ng're musseskader, for vi har "fixet" den ... :-)

-

Internal:
99% ... :-)


With kind regards,
Mogens Kall, The servant of Michael, the *fool* of Christ.
--
Coming up news: Iran hit by a meteor. Iran is no more (Jer.49,34- Jos.10,11)

Last OUTPUT: 8736 <news:49f8c058$0$90266$1472...@news.sunsite.dk>
Info <http://groups.google.com/group/dk.test/msg/0c2acbb0aa88edf8>
<http://groups.google.dk/group/no.kultur.folklore.ufo/>. File-number: 8737


Peter Mogensen

unread,
Apr 29, 2009, 5:35:56 PM4/29/09
to
Jesus-loves-you wrote:
> *Hvor* (p� Internettet kan det downloades) ?

Kommer med din distribution.

>> Men kan du forklare mig hvorfor det er s� interessant for dig at det er
>> det f�rste sp�rgsm�l du stiller?
>>
>> Hvorfor vil du debugge med en disassembler p� et system, hvor du har
>> kildeteksten til alt?
>>
>
> Fordi d�t, jeg *prim�rt* er interesseret i (i f�rste omgang), er, at
> eksekvere mine egne programmer,

Har du ikke assemblerfilerne til dem?
Eller laver du selvmodificerende kode?

Jesus-loves-you

unread,
Apr 29, 2009, 7:10:44 PM4/29/09
to
"Peter Mogensen" skrev
<news:49f8c83c$0$90266$1472...@news.sunsite.dk>

[ ... file 8737 ... ]

> > *Hvor* (p� Internettet kan det downloades) ?
>
> Kommer med din distribution.

?

D�n forstod jeg desv�rre ikke ... :-(

>
> >> Men kan du forklare mig hvorfor det er s� interessant for dig at det er
> >> det f�rste sp�rgsm�l du stiller?
> >>
> >> Hvorfor vil du debugge med en disassembler p� et system, hvor du har
> >> kildeteksten til alt?
> >>
> >
> > Fordi d�t, jeg *prim�rt* er interesseret i (i f�rste omgang), er, at
> > eksekvere mine egne programmer,
>
> Har du ikke assemblerfilerne til dem?

Nej. Jeg benytter maskinkoder. Men det h�nder, at jeg benytter fikse id�er
(brudstumper) fra andre programmer.

> Eller laver du selvmodificerende kode?

Ja ...

Men det egentlige arbejde best�r s�dan set i (i f�rste omgang) noget s�
simpelt som at overf�re data mhp. videreforarbejdning

Eksempelvis n�r tusindvis af videnskabelige data skal udtr�kkes fra andre
filer.

Et resultat-eksempel herp�, se ...

5934 <news:_rz8h.12$y9...@news.get2net.dk>
<http://groups.google.com/group/dk.videnskab/msg/03268dc2992f3554>

5935 <news:Fsz8h.13$x9...@news.get2net.dk>
<http://groups.google.com/group/dk.videnskab/msg/51449e3744553bcb>

5936 <news:Avz8h.14$sy2...@news.get2net.dk>
<http://groups.google.com/group/dk.videnskab/msg/1ba9e7f9728da04a>

5937 <news:Kwz8h.15$dz2...@news.get2net.dk>
<http://groups.google.com/group/dk.videnskab/msg/cb1f4e86fe75b9e6>

5938 <news:oyz8h.16$kC...@news.get2net.dk>
<http://groups.google.com/group/dk.videnskab/msg/b59651a8fe62a2e2>
>
> > Tabel 1 ... 1, 1, 1, 1, 1, 1, 2 ... (atom number)
> > Tabel 2 ... H, H, H, H, H, H, He ... (atom name)
> > Tabel 3 ... 1, 2, 3, 4, 5, 6, 3 ... (atom mass number)
> > Tabel 4 ... (half life)
> > Tabel 5 ... (half life 2)
> > Tabel 6 ... (atom mass)


With kind regards,
Mogens Kall, The servant of Michael, the *fool* of Christ.
--
Coming up news: Iran hit by a meteor. Iran is no more (Jer.49,34- Jos.10,11)

Last OUTPUT: 8741 <news:49f8d705$0$90275$1472...@news.sunsite.dk>
Info <http://groups.google.com/group/dk.test/msg/0c2acbb0aa88edf8>
<http://groups.google.dk/group/no.kultur.folklore.ufo/>. File-number: 8742


Peter Mogensen

unread,
Apr 30, 2009, 1:49:11 AM4/30/09
to
Jesus-loves-you wrote:
> "Peter Mogensen" skrev
> <news:49f8c83c$0$90266$1472...@news.sunsite.dk>
>
> [ ... file 8737 ... ]
>
>>> *Hvor* (p� Internettet kan det downloades) ?
>> Kommer med din distribution.
>
> ?
>
> D�n forstod jeg desv�rre ikke ... :-(

De fleste distributioner inkluderer en disassembler.
Installer den fra pakke-systemet.

>>>> Hvorfor vil du debugge med en disassembler p� et system, hvor du har
>>>> kildeteksten til alt?
>>>>
>>> Fordi d�t, jeg *prim�rt* er interesseret i (i f�rste omgang), er, at
>>> eksekvere mine egne programmer,
>> Har du ikke assemblerfilerne til dem?
>
> Nej. Jeg benytter maskinkoder. Men det h�nder, at jeg benytter fikse id�er
> (brudstumper) fra andre programmer.

ok - i bin�r form?

>> Eller laver du selvmodificerende kode?
>
> Ja ...

oh... held og lykke.

> Men det egentlige arbejde best�r s�dan set i (i f�rste omgang) noget s�
> simpelt som at overf�re data mhp. videreforarbejdning
>
> Eksempelvis n�r tusindvis af videnskabelige data skal udtr�kkes fra andre
> filer.
>
> Et resultat-eksempel herp�, se ...
>

Ikke noget jeg ville bruge selvmodificerende assembler til..

Jesus-loves-you

unread,
Apr 30, 2009, 3:52:33 AM4/30/09
to
"Peter Mogensen" skrev
<news:49f93bd7$0$90274$1472...@news.sunsite.dk>

[ ... file 8742 ... ]

> >>> *Hvor* (p� Internettet kan det downloades) ?
> >>
> >> Kommer med din distribution.
> >
> > ?
> >
> > D�n forstod jeg desv�rre ikke ... :-(
>
> De fleste distributioner inkluderer en disassembler.
> Installer den fra pakke-systemet.

Hvad hedder de ?

Hvor skal jeg lede efter dem ?
(Alt hvad jeg har som udgangspunkt, er et virtuelt skrivebord. Resten er
volapyk-snak for mig ind-til-videre)

Og Debugger-programmet ?

> >>>> Hvorfor vil du debugge med en disassembler p� et system, hvor du har
> >>>> kildeteksten til alt?
> >>>>
> >>> Fordi d�t, jeg *prim�rt* er interesseret i (i f�rste omgang), er, at
> >>> eksekvere mine egne programmer,
> >> Har du ikke assemblerfilerne til dem?
> >
> > Nej. Jeg benytter maskinkoder. Men det h�nder, at jeg benytter fikse
> > id�er (brudstumper) fra andre programmer.
>
> ok - i bin�r form?

Nej. W32Dasm er indrettet s�dan, at man kan programmere i
maskinkode-instruktionss�ttet (CPU'ens sprog) i Debuggeren, og rette fx. INT
03 til INT 01; �ndre CALL-adresse til NOP-instruktioner (og dermed undg� en
uheldig l�kke) og s� fremdeles.

Det g�r programmet smidigt, let og hurtigt!

Du beh�ver ikke at ha' s� megen viden om h�jprogrammeringssprog, hvor nogen
af os jo desv�rre f�r et gevaldigt handikap, fordi vi glemmer, hvad vi har
l�rt og har sv�rt ved at skelne mellem et komma og et semikolon (under
fejlfinding), fordi vi er blevet gamle og b�lg�jet ... :-(

Og du kan navnlig se resultatet af din p�virkning med det samme (under
fejlfinding). Det er nok en af de bedste funktioner ved W32Dasm ... :-)

Og n�r man f�rst har l�rt systemet at kende, kan man umiddelbart overf�re
n�sten det hele til et andet operativ-system, hvis blot CPU'en er den samme
type (fx. x86).

>
> >> Eller laver du selvmodificerende kode?
> >
> > Ja ...
>
> oh... held og lykke.
>
> > Men det egentlige arbejde best�r s�dan set i (i f�rste omgang) noget s�
> > simpelt som at overf�re data mhp. videreforarbejdning
> >
> > Eksempelvis n�r tusindvis af videnskabelige data skal udtr�kkes fra
> > andre filer.
> >
> > Et resultat-eksempel herp�, se ...
> >
>
> Ikke noget jeg ville bruge selvmodificerende assembler til..

With kind regards,
Mogens Kall, The servant of Michael, the *fool* of Christ.
--
Coming up news: Iran hit by a meteor. Iran is no more (Jer.49,34- Jos.10,11)

Last OUTPUT: 8745 <news:49f953fc$0$90269$1472...@news.sunsite.dk>
Info <http://groups.google.com/group/dk.test/msg/0c2acbb0aa88edf8>
<http://groups.google.dk/group/no.kultur.folklore.ufo/>. File-number: 8746


Peter Mogensen

unread,
Apr 30, 2009, 4:51:36 AM4/30/09
to
Jesus-loves-you wrote:
>> De fleste distributioner inkluderer en disassembler.
>> Installer den fra pakke-systemet.
>
> Hvad hedder de ?

F.eks. "nasm"
Men har du pr�vet at s�ge p� "disassembler" i dit pakkesystem?

> Hvor skal jeg lede efter dem ?

I dit pakke system

> (Alt hvad jeg har som udgangspunkt, er et virtuelt skrivebord. Resten er
> volapyk-snak for mig ind-til-videre)

Og du kan ikke se desktop-menuen, med administration og pakke-h�ndtering?

> Og Debugger-programmet ?

S�g i dit pakke-system... men jeg m� indr�mme at det er mig komplet
ubegribeligt at det er det f�rste og vigtigste sp�rgsm�l du har, n�r du
ikke engang kan finde den anbefalede m�de at installerer software p� dit
system p�.

>>>>>> Hvorfor vil du debugge med en disassembler p� et system, hvor du har
>>>>>> kildeteksten til alt?
>>>>>>
>>>>> Fordi d�t, jeg *prim�rt* er interesseret i (i f�rste omgang), er, at
>>>>> eksekvere mine egne programmer,
>>>> Har du ikke assemblerfilerne til dem?
>>> Nej. Jeg benytter maskinkoder. Men det h�nder, at jeg benytter fikse
>>> id�er (brudstumper) fra andre programmer.
>> ok - i bin�r form?
>
> Nej. W32Dasm er indrettet s�dan, at man kan programmere i
> maskinkode-instruktionss�ttet (CPU'ens sprog)

Ja - det hedder en assembler.

> Og du kan navnlig se resultatet af din p�virkning med det samme (under
> fejlfinding). Det er nok en af de bedste funktioner ved W32Dasm ... :-)

Forudsigelse: Du f�r en lang og stenfyldt vej med softwareudvikling....

> Og n�r man f�rst har l�rt systemet at kende, kan man umiddelbart overf�re
> n�sten det hele til et andet operativ-system, hvis blot CPU'en er den samme
> type (fx. x86).

Det ville jeg ikke regne med...

Frank Damgaard

unread,
Apr 30, 2009, 5:09:41 AM4/30/09
to
Jesus-loves-you skrev:
........
>> Men kan du forklare mig hvorfor det er så interessant for dig at det er
>> det første spørgsmål du stiller?
>>
>> Hvorfor vil du debugge med en disassembler på et system, hvor du har
>> kildeteksten til alt?

> Fordi dét, jeg *primært* er interesseret i (i første omgang), er, at
> eksekvere mine egne programmer, men Microshit ... øh, sorry ... men
> Microsoft er konstrueret så åndssvagt (med Know-how her-og-der og allevegne,
> at man nærmest skal ta' en doktorgrad på Universitetet bare for at få lov


> til at beherske sin egen computer en lille-bitte smule. Det er jo til at
> bli' idiot af (som bruger) !!!

Hvorsan vil du eksekvere dine egne maskinkodeprogrammer ?
Er det gamle DOS programmer du håber man bare lige kan fuske
lidt med i "maskinkoden" og så voila , så kører det i linux ?

> I dén henseende er Linux et *fleksibelt* system (pga. den åbne source-code),
> hvor sådanne ændringer hurtigt kan træde i kraft (antager jeg). Og dét skal
> man selvfølgfelig benytte sig af i konkurrence øjemed ... :-)

Når man laver C programmer med gcc så findes der debug værktøjer
til at hjælpe med at finde fejl, f.eks. "gdb"

Men jeg kan ikke se hvorfor du vil rode med maskinkode, det var
noget man gjorde på sin Z80/Nascom i 1979, og senere i DOS når man
skulle pille i "lukket" kode som man ikke havde kildetekst til.
(og hvor BIOS/DOS API bestod af INT kald....)

Jesus-loves-you

unread,
Apr 30, 2009, 6:31:59 AM4/30/09
to
"Frank Damgaard" skrev
<news:49f96ad6$0$90268$1472...@news.sunsite.dk>

[ ... file 8737 ... ]

> Hvorsan vil du eksekvere dine egne maskinkodeprogrammer ?

> Er det gamle DOS programmer du h�ber man bare lige kan fuske
> lidt med i "maskinkoden" og s� voila , s� k�rer det i linux ?

�h ...

Nej. Der er ikke tale om gamle DOS-programmer, fordi Win98 og fremefter gik
over til at benytte 32-bit.

S� de programmer (jeg �nsker at anvende) er designet i 32-bit
maskinkode-systemet.

(Men bevares! Ogs� 64-bit �nsker jeg at programmere i. Det g�r jo endnu
*hurtigere*.)

Problemet har v�ret (som tidligere n�vnt) at f� tilladelse til at eksekvere
disse programmer p� Windows2000 og XP, fordi der her er en masse
sikkerhedsforanstaltninger samt know-how.
Windows 98 var uden sikkerhedssokkel, s� her kunne man "hacke" sig ind
igennem de �ndssvage p�-forh�nd-aftale-betydninger-af-talkoder (i filstart,
hvor der reserveres plads i RAM-lagret osv.). Men denne "hackning" tog jo en
skr�kkelig tid. Einem tidsr�ver ... :-(


H�ber at I vil v�re behj�lpelige med at anvise mig, hvordan jeg *lettest
mulig* kan reservere plads i RAM-lagret p� Linux ved eksekvering af en
program, samt oprettelse, l�sning og skrivning til filer.
Har opdaget at Linux (vist nok) benytter INT 80 til denne subrutine,
ikke sandt ? - Men hvad mere mht. EAX-v�rdien ?

Har Linus (ligesom Windows) API-opkald ?

Eller hvordan fungerer systemet ?

*Hvor* kan jeg l�se noget mere om INT 80 ?


> > I d�n henseende er Linux et *fleksibelt* system (pga. den �bne
> > source-code), ...
[ ... ]
> N�r man laver C programmer med gcc s� findes der debug v�rkt�jer
> til at hj�lpe med at finde fejl, f.eks. "gdb"


>
> Men jeg kan ikke se hvorfor du vil rode med maskinkode, det var

> noget man gjorde p� sin Z80/Nascom i 1979, og senere i DOS n�r man


> skulle pille i "lukket" kode som man ikke havde kildetekst til.
> (og hvor BIOS/DOS API bestod af INT kald....)


Det skyldes nok, at jeg er ved at blive en gammel "ged", der har sv�rt ved
at l�re nyt, s� det bliver *for* anstrengende at l�re et
h�jprogrammeringssprog i detaljer, blot for at kunne kunne l�se og skrive
til filer og hertil have et stort RAM-lager.


Men jeg m� "tilst�", at jeg ogs� her har problemer mht. at beherske den
indbyggede "Co-processorer", som regner med reele tal-v�rdier. Kan ikke f�
instruktionerne til at makke ret!

-

37% downloaded


With kind regards,
Mogens Kall, The servant of Michael, the *fool* of Christ.
--
Coming up news: Iran hit by a meteor. Iran is no more (Jer.49,34- Jos.10,11)

Last OUTPUT: 8751 <news:49f96ae0$0$90271$1472...@news.sunsite.dk>
Info <http://groups.google.com/group/dk.test/msg/0c2acbb0aa88edf8>
<http://groups.google.dk/group/no.kultur.folklore.ufo/>. File-number: 8752


Peter Mogensen

unread,
Apr 30, 2009, 7:16:56 AM4/30/09
to
Jesus-loves-you wrote:
> H�ber at I vil v�re behj�lpelige med at anvise mig, hvordan jeg *lettest
> mulig* kan reservere plads i RAM-lagret p� Linux ved eksekvering af en
> program,

http://www.manpagez.com/man/3/malloc/

> samt oprettelse, l�sning og skrivning til filer.

http://www.manpagez.com/man/2/open/

> Har opdaget at Linux (vist nok) benytter INT 80 til denne subrutine,
> ikke sandt ? - Men hvad mere mht. EAX-v�rdien ?
>
> Har Linus (ligesom Windows) API-opkald ?
>
> Eller hvordan fungerer systemet ?
>
> *Hvor* kan jeg l�se noget mere om INT 80 ?

M� jeg foresl� dig at du l�rer lidt om at bruge systemet f�r du begiver
dig ud i kerne-programmering?

> Det skyldes nok, at jeg er ved at blive en gammel "ged", der har sv�rt ved
> at l�re nyt, s� det bliver *for* anstrengende at l�re et
> h�jprogrammeringssprog i detaljer, blot for at kunne kunne l�se og skrive
> til filer og hertil have et stort RAM-lager.

S� skal du nok kaste dig over nogle simple microcontrollere istedet for
et full-blown OS med skarp adskillelse mellem kerne og userspace.

> Men jeg m� "tilst�", at jeg ogs� her har problemer mht. at beherske den
> indbyggede "Co-processorer", som regner med reele tal-v�rdier. Kan ikke f�
> instruktionerne til at makke ret!

Lad dog din compiler om det.

Frank Damgaard

unread,
Apr 30, 2009, 10:11:28 AM4/30/09
to
Jesus-loves-you skrev:

> "Frank Damgaard" skrev
> <news:49f96ad6$0$90268$1472...@news.sunsite.dk>
>
> [ ... file 8737 ... ]
>
>> Hvorsan vil du eksekvere dine egne maskinkodeprogrammer ?
>> Er det gamle DOS programmer du håber man bare lige kan fuske
>> lidt med i "maskinkoden" og så voila , så kører det i linux ?
>
> Øh ...

>
> Nej. Der er ikke tale om gamle DOS-programmer, fordi Win98 og fremefter gik
> over til at benytte 32-bit.
>
> Så de programmer (jeg ønsker at anvende) er designet i 32-bit
> maskinkode-systemet.

jo med DOS/windows/BIOS systemkald.
De programmer får du svært ved at flytte til Linux, FreeBSD, Solaris mfl.

At de kunne køre på win9x skyldes jo at det stort set var DOS + en GUI ovenpå.


> (Men bevares! Også 64-bit ønsker jeg at programmere i. Det går jo endnu
> *hurtigere*.)

men 64 bit linux != 32 bit linux...
og det går ikke nødvendigvis hurtigere, da 64 but programmer fylder mere
så det vil afhænge af opgaven om der er en hastighedsgevinst.


> Problemet har været (som tidligere nævnt) at få tilladelse til at eksekvere
> disse programmer på Windows2000 og XP, fordi der her er en masse
> sikkerhedsforanstaltninger samt know-how.
> Windows 98 var uden sikkerhedssokkel, så her kunne man "hacke" sig ind
> igennem de åndssvage på-forhånd-aftale-betydninger-af-talkoder (i filstart,


> hvor der reserveres plads i RAM-lagret osv.). Men denne "hackning" tog jo en

> skrækkelig tid. Einem tidsrøver ... :-(

Ja , i linux får du heller ikke lov at pille; Unix & Co var fra starten
lavet så brugere ikke skulle kunne pille i kernel.
(derfor kom der ikke en rigtig "unix" til Intel før 386 CPU'en
da 8088/8086-80286 ikke havde hardwaren)

Og i DOS/windows kom den åbenbaring først med NT, 2000 og nyere,
da det var designet som CP/M til en lille simpel CPU
uden memorymanagement.


> Håber at I vil være behjælpelige med at anvise mig, hvordan jeg *lettest
> mulig* kan reservere plads i RAM-lagret på Linux ved eksekvering af en
> program, samt oprettelse, læsning og skrivning til filer.


> Har opdaget at Linux (vist nok) benytter INT 80 til denne subrutine,

> ikke sandt ? - Men hvad mere mht. EAX-værdien ?

se i et andet af mine svar i tråden hvor der er nogle linkx.
eller skift til C eller bedre endnu måske et script sprog ?

>
> Har Linus (ligesom Windows) API-opkald ?

nej, han har næppe API kald ;)

Men du mener vel Linux.
Ja der er API.

De er ofte beskrevet/dokumenteret som C-funktionskald .
f.eks.:
NAME
open, creat - open and possibly create a file or device
SYNOPSIS
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);

int creat(const char *pathname, mode_t mode);
...snip...


> Eller hvordan fungerer systemet ?
>

> *Hvor* kan jeg læse noget mere om INT 80 ?

Se det andet indlæg i tråden jeg postede.

>>> I dén henseende er Linux et *fleksibelt* system (pga. den åbne
>>> source-code), ...
> [ ... ]


>> Når man laver C programmer med gcc så findes der debug værktøjer

>> til at hjælpe med at finde fejl, f.eks. "gdb"


>>
>> Men jeg kan ikke se hvorfor du vil rode med maskinkode, det var

>> noget man gjorde på sin Z80/Nascom i 1979, og senere i DOS når man


>> skulle pille i "lukket" kode som man ikke havde kildetekst til.
>> (og hvor BIOS/DOS API bestod af INT kald....)
>
>

> Det skyldes nok, at jeg er ved at blive en gammel "ged", der har svært ved
> at lære nyt, så det bliver *for* anstrengende at lære et
> højprogrammeringssprog i detaljer, blot for at kunne kunne læse og skrive


> til filer og hertil have et stort RAM-lager.

Hvis du absolut vil programmere i linux, så prøv at bruge de simplere
scriptsprog. Det er nok en del lettere.
Køb evt. også nogle bøger om dette scriptsprog så du kan lære at anvende det.

Eller måske du skulle holde dig fra Linux og andet nymodens,
(for Unix kom jo først frem i ca. 1970, og Linux i 1991/1992)

Kent Friis

unread,
Apr 30, 2009, 2:09:58 PM4/30/09
to
Den Wed, 29 Apr 2009 22:56:57 +0200 skrev Jesus-loves-you:
>
> Men ... �h ...
>
> Umiddelbart ser det ud som om, der her *kun* er tale om en assembler. Jeg
> har ogs� brug for disassembler og debugger for at se, *hvordan* programmet
> ter' sig, og evt. foretage �ndringer, forbedringer osv.

gdb

Mvh
Kent
--
"The Brothers are History"

Jesus-loves-you

unread,
Apr 30, 2009, 6:37:31 PM4/30/09
to
"Frank Damgaard" skrev
<news:49f9b193$0$90276$1472...@news.sunsite.dk>

[ ... file 8752 ... ]

�h ...

Din brug af Thunderbird 2.0.0.21 (X11/20090318) bevirker, at man ikke
automatisk kan indrykke '>' i originalteksten ved svar, hvilket desv�rre
*besv�rligg�r* kommunikation, da man nu ikke l�ngere umiddelbart kan skelne
mellem ny-tekst og gammel-tekst ... :-(

Jeg fors�gte mig med Mozilla Thunderbird 1.0.7 (Windows/20050923) for nogle
dage siden, og da kunne man godt!

S� kanske T2 stadigv�k har denne mulighed, men at funktionen ikke er sl�et
til automatisk ved opstart.

-

N�, men du skrev f�lgende:

Jesus-loves-you skrev:
> "Frank Damgaard" skrev
> <news:49f96ad6$0$90268$1472...@news.sunsite.dk>
>
> [ ... file 8737 ... ]
>
>> Hvorsan vil du eksekvere dine egne maskinkodeprogrammer ?

>> Er det gamle DOS programmer du h�ber man bare lige kan fuske
>> lidt med i "maskinkoden" og s� voila , s� k�rer det i linux ?
>

> �h ...


>
> Nej. Der er ikke tale om gamle DOS-programmer, fordi Win98 og fremefter
> gik over til at benytte 32-bit.
>

> S� de programmer (jeg �nsker at anvende) er designet i 32-bit
> maskinkode-systemet.

jo med DOS/windows/BIOS systemkald.
De programmer f�r du sv�rt ved at flytte til Linux, FreeBSD, Solaris mfl.

At de kunne k�re p� win9x skyldes jo at det stort set var DOS + en GUI
ovenp�.


> (Men bevares! Ogs� 64-bit �nsker jeg at programmere i. Det g�r jo endnu
> *hurtigere*.)

men 64 bit linux != 32 bit linux...

og det g�r ikke n�dvendigvis hurtigere, da 64 but programmer fylder mere
s� det vil afh�nge af opgaven om der er en hastighedsgevinst.


> Problemet har v�ret (som tidligere n�vnt) at f� tilladelse til at
> eksekvere
> disse programmer p� Windows2000 og XP, fordi der her er en masse
> sikkerhedsforanstaltninger samt know-how.
> Windows 98 var uden sikkerhedssokkel, s� her kunne man "hacke" sig ind
> igennem de �ndssvage p�-forh�nd-aftale-betydninger-af-talkoder (i


> filstart,
> hvor der reserveres plads i RAM-lagret osv.). Men denne "hackning" tog jo

> en skr�kkelig tid. Einem tidsr�ver ... :-(

Ja , i linux f�r du heller ikke lov at pille; Unix & Co var fra starten
lavet s� brugere ikke skulle kunne pille i kernel.
(derfor kom der ikke en rigtig "unix" til Intel f�r 386 CPU'en


da 8088/8086-80286 ikke havde hardwaren)

Og i DOS/windows kom den �benbaring f�rst med NT, 2000 og nyere,


da det var designet som CP/M til en lille simpel CPU
uden memorymanagement.


> H�ber at I vil v�re behj�lpelige med at anvise mig, hvordan jeg *lettest
> mulig* kan reservere plads i RAM-lagret p� Linux ved eksekvering af en
> program, samt oprettelse, l�sning og skrivning til filer.


> Har opdaget at Linux (vist nok) benytter INT 80 til denne subrutine,

> ikke sandt ? - Men hvad mere mht. EAX-v�rdien ?

se i et andet af mine svar i tr�den hvor der er nogle linkx.
eller skift til C eller bedre endnu m�ske et script sprog ?

>
> Har Linus (ligesom Windows) API-opkald ?

nej, han har n�ppe API kald ;)

Men du mener vel Linux.
Ja der er API.

De er ofte beskrevet/dokumenteret som C-funktionskald .
f.eks.:
NAME
open, creat - open and possibly create a file or device
SYNOPSIS
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);

int creat(const char *pathname, mode_t mode);
...snip...


> Eller hvordan fungerer systemet ?
>

> *Hvor* kan jeg l�se noget mere om INT 80 ?

Se det andet indl�g i tr�den jeg postede.

>>> I d�n henseende er Linux et *fleksibelt* system (pga. den �bne
>>> source-code), ...
> [ ... ]
>> N�r man laver C programmer med gcc s� findes der debug v�rkt�jer

>> til at hj�lpe med at finde fejl, f.eks. "gdb"


>>
>> Men jeg kan ikke se hvorfor du vil rode med maskinkode, det var

>> noget man gjorde p� sin Z80/Nascom i 1979, og senere i DOS n�r man


>> skulle pille i "lukket" kode som man ikke havde kildetekst til.
>> (og hvor BIOS/DOS API bestod af INT kald....)
>
>

> Det skyldes nok, at jeg er ved at blive en gammel "ged", der har sv�rt ved
> at l�re nyt, s� det bliver *for* anstrengende at l�re et

> h�jprogrammeringssprog i detaljer, blot for at kunne kunne l�se og skrive


> til filer og hertil have et stort RAM-lager.

Hvis du absolut vil programmere i linux, s� pr�v at bruge de simplere


scriptsprog. Det er nok en del lettere.

K�b evt. ogs� nogle b�ger om dette scriptsprog s� du kan l�re at anvende
det.

Eller m�ske du skulle holde dig fra Linux og andet nymodens,
(for Unix kom jo f�rst frem i ca. 1970, og Linux i 1991/1992)

=== citat slut, Frank Damgaard ===


(Jeg tror - for nemhedens skyld - at jeg besvarer denne min egen meddelse
(som et svar til dig), for du kommer jo ind p� nogle ret interessante ting)

Men lad os lige sl� en ting fast:


Disse filer bliver l�ngere og l�ngere, og mer' og mer' tidskr�vende.


D�t, jeg prim�rt er interesseret i, er, at finde en Disassembler og
Debugger.


Ang. Disassembler skrev "Peter Mogensen" bl.a. ...

<news:49f96699$0$90271$1472...@news.sunsite.dk>
>
[ ... file 8746 ... ]


>
> Jesus-loves-you wrote:
> >> De fleste distributioner inkluderer en disassembler.
> >> Installer den fra pakke-systemet.
> >
> > Hvad hedder de ?
>
> F.eks. "nasm"


Og ang. Disassembler/Debugger skrev "Kent Friis" ...

<news:49f9e975$0$90263$1472...@news.sunsite.dk>
>
[ ... file 8735 ... ]


>
> > Umiddelbart ser det ud som om, der her *kun* er tale om en assembler.
> > Jeg
> > har ogs� brug for disassembler og debugger for at se, *hvordan*
> > programmet
> > ter' sig, og evt. foretage �ndringer, forbedringer osv.
>
> gdb


Klogere er jeg desv�rre ikke blevet endnu
(men jeg har ikke n�rl�st alle meddelserne endnu pga. tidsmangel. Sorry).


Vi andre plejer normalt at sige fx. ...

C:\Programmer\Mozilla Thunderbird\thunderbird.exe

eller (hvis denne sti ikke findes) ...

C:\Programmer\Mozilla Thunderbird\thunderbird.exe

P� denne m�de kan vi hurtig guide en ukyndig person over telefonen.


Eksisterer et s�dant kommunikationssystem (eller noget tilsvarende) ikke
blandt Linux-folk ?


With kind regards,
Mogens Kall, The servant of Michael, the *fool* of Christ.
--
Coming up news: Iran hit by a meteor. Iran is no more (Jer.49,34- Jos.10,11)

Last OUTPUT: 08763 <news:49fa1192$0$90270$1472...@news.sunsite.dk>
Info <http://groups.google.com/group/dk.test/msg/0c2acbb0aa88edf8>
<http://groups.google.dk/group/no.kultur.folklore.ufo/>. File-number: 8764


Jesus-loves-you

unread,
Apr 30, 2009, 7:01:04 PM4/30/09
to
"Jesus-loves-you" skrev
8764 <news:49fa2837$0$90263$1472...@news.sunsite.dk>

>
> "Frank Damgaard" skrev
> <news:49f9b193$0$90276$1472...@news.sunsite.dk>
>
> >> Hvorsan vil du eksekvere dine egne maskinkodeprogrammer ?
> >> Er det gamle DOS programmer du h�ber man bare lige kan fuske
> >> lidt med i "maskinkoden" og s� voila , s� k�rer det i linux ?
> >
> > �h ...
> >
> > Nej. Der er ikke tale om gamle DOS-programmer, fordi Win98 og fremefter
> > gik over til at benytte 32-bit.
> >
> > S� de programmer (jeg �nsker at anvende) er designet i 32-bit
> > maskinkode-systemet.
>
> jo med DOS/windows/BIOS systemkald.
> De programmer f�r du sv�rt ved at flytte til Linux, FreeBSD, Solaris mfl.

Ja, jo, men sagen er, som jeg har pr�vet at forklare nogle gange
efterh�nden, at jeg blot har *interne* programmer k�rende.

Og de k�rer i 32-bit.

(Og nye programmer kan ogs� designes i 64-bit.)

S� alt hvad *jeg* skal bruge er blot nogle f� oplysninger om
operativsystemet, om hvordan man opretter, l�ser og skriver til en fil, samt
reservere plads i RAM-lagret.

That's all!

Sidenhen vil jeg s� gerne l�re meget mere om Linux, hvis jeg f�r tid.
Desv�rre er kr�fterne mine ved at slippe op, s� derfor er det meget "fikst"
at skyde *genvej* ved at sp�rge Jer andre, som jo har ret stor kompetance,
ikke sandt ?

>
> At de kunne k�re p� win9x skyldes jo at det stort set var DOS + en GUI
> ovenp�.
>

Som sagt k�rer jeg et *internt* system, hvor jeg s�dan set blot skal ha'
CPU-adgang.

>
> > (Men bevares! Ogs� 64-bit �nsker jeg at programmere i. Det g�r jo endnu
> > *hurtigere*.)
>
> men 64 bit linux != 32 bit linux...
> og det g�r ikke n�dvendigvis hurtigere, da 64 but programmer fylder mere
> s� det vil afh�nge af opgaven om der er en hastighedsgevinst.
>

Ja. det er selvf�lgelig soleklart.

Det er kun, n�r data'erne overstiger 32-bit (og s�ledes giver overflow), at
64-bit-systemet har sine fordele.

>
> > Problemet har v�ret (som tidligere n�vnt) at f� tilladelse til at
> > eksekvere
> > disse programmer p� Windows2000 og XP, fordi der her er en masse
> > sikkerhedsforanstaltninger samt know-how.
> > Windows 98 var uden sikkerhedssokkel, s� her kunne man "hacke" sig
> > ind igennem de �ndssvage p�-forh�nd-aftale-betydninger-af-talkoder (i
> > filstart, hvor der reserveres plads i RAM-lagret osv.). Men denne
> > "hackning" tog jo en skr�kkelig tid. Einem tidsr�ver ... :-(
>
> Ja , i linux f�r du heller ikke lov at pille; Unix & Co var fra starten
> lavet s� brugere ikke skulle kunne pille i kernel.

�h ...

Det var nu heller ikke lige d�t, jeg havde t�nkt mig.

Jeg m� ha' udtrykt mig *upr�cist*

D�t, jeg vil - hvis der havde v�ret tale om Win32 - er at foretage
API-opkald, hvorved subrutiner i kernel32 m.fl. *anvendes*, og alts� IKKE
*�ndres*

S� vidt jeg husker indeholder Kernel32.dll (i Windows) bl.a. CloseHandle,
CreateFileA, ExitProcess, OpenFile, ReadFile, SetFilePointer og WriteFile

Og udfra disse API-opkald er man faktisk i stand til at eksekvere sine egne
sm� programmer p� Windows-brugerfladen ... :-)

S� min tanke var jo, at der m� v�re noget *tilsvarende* i LinuxOS, ikke
sandt ?

�h ... (Download f�rdig) ...

Jeg skal til at teste igen, og m� afbryde kommunikationen for en stund.

See You later ... :-)

With kind regards,
Mogens Kall, The servant of Michael, the *fool* of Christ.
--
Coming up news: Iran hit by a meteor. Iran is no more (Jer.49,34- Jos.10,11)

Last OUTPUT: 8764 <news:49fa2837$0$90263$1472...@news.sunsite.dk>
Info <http://groups.google.com/group/dk.test/msg/0c2acbb0aa88edf8>
<http://groups.google.dk/group/no.kultur.folklore.ufo/>. File-number: 8765


Mads Bondo Dydensborg

unread,
May 1, 2009, 3:25:06 AM5/1/09
to
Jesus-loves-you wrote:


Hej "tankekonstruktion-elsker-dig" (sorry, kunne ikke lade v�re).

Hvis du kan l�se en smule engelsk, kan du evt. kigge her:

http://taufanlubis.wordpress.com/2008/02/13/programming-language-?-nasm-
assembly-language-in-linux/

Jeg tror han er lidt ligesom dig, fsva. det med at kode.

Jeg vil i�vrigt p� det st�rkeste frar�de at kode assembler under Linux med
mindre man kan lide smerte. Hvis du gerne vil have noget du kan flytte meget
nemt, s� brug "mono" til at kode med under Linux. Eller Python.

Det er rigeligt hurtigt, hvis du ikke ligefrem skal afkode h.264 i realtid,
eller lave opgaver der passer sig bedst for en supercomputer.

Mvh

Mads

--
Mads Bondo Dydensborg ma...@dydensborg.dk http://www.madsdydensborg.dk/

United States Patent 6,368,227:
A method of swing on a swing is disclosed, in which a user positioned on a
standard swing suspended by two chains from a substantially horizontal tree
branch induces side to side motion by pulling alternately on one chain and
then the other.
-- This is not a joke - go look it up.


Frank Damgaard

unread,
May 1, 2009, 7:05:25 AM5/1/09
to
Jesus-loves-you skrev:
> "Frank Damgaard" skrev
> <news:49f9b193$0$90276$1472...@news.sunsite.dk>
>
> [ ... file 8752 ... ]
>
> Øh ...

>
> Din brug af Thunderbird 2.0.0.21 (X11/20090318) bevirker, at man ikke
> automatisk kan indrykke '>' i originalteksten ved svar, hvilket desværre
> *besværliggør* kommunikation, da man nu ikke længere umiddelbart kan skelne

> mellem ny-tekst og gammel-tekst ... :-(

Jeg har lige prøvet i thunderbird og slrn (tekstbaserede) og begge
kan fint læse og svare på mine og andre indlæg.

Jeg ved heller ikke hvorfor din newsreader skriver "[ ... file 8752 ... ]" i citat.

Men måske din MS Outlook Expr. 6 ikke har fået OE-Quotefix installeret?

>
> Jeg forsøgte mig med Mozilla Thunderbird 1.0.7 (Windows/20050923) for nogle


> dage siden, og da kunne man godt!
>

> Så kanske T2 stadigvæk har denne mulighed, men at funktionen ikke er slået
> til automatisk ved opstart.

Thunderbird 2 kan også fint, men MS Outlook har jo også tilnavnet "Distress".

..... og groups.google.dk har da vist også kunnet læse det:
http://groups.google.dk/group/dk.edb.system.unix/browse_thread/thread/82d3ffb975708726?hl=da#

Frank Damgaard

unread,
May 1, 2009, 7:15:05 AM5/1/09
to
Jesus-loves-you skrev:
......

>>> Så de programmer (jeg ønsker at anvende) er designet i 32-bit


>>> maskinkode-systemet.
>> jo med DOS/windows/BIOS systemkald.

>> De programmer får du svært ved at flytte til Linux, FreeBSD, Solaris mfl.
>
> Ja, jo, men sagen er, som jeg har prøvet at forklare nogle gange
> efterhånden, at jeg blot har *interne* programmer kørende.
>
> Og de kører i 32-bit.
>
> (Og nye programmer kan også designes i 64-bit.)
>
> Så alt hvad *jeg* skal bruge er blot nogle få oplysninger om
> operativsystemet, om hvordan man opretter, læser og skriver til en fil, samt
> reservere plads i RAM-lagret
>
> That's all!

og du har fået massevis af links i mine indlæg og andres
til det.


>
> Sidenhen vil jeg så gerne lære meget mere om Linux, hvis jeg får tid.
> Desværre er kræfterne mine ved at slippe op, så derfor er det meget "fikst"
> at skyde *genvej* ved at spørge Jer andre, som jo har ret stor kompetance,
> ikke sandt ?

Jo , og svaret må være at Linux nok bliver en for stor mundfuld for dig
når du ikke vil lære noget om unix/linux og insisterer på at lave
dete hele i maskinkode/assembler.
Desværre er unix/linux lavet i C og API udtænkt i C.


>
>> At de kunne køre på win9x skyldes jo at det stort set var DOS + en GUI
>> ovenpå.
>>
>
> Som sagt kører jeg et *internt* system, hvor jeg sådan set blot skal ha'
> CPU-adgang.

tja, det kan en DOS boot diskette vel også.

>
>>> (Men bevares! Også 64-bit ønsker jeg at programmere i. Det går jo endnu


>>> *hurtigere*.)
>> men 64 bit linux != 32 bit linux...

>> og det går ikke nødvendigvis hurtigere, da 64 but programmer fylder mere
>> så det vil afhænge af opgaven om der er en hastighedsgevinst.
>>
>
> Ja. det er selvfølgelig soleklart.
>
> Det er kun, når data'erne overstiger 32-bit (og således giver overflow), at
> 64-bit-systemet har sine fordele.
>
>>> Problemet har været (som tidligere nævnt) at få tilladelse til at
>>> eksekvere
>>> disse programmer på Windows2000 og XP, fordi der her er en masse
>>> sikkerhedsforanstaltninger samt know-how.
>>> Windows 98 var uden sikkerhedssokkel, så her kunne man "hacke" sig
>>> ind igennem de åndssvage på-forhånd-aftale-betydninger-af-talkoder (i


>>> filstart, hvor der reserveres plads i RAM-lagret osv.). Men denne

>>> "hackning" tog jo en skrækkelig tid. Einem tidsrøver ... :-(
>> Ja , i linux får du heller ikke lov at pille; Unix & Co var fra starten
>> lavet så brugere ikke skulle kunne pille i kernel.
>
> Øh ...
>
> Det var nu heller ikke lige dét, jeg havde tænkt mig.
>
> Jeg må ha' udtrykt mig *upræcist*
>
> Dét, jeg vil - hvis der havde været tale om Win32 - er at foretage
> API-opkald, hvorved subrutiner i kernel32 m.fl. *anvendes*, og altså IKKE
> *ændres*

som user kan du lave visse standard API kald, men du får generelt ikke
lov at pille i kernel userspace eller ved hardware eller visse
CPU instruktioner.
Ligesom til dels i Vista (og evt. XP)

>
> Så vidt jeg husker indeholder Kernel32.dll (i Windows) bl.a. CloseHandle,


> CreateFileA, ExitProcess, OpenFile, ReadFile, SetFilePointer og WriteFile
>
> Og udfra disse API-opkald er man faktisk i stand til at eksekvere sine egne

> små programmer på Windows-brugerfladen ... :-)

ja i windows.


>
> Så min tanke var jo, at der må være noget *tilsvarende* i LinuxOS, ikke
> sandt ?

jo, jeg men API i unix og linux er generelt beskrevet som C-kald i dokumentationen
som normalt er installeret som man-pages i sektion 2:

open(), close() , creat(), read(), getc(),......


....

så du skal den omstændelige vej ud i selv at oversætte API kald til kerne eller lib's
til passende assembler eller maskinkode instruktioner.
Efter min mening langsommeligt og bøvlet og unødvendigt.


Peter Mogensen

unread,
May 1, 2009, 7:20:57 AM5/1/09
to
Jesus-loves-you wrote:
> Sidenhen vil jeg s� gerne l�re meget mere om Linux, hvis jeg f�r tid.


M� jeg - nok en gang - foresl� at du *f�rst* l�rer om Linux/UNIX og
*derefter* kaster dig ud til at tilg� systemkald fra assembler og/eller
kerneprogrammering?

Kent Friis

unread,
May 1, 2009, 12:44:20 PM5/1/09
to
Den Fri, 1 May 2009 00:37:31 +0200 skrev Jesus-loves-you:
> "Frank Damgaard" skrev
> <news:49f9b193$0$90276$1472...@news.sunsite.dk>
>
> [ ... file 8752 ... ]
>
> �h ...
>
> Din brug af Thunderbird 2.0.0.21 (X11/20090318) bevirker, at man ikke
> automatisk kan indrykke '>' i originalteksten ved svar, hvilket desv�rre
> *besv�rligg�r* kommunikation, da man nu ikke l�ngere umiddelbart kan skelne
> mellem ny-tekst og gammel-tekst ... :-(

Det er din Outlook Express der er defekt.

Kent Friis

unread,
May 1, 2009, 12:50:11 PM5/1/09
to
Den Fri, 1 May 2009 00:37:31 +0200 skrev Jesus-loves-you:
>
> Og ang. Disassembler/Debugger skrev "Kent Friis" ...
>
> <news:49f9e975$0$90263$1472...@news.sunsite.dk>
>>
> [ ... file 8735 ... ]
>>
>> > Umiddelbart ser det ud som om, der her *kun* er tale om en assembler.
>> > Jeg
>> > har ogs� brug for disassembler og debugger for at se, *hvordan*
>> > programmet
>> > ter' sig, og evt. foretage �ndringer, forbedringer osv.
>>
>> gdb
>
>
> Klogere er jeg desv�rre ikke blevet endnu
> (men jeg har ikke n�rl�st alle meddelserne endnu pga. tidsmangel. Sorry).
>
>
> Vi andre plejer normalt at sige fx. ...
>
> C:\Programmer\Mozilla Thunderbird\thunderbird.exe
>
> eller (hvis denne sti ikke findes) ...
>
> C:\Programmer\Mozilla Thunderbird\thunderbird.exe
>
>
>
> P� denne m�de kan vi hurtig guide en ukyndig person over telefonen.
>
>
> Eksisterer et s�dant kommunikationssystem (eller noget tilsvarende) ikke
> blandt Linux-folk ?

Vi har noget meget smartere. Det hedder PATH, og g�r at man ikke
beh�ver bekymre sig om hvor programmet ligger. Systemet kan selv
finde ud af det.

Windows har faktisk ogs� denne feature, den virker bare ikke som
tilt�nkt, fordi Microsoft dummede sig da de definerede hvordan
C:\Programmer skulle opbygges.

Kent Friis

unread,
May 1, 2009, 12:57:01 PM5/1/09
to
Den Fri, 01 May 2009 09:25:06 +0200 skrev Mads Bondo Dydensborg:
>
> Jeg vil i�vrigt p� det st�rkeste frar�de at kode assembler under Linux med
> mindre man kan lide smerte. Hvis du gerne vil have noget du kan flytte meget
> nemt, s� brug "mono" til at kode med under Linux. Eller Python.
>
> Det er rigeligt hurtigt, hvis du ikke ligefrem skal afkode h.264 i realtid,
> eller lave opgaver der passer sig bedst for en supercomputer.

Problemet er at han allerede *har* skrevet programmerne. I assembler. Og
90% af koden er ren CPU-gymnastik, der ikke burde volde problemer.

Det er de sidste 10% han mangler. Dem der skal l�se/skrive data'ene.
At l�se/skrive data'ene burde ikke v�re det store problem, hvis han
l�ser de links han allerede har f�et.

Lige den med at allokere RAM ville jeg til geng�ld n�dig kaste mig
ud i, brk() kan alts� ikke sammenligned med malloc() :-)

Adam Sjøgren

unread,
May 1, 2009, 1:25:03 PM5/1/09
to
On Fri, 1 May 2009 01:01:04 +0200, Jesus-loves-you wrote:

> S� alt hvad *jeg* skal bruge er blot nogle f� oplysninger om
> operativsystemet, om hvordan man opretter, l�ser og skriver til en fil, samt
> reservere plads i RAM-lagret.

> That's all!

Google er din ven. Og vores. Pr�v at l�se p�:

http://tldp.org/HOWTO/Assembly-HOWTO/

[...]


> Desv�rre er kr�fterne mine ved at slippe op, s� derfor er det meget "fikst"
> at skyde *genvej* ved at sp�rge Jer andre, som jo har ret stor kompetance,
> ikke sandt ?

Det virker som om du har sv�rt ved at forklare dig forst�eligt, s� m�ske
lidt egenresearch alligevel var p� sin plads?

Her er et link mere:

http://asm.sourceforge.net/

Det burde v�re l�sestof nok til en uge eller to.


Mvh.

--
"KOMPRESSOR crush american burger" Adam Sj�gren
as...@koldfront.dk

Thorbjørn Ravn Andersen

unread,
May 1, 2009, 1:59:40 PM5/1/09
to
Jesus-loves-you skrev:

> Med W32Dasm kan man ret hurtigt fᅵ et lille overblik over, hvad et aktuelt
> program foretager sig (herunder API-opkald), og evt. foretage *ï¿œndringer*!


>
>
> Findes der et tilsvarende program til Linux ?

gdb er nok det mest effektive til formï¿œlet. Kan det gï¿œres i en debugger
kan gdb kildes til at gï¿œre det.

Jeg kan forstᅵ du gerne vil holde dig pᅵ maskinkodeniveau - jeg vil
egentlig gerne hï¿œre hvorfor?

(normalt lader man en compiler om at lave maskinkoden ud fra fx C -
dette er begrundet i at det er meget, meget svï¿œrt at lave bedre
maskinkode end en god compiler OG at man fᅵr forᅵret at det kan kᅵre pᅵ
andre maskiner meget nemt).

Men, sig frem, hvilket *problem* er det du gerne vil lᅵse? ALtsᅵ hvad
skal dit program gï¿œre?

--
Thorbjï¿œrn Ravn Andersen "...plus... Tubular Bells!"

Thorbjørn Ravn Andersen

unread,
May 1, 2009, 2:15:03 PM5/1/09
to
Thorbjï¿œrn Ravn Andersen skrev:

> gdb er nok det mest effektive til formï¿œlet. Kan det gï¿œres i en debugger
> kan gdb kildes til at gï¿œre det.

Iï¿œvrigt kunne OpenSolaris godt vï¿œre et bedre bud til dig - der er nemlig
mulighed for at fange og logge kald til operativsystemet vha Dtrace som
er et genialt vï¿œrktï¿œj isï¿œr for sï¿œdan en som dig :)

Kent Friis

unread,
May 1, 2009, 2:17:23 PM5/1/09
to
Den Fri, 01 May 2009 20:15:03 +0200 skrev Thorbj�rn Ravn Andersen:
> Thorbj�rn Ravn Andersen skrev:
>
>> gdb er nok det mest effektive til form�let. Kan det g�res i en debugger
>> kan gdb kildes til at g�re det.
>
> I�vrigt kunne OpenSolaris godt v�re et bedre bud til dig - der er nemlig
> mulighed for at fange og logge kald til operativsystemet vha Dtrace som
> er et genialt v�rkt�j is�r for s�dan en som dig :)

Sammenlignet med strace?

Kent Friis

unread,
May 1, 2009, 2:18:48 PM5/1/09
to
Den Fri, 01 May 2009 19:59:40 +0200 skrev Thorbj�rn Ravn Andersen:
> Jesus-loves-you skrev:
>
>> Med W32Dasm kan man ret hurtigt f� et lille overblik over, hvad et aktuelt
>> program foretager sig (herunder API-opkald), og evt. foretage *�ndringer*!

>>
>>
>> Findes der et tilsvarende program til Linux ?
>
> gdb er nok det mest effektive til form�let. Kan det g�res i en debugger
> kan gdb kildes til at g�re det.
>
> Jeg kan forst� du gerne vil holde dig p� maskinkodeniveau - jeg vil
> egentlig gerne h�re hvorfor?

Det er det eneste sprog han kan.

> (normalt lader man en compiler om at lave maskinkoden ud fra fx C -

> dette er begrundet i at det er meget, meget sv�rt at lave bedre
> maskinkode end en god compiler OG at man f�r for�ret at det kan k�re p�
> andre maskiner meget nemt).

Programmet er allerede skrevet. Eller de 90% af det er. Han mangler bare
at kunne l�se/skrive data'ene.

Mads Bondo Dydensborg

unread,
May 1, 2009, 2:22:40 PM5/1/09
to
Kent Friis wrote:

> Problemet er at han allerede *har* skrevet programmerne. I assembler. Og
> 90% af koden er ren CPU-gymnastik, der ikke burde volde problemer.

Hvad med freedos i en qemu i stedet s�?

Mvh

Mads

The fact is that far more crime and child abuse has been committed by
zealots in the name of God, Jesus and Mohammed than has ever been committed
in the name of Satan. Many people don't like that statement, but few can
argue with it.
- Kenneth V. Lanning, Supervisory Special Agent at the Behavioral Science
Institution and Research Unit of the FBI Academy (from Carl Sagan's, The
Demon-Haunted World)


Kent Friis

unread,
May 1, 2009, 2:29:42 PM5/1/09
to
Den Fri, 01 May 2009 20:22:40 +0200 skrev Mads Bondo Dydensborg:
> Kent Friis wrote:
>
>> Problemet er at han allerede *har* skrevet programmerne. I assembler. Og
>> 90% af koden er ren CPU-gymnastik, der ikke burde volde problemer.
>
> Hvad med freedos i en qemu i stedet s�?

S� har han vel ikke brug for Linux?

Thorbjørn Ravn Andersen

unread,
May 1, 2009, 2:51:37 PM5/1/09
to
Kent Friis skrev:

> Den Fri, 01 May 2009 20:15:03 +0200 skrev Thorbjï¿œrn Ravn Andersen:
>> Thorbjï¿œrn Ravn Andersen skrev:
>>
>>> gdb er nok det mest effektive til formï¿œlet. Kan det gï¿œres i en debugger
>>> kan gdb kildes til at gï¿œre det.
>> Iï¿œvrigt kunne OpenSolaris godt vï¿œre et bedre bud til dig - der er nemlig
>> mulighed for at fange og logge kald til operativsystemet vha Dtrace som
>> er et genialt vï¿œrktï¿œj isï¿œr for sï¿œdan en som dig :)
>
> Sammenlignet med strace?

Tjoh, en af dem der lavede skrev fᅵlgende pᅵ
http://blogs.sun.com/ahl/entry/dtrace_for_linux :

"Perhaps you're right about these specific examples, but DTrace lets you
do far more than strace and ltrace. For example, you can mix data from
the kernel, system libraries and Java in a single stream as I describe
here. You can't do that in Linux or on any other operating system for
that matter. And that's just one example. "

Om sᅵ strace eller dtrace passer Mogens bedst, kan jeg ikke vurdere.
Jeg har bare konstateret at det kan nogen fikse ting, som evt kunne vï¿œre
en hjï¿œlp.

Kent Friis

unread,
May 1, 2009, 5:59:42 PM5/1/09
to
Den Fri, 01 May 2009 20:51:37 +0200 skrev Thorbj�rn Ravn Andersen:
> Kent Friis skrev:
>> Den Fri, 01 May 2009 20:15:03 +0200 skrev Thorbj�rn Ravn Andersen:
>>> Thorbj�rn Ravn Andersen skrev:
>>>
>>>> gdb er nok det mest effektive til form�let. Kan det g�res i en debugger
>>>> kan gdb kildes til at g�re det.
>>> I�vrigt kunne OpenSolaris godt v�re et bedre bud til dig - der er nemlig
>>> mulighed for at fange og logge kald til operativsystemet vha Dtrace som
>>> er et genialt v�rkt�j is�r for s�dan en som dig :)
>>
>> Sammenlignet med strace?
>
> Tjoh, en af dem der lavede skrev f�lgende p�
> http://blogs.sun.com/ahl/entry/dtrace_for_linux :
>
> "Perhaps you're right about these specific examples, but DTrace lets you
> do far more than strace and ltrace. For example, you can mix data from
> the kernel, system libraries and Java in a single stream as I describe
> here. You can't do that in Linux or on any other operating system for
> that matter. And that's just one example. "

Jeg har ikke indtryk af at der er planer om at inkludere system
libraries - og Java giver ingen mening i assembler-sammenh�ng.

Martin M. S. Pedersen

unread,
May 2, 2009, 2:04:11 AM5/2/09
to
Jesus-loves-you wrote:

> Har Linus (ligesom Windows) API-opkald ?
>
> Eller hvordan fungerer systemet ?
>
> *Hvor* kan jeg l�se noget mere om INT 80 ?
>

L�s denne bog. Bagefter vil du vide en masse om maskinkode p� en Linux.
http://download.savannah.gnu.org/releases/pgubook/ProgrammingGroundUp-1-0-booksize.pdf

Mvh
Martin

Martin M. S. Pedersen

unread,
May 2, 2009, 2:08:57 AM5/2/09
to
Jesus-loves-you wrote:

> Umiddelbart ser det ud som om, der her *kun* er tale om en assembler. Jeg
> har ogs� brug for disassembler og debugger for at se, *hvordan* programmet
> ter' sig, og evt. foretage �ndringer, forbedringer osv.
>

L�s
http://download.savannah.gnu.org/releases/pgubook/ProgrammingGroundUp-1-0-booksize.pdf

Mvh
Martin

Peter Dalgaard

unread,
May 2, 2009, 3:05:20 AM5/2/09
to
On Sat, 02 May 2009 08:04:11 +0200, Martin M. S. Pedersen wrote:

> Jesus-loves-you wrote:
>
>> Har Linus (ligesom Windows) API-opkald ?
>>
>> Eller hvordan fungerer systemet ?
>>

>> *Hvor* kan jeg læse noget mere om INT 80 ?
>>
>>
> Læs denne bog. Bagefter vil du vide en masse om maskinkode på en Linux.
> http://download.savannah.gnu.org/releases/pgubook/
ProgrammingGroundUp-1-0-booksize.pdf
>
> Mvh
> Martin


Hey, den ser da ikke ringe ud! Findes også som rigtig bog:

http://www.amazon.co.uk/Programming-Ground-Up-Jonathan-Bartlett/
dp/0975283847/


--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dal...@biostat.ku.dk) FAX: (+45) 35327907

Mads Bondo Dydensborg

unread,
May 3, 2009, 1:56:32 PM5/3/09
to
Kent Friis wrote:

> Den Fri, 01 May 2009 20:22:40 +0200 skrev Mads Bondo Dydensborg:
>> Kent Friis wrote:
>>
>>> Problemet er at han allerede *har* skrevet programmerne. I assembler. Og
>>> 90% af koden er ren CPU-gymnastik, der ikke burde volde problemer.
>>
>> Hvad med freedos i en qemu i stedet s�?
>
> S� har han vel ikke brug for Linux?

Nej, men heller ikke Windows/MSDOS :-)

Mvh

Mads

No rational argument will have a rational effect on a man who does not want
to adopt a rational attitude.
- Karl Popper


Jesus-loves-you

unread,
May 9, 2009, 5:57:59 AM5/9/09
to
"Jesus-loves-you" skrev ...

8733 <news:49f8b7d6$0$90267$1472...@news.sunsite.dk>
<http://groups.google.com/group/dk.edb.system.unix/msg/8f9e4b661423b7a0>


>
> Dengang kun DOS eksisterede, kunne man debugge et com- eller exe-program
> med debug.com eller debug.exe
>
> P� tilsvarende vis findes der til Windows 98 operativ-systemet en
> Disassembler/Debugger kaldet W32Dasm.

[ ... ]


> Med W32Dasm kan man ret hurtigt f� et lille overblik over, hvad et aktuelt
> program foretager sig (herunder API-opkald), og evt. foretage *�ndringer*!
>
>
> Findes der et tilsvarende program til Linux ?


Faldt lige over denne ...
<http://www.hex-rays.com/idapro/>
... da jeg s�gte p� Internettet (for nogel dage siden).

Programmet (som virker b�de p� MS og unix OS p� en og samme tid) kan
downloades fra ...

IDA Pro 5.4 demo,
evaluate a limited version of our disassembler (posted 04/2009)
<http://85.17.92.154/files/idademo54.exe>
(26,4 MByte)

IDA Pro 4.9 Freeware,
free for non-commercial use. (posted 02/11/2007)
<http://85.17.92.154/files/idafree49.exe>
(15,3 MByte)


Den ser interessant ud, men har endnu ikke haft tid til s�dan rigtig at
"lege" med den.

Er der nogen af Jer, som har gjort Jer erfaringer med den (gode som
d�rlige) ?


With kind regards,
Mogens Kall, The servant of Michael, the *fool* of Christ.
--
Coming up news: Iran hit by a meteor. Iran is no more (Jer.49,34- Jos.10,11)

Last OUTPUT: 8768 <news:4a054f68$0$90266$1472...@news.sunsite.dk>
Info <http://groups.google.com/group/dk.test/msg/0c2acbb0aa88edf8>
<http://groups.google.dk/group/no.kultur.folklore.ufo/>. File-number: 8769


Kent Friis

unread,
May 9, 2009, 8:33:01 AM5/9/09
to
Den Sat, 9 May 2009 11:57:59 +0200 skrev Jesus-loves-you:
> "Jesus-loves-you" skrev ...
>
> 8733 <news:49f8b7d6$0$90267$1472...@news.sunsite.dk>
> <http://groups.google.com/group/dk.edb.system.unix/msg/8f9e4b661423b7a0>
>>
>> Dengang kun DOS eksisterede, kunne man debugge et com- eller exe-program
>> med debug.com eller debug.exe
>>
>> P� tilsvarende vis findes der til Windows 98 operativ-systemet en
>> Disassembler/Debugger kaldet W32Dasm.
> [ ... ]
>> Med W32Dasm kan man ret hurtigt f� et lille overblik over, hvad et aktuelt
>> program foretager sig (herunder API-opkald), og evt. foretage *�ndringer*!
>>
>>
>> Findes der et tilsvarende program til Linux ?
>
>
> Faldt lige over denne ...
> <http://www.hex-rays.com/idapro/>
> ... da jeg s�gte p� Internettet (for nogel dage siden).
>
> Programmet (som virker b�de p� MS og unix OS p� en og samme tid) kan
> downloades fra ...

Det er sg* godt klaret (af et program der ikke distribueres som
source). Hvor mange OS er det lige der er i kategorien "unix OS"?

Reply all
Reply to author
Forward
0 new messages