Author Topic: 16 bit VB Dongle Apz  (Read 2566 times)

Master

  • [t4C]newbie child
  • VIP
  • *****
  • Posts: 615
Re: 16 bit VB Dongle Apz
« Reply #15 on: February 27, 2006, 07:14:11 AM »
Zkus jinaci driver studio napříkald 3.2 a k nemu specialni dat soubor.Jestli,se ozvi na icq,vysvetlim podrobneji.Mel sem s tim taky problemy.Pak to kdy?tak sepí?u i sem.

BlackRose

  • [CSCF]
  • Newbie
  • ***
  • Posts: 24
Re: 16 bit VB Dongle Apz
« Reply #16 on: February 27, 2006, 07:51:16 AM »
DS3.2 mám, ale na W98 se nechce instalovat a odkáže na starší verzi. 2.7 mám přímo v balíku DS.
Po chvilce bádání na RCE fóru jsem zjistil co a jak. Takže jsem to jaksi-taksi v noci rozjel - SoftIce okno vyběhne, ale jen pokud jedu v modu 640x480 při 16barvách :(

Teď si jen vzpomenout/nastudovat jak se v SI dělá:)

Master

  • [t4C]newbie child
  • VIP
  • *****
  • Posts: 615
Re: 16 bit VB Dongle Apz
« Reply #17 on: February 27, 2006, 03:23:44 PM »
Jo,taky se k nemu vracim :) a sna?im se ho nejak nakonfigurovat.Ale porad mi nejdou funkce hWnd a bmsg

BlackRose

  • [CSCF]
  • Newbie
  • ***
  • Posts: 24
Re: 16 bit VB Dongle Apz
« Reply #18 on: February 28, 2006, 07:27:03 AM »
Hm, tak o těchto funkcích jsem neslyšel.Asi to bude tím, že jsem SI nikdy vlastně pořádně nepoužíval. Nainstaloval jsem si ho jako naprostá láma a vcelku brzo odinstaloval, když jsem zjistil že se "asi nemá rád s AVG" :)
Tak jsem začal s Ollym a u něj už zůstal...

BlackRose

  • [CSCF]
  • Newbie
  • ***
  • Posts: 24
Re: 16 bit VB Dongle Apz
« Reply #19 on: March 08, 2006, 12:58:03 PM »
Hm, tak SI pod VMware beha, uz jsem s nim i trochu seznamil. Mam ted jiny problem:
Nema nekdo po ruce symboly pro 16bit. VBRun300.dll a popis 16bit. VB3 P-Code?
Nejak se v tom gulasi nemuzu vyznat.
BlackRose

BlackRose

  • [CSCF]
  • Newbie
  • ***
  • Posts: 24
Re: 16 bit VB Dongle Apz
« Reply #20 on: March 10, 2006, 11:29:13 AM »
Tak se jdu podělit se zkušenostma a požádat o radu jak dál:
1. Na W2K v Ollym jsem zjistil, že se nahrává 32bit knihovna haspvdd.dll. Z ní se volají jen 2 fce VDDInitialize a CALLNEWVDDHASP. Ten init pouze zavírá otevřený soubor. Ta druhá funkce je lepší - ta už dostává nějaký data. Data ale nejsou ve formátu, jak je popisovaný pro jednotlivé fce Haspu.
Z HASP emulátoru vím, že 16bApp volá funkce 1 a 5, já ale přímo v parametrech na stacku tohle číslo nevidím. Jediné, co dokážu najít je Pas1 a Pas2 jak mi je zobrazil HASP emulátor. Ty leží v paměti, na níž se odkazuje jeden z parametrů na stacku, ale na offsetu 0x6A.

