2005 versie van de CD-Foongids

Hallo ontwikkelaars,

De versie 2005 wordt nog niet ondersteund. Er was in dit forum nog geen onderwerp met deze naam (nu wel :slight_smile: ).
Ik ben benieuwd of er al bekend is waar de problemen met de nieuwe versie zitten en of deze op te lossen zijn.

Groet,
None

[quote=“None”]Hallo ontwikkelaars,

De versie 2005 wordt nog niet ondersteund. Er was in dit forum nog geen onderwerp met deze naam (nu wel :slight_smile: ).
[/quote]

misschien niet met exact dezelfde naam, maar wel Ă©Ă©n met dezelfde strekking: http://forums.virtualconspiracy.com/foondump/viewtopic.php?t=93

Hoi XIM,

Voor mij geldt dat ik eerst graag de online versie aan de praat wil hebben. Het Europese arrest geeft m.i. ook de mogelijkheden om telefoonnummers online bij te houden.

De vriendelijke groet Jan Marco

De nieuwe CD-foon is door een ander bedrijf gemaakt. Iedere ‘content-publisher’ die een naslagwerk-op-CD gaat produceren loopt tegen dingen aan die elkaar eigenlijk bijten, namelijk verzamelde gegevens publiceren=openbaarmaken en tegelijkertijd voorkomen dat de waarde van die verzameling tot nul daalt omdat iedereen er mee aan de haal gaat. Daarbij komt nog dat hij de gehele inhoud (in dit geval) op een enkel schijfje moet zien te passen. Iedere producent pakt zo’n opdracht weer anders aan, deze ook en dus is de 2005/2006-cd anders ingericht dan de voorgaande uitgaven.

Er zijn een aantal wegen waarlangs een hacker, een wederverkoper
http://dataalmanac.com/Countries/Europe/netherlands.htm
of zomaar een leergierig iemand zich alsnog toegang kan verschaffen tot de samengeperste en versleutelde inhoud van deze cd-rom:

    1) met alle middelen die hij heeft proberen te doorgronden hoe de 'compressie', 'encryptie' en 'indexering' van de Cd-foon nu werkt 2) in plaats vanaf de CD zou hij de gegevens in bulk kunnen gaan ophalen bij de webserver van dezelfde uitgever 3) hij kan deze CD negeren en de aandacht op een andere telefoonnummer-CD richten, bijv. de Nationale Telefoongids 4) hij gaat proberen te begrijpen "hoe het gedaan is" door naar oudere uitgaven van dezelfde producent te kijken 5) idem "lateraal" door andere actuele titels van deze producent aan een onderzoek te onderwerpen

(vervolg)

De eerstgenoemde aanpak uit het vorige deel van de posting, 1) is misschien niet de slimste maar wel de meest gerespecteerde methode.

Als ridder van de tafelronde zoeken naar de heilige graal: de bestandsorganisatie van de telefoonnummer-cd. Inmiddels al een traditie, net zolang zoeken tot je de database van buitenaf kan lezen, dus buiten het bijgeleverde zoekprogramma om. Zie bijvoorbeeld dit
http://www.win.tue.nl/~aeb/ptt_verhaal][u]verslag[/u
van Rene Wonnink, een van de helden die dat voorelkaar kregen.

  1. is technisch simpeler dan menigeen denkt maar er kleven bezwaren aan. Als hij dat in z’n eentje doet zal het lang gaan duren en de kans is groot dat deze of gene er een stokje voor gaat steken als die gaandeweg de operatie een blik in de server-logs werpt.

  2. minder verrijkt maar wel compleet, de nummerdatabase wordt immers verplicht uitgewisseld, over de kwaliteit daarvan: inmiddels heeft de uitgever een
    http://www.goudengids.nl/static05.asp?pg=pers_2004_contractkpn.html][u]samenwerkingsovereenkomst[/u
    gesloten met de grote broer.

(vervolg)

  1. C-Content, de producent van CD-foon 2005/2006, was eerder de maker van de Nationale Telefoongids. In de uitgave van voorjaar 2001 zat een nieuwe optie “Alles selecteren”. Als je alles selecteerde, maximaal een van de 26 regio’s, bijv. heel Amsterdam, dan werd je gewaarschuwd: u kan wel alles selecteren maar u kunt maar 50 items exporteren of afdrukken. Was je eigenwijs en kopieerde je de hele selectie naar het clipboard dan duurde het wel even maar uiteindelijk kon je de hele bups wel in een tekstbestand kieperen. In de najaarsversie was het weer dichtgetimmerd maar als je het gerepareerde zoekprogramma verving door de versie met het lek dan kon je nieuwe data gewoon weer kopiĂ«ren. Daarna was het afgelopen, de opdracht ging naar een ander bedrijf.