2. Z dekompilátu, který mi poslal DARKER vím, že z 16bit VB app se volá přímo knihovna haspmsw3 a z ní se používají 3 fce (jak ostatně popsal výše). Tato knihovna je ale taky 16bit :(
Moc moudrý z disassemblingu té dll nejsem, ale připadá mi, že haspseg a haspoff nemají moc velký význam. Důležitější mi přijde fce CallHASPRoutine. Té se předává jeden parametr - pointer na 10ti prvkové pole. VB app do pole zakóduje 9 parametrů pro HASP (vypadají, že odpovídají popisu parametrů HASP API funkcí). HASPMSW3.DLL to dekóduje zpět na 9 parametrů, ale pak jsem zmaten. Co vlastně dál volá? Jak předává Ty parametry. A proč do haspvdd.dll to dorazí v takovým divným formátu. A jaký je to vlastně formát?

3. Chtěl jsem na virtuálních w98 tu haspmsw3 knihovnu trasovat. Jenže nevím, jak se k ní dostat. Dal jsem bpx loadlibrary, spustil app a tak dlouho pokračoval v běhu app, až mi SI napsalo Load16:haspmsw3 ...adresa apod. Ja ale nevim, jak se na tu adresu dostat!!! Navic mi ani SI nechtel zobrazit exporty te haspmsw3.dll (v symbol loaderu jsem ji přidal). ???

4. Zkoušel jsem misto 16 bit haspmsw3.dll podvrhnout 32bit vlastní, ale to mi nejde :(

Pokud by někdo věděl jak dál nebo chtěl i podrobnější info, dejte vědět.

BlackRose
« Last Edit: March 10, 2006, 12:47:57 PM by BlackRose »

arox

  • Guest
Re: 16 bit VB Dongle Apz
« Reply #21 on: December 09, 2006, 09:45:51 PM »
i can't download, why ? :(

BlackRose

  • [CSCF]
  • Newbie
  • ***
  • Posts: 24
Re: 16 bit VB Dongle Apz
« Reply #22 on: January 31, 2007, 10:17:21 AM »
Ad 4.
Misto 16bit haspmsw3.dll jsem podvrhnul vlastni 16bit DLL, mocnym pomocnikem mi pri tom byl Open Watcom C compilator (balik obsahuje i priklad zdrojaku 16bit DLL) a Visual Basic 3 (dobrej kamos google) na testovaci aplikaci.
Takze jsem si podle dekompilovanych zdrojaku napsal "vlastni HASP ovladac", ktery vraci to, co aplikace akceptuje.
Do nej jsem pripsal i moznost logovani vsech volani, coz mi pomohlo lokalizovat veskera volani HASP v kodu a take nahodna volani. Autor se zjevne pokousi zanest sum do komunikace. Jen to mel udelat poradne: pokud vygeneruje nahodne parametry jen jednou a s temi nekolikrat provede volani do HASPu, je to na logu hezky videt :)
Problem s takovou knihovnou byl ale ten, ze ji aplikace neakceptovala. Provadela totiz kontrolu existence teto knihovny a dale overovala jeji velikost a CRC16.
Tady prisel na radu patch. Pred nim ale opet testovaci aplikace, ve ktere bylo nutno zjistit co presne zmenit a na co.
Tudiz aplikace ted uz funguje a bez HASPu :)

Pred nedavnem se mi dostala do ruky i novejsi verze aplikace. Patchnul jsem ji jako tu prechozi verzi, podhodil vlastni haspmsw3.dll, ale bez vysledku. Tak jsem se po dekompilaci a nekolikadennim zkoumani dozvedel, ze byl zmenen zpusob overovani HaspID - volalo se nekolik funkci, ktere z datoveho souboru s priponou DLL tahaly informaci o datu platnosti daneho typu klice a overovali take validitu jeho ID.
Vzhledem k tomu, ze se tam zacala plantat DES, radej jsem to vzdal, a pomohl si dalsim patchem a aplikace zase jede :)

BlackRose

llAmElliK

  • [TiME4CRiME]
  • Administrator
  • VIP
  • *****
  • Posts: 960
Re: 16 bit VB Dongle Apz
« Reply #23 on: February 18, 2007, 01:21:30 PM »
Cuus,

teprve ted jsem si vsimnul tohodle prispevku - nechce se ti "najit cas" a neco o tom napsat??ci to nejak bliz popsat tady?
Dikes
TiME AND CRiME ARE ETERNAL-REVERSE ENGINEERiNG iS MODERN PHiLOSOPHY AND iSN'T CRiME
[TiME4CRiME]