De les: in principe zou je beide versies van dat bewuste zoekprogramma van destijds tegen het licht kunnen houden onder het motto, zoek de verschillen en daarna kijken of het huidige programma op de CD-foon 2005/2006 op dat punt ook kwetsbaar is. Maar hou in het oog dat in “de Telefoongids” maar mondjesmaat geselecteerd kan worden. In het roze katern (“Bedrijvengids”) bijvoorbeeld wel op een complete rubriek voor heel Nederland.

Zo vergezocht is het echt niet, ga maar es naar de map “[cd]:\Install\program files\De Telefoongids\CD-foongids” en klik met de rechtermuisknop op “cdserv32.dll”
 Bij ‘Eigenschappen/Properties’ zie je dan staan: “Special Build Description - Gouden Gids CD-Rom - Nationale Telefoongids version”.

Dit is dus op de cd-rom die speciaal gemaakt is voor “de Telefoongids BV”. Het bewuste onderdeel dateert ook uit de tijd dat C-Content nog wel voor deze concurrent werkte.

(vervolg)

  1. dat ding, “cdserv32.dll” is ook op andere cd-roms van C-Content te vinden, zoals op die met de “van Dale”-woordenboeken en op de titel “MarktSelect-DM-CD”. Het vervult een centrale rol, zo centraal zelfs dat je het zichtbare deel van het zoekprogramma ook in een willekeurige andere programmeertaal kan maken, op de laatstgenoemde CD is gekozen voor “Visual Basic”. Dat maakt het voor degene die de bestanden op zo’n cd-rom probeert te ontsluiten een stuk eenvoudiger om te volgen hoe het nou werkt, dat zoekmechanisme


Start als je het hebt VB op en voeg “IndexSet.ocx” toe aan de “References/Components” van je nieuwe testproject. Dit staat in de DM-CD-folder van je MarktSelect-cdrom, ook al heb je je alleen maar de gratis Demo-CD laten toesturen. Deze “IndexSet.ocx” communiceert rechtstreeks met de eerdergenoemde “cdserv32.dll”. Ga met F2 naar VB’s “Object Browser” voor een overzicht, dus hoe moet je die ‘control’ eigenlijk in je eigen programma gebruiken. Dan zal het niet lang duren of je hebt ook iets gewrocht zoals dit:

Sub Test() With dmIndexSet1 .EncryptionKey = "####" ' deze key - vier cijfers - maar even niet ' zomaar leesbaar in een forum-post .DataDir = "D:\DATA" .IndexSet = "BIK" Debug.Print .SchemaHandle Debug.Print .CDSHandle Debug.Print .Name End With End Sub

Een mooi relaas, Weerman!

Detail: het verslag waarnaar je verwijst is geschreven door Prof. Andries Brouwer. Wel haalt hij Rene Wonnink aan.

Ook mijn aandacht ging al een tijdje uit naar cdserv32.dll.
Even zoeken op strings in deze binary levert onder meer veelvuldige referenties naar source bestanden in een directory genaamd ::\GoudenGids\source\W_PATCHED\cdserver\ op :smiley:

Andere leuke strings die nog wat leuke informatie geven voor wie zich met methode #1 wil bezighouden:

%s.dct Error opening decompression file %s
%s.ftb Error opening filter file %s
cdsearch.cfg Error reading configuration file

inflate 1.1.3 Copyright 1995-1998 Mark Adler
deflate 1.1.3 Copyright 1995-1998 Jean-loup Gailly

En de mooiste string uit deze DLL : “NOT A RELEASE VERSION”

Hoi Weerman, RGJ,

Een mooi relaas, Weerman!

Helemaal mee eens —)

RGJ, Je kan toch een dll als “cdserv32.dll” aansturen vanuit Visual C als je weet welke public procedures de dll heeft?

inflate 1.1.3 Copyright 1995-1998 Mark Adler
http://www.opensource.apple.com/darwinsource/10.1/zlib-5/zlib/inftrees.c

deflate 1.1.3 Copyright 1995-1998 Jean-loup Gailly
http://www.opensource.apple.com/darwinsource/10.1.1/zlib-5/zlib/deflate.c

De vriendelijke groet Jan Marco

Ja, en het leven wordt nog mooier: die procedurenamen staan in de DLL zelf. Het raadwerk begint dan echter bij het vinden van de parameters en de juiste types. Zeker wanneer er pointers naar recordtypes (structs) doorgegeven worden, is dit heel erg lastig.

Soms is het zelfs makkelijker om de bestanden zelf maar uit te gaan lezen. Het is vaak eenvoudiger om zelf iets interpreteren, dan andermans interpretatie/model (de API in de DLL) uit gaan puzzelen en te hopen dat jouw interpretatie van het model precies klopt.

deflate_() functies zijn heel erg lowlevel. Daar heb je niet zoveel aan, het is eenvoudig genoeg om die zelf ook in je code in te linken (vroeger deden we dat zelf ook).

Hoi RGJ,

Zelf denk ik aan http://www.codeproject.com/system/hooksys.asp en het op Linux Wine zetten om er achter te komen hoe het werkt.

De vriendelijke groet Jan Marco