Wyłuskanie subVI z exe'ka

Tematyka związana z Aplication Builderem oraz tworzeniem wersji exe programów w LabVIEW. Problemy związane z instalatorem programów oraz ich zabezpieczaniem.
ziajek444
Posty: 4
Rejestracja: 04 lip 2017 08:53
Wersja środowiska: LabVIEW 2016

Wyłuskanie subVI z exe'ka

Post autor: ziajek444 »

Jak wyłuskać ze skompilowaniego programu exe (stworzonego w Labview na windows) działające w nim subVi?
Przykładowo, stworzony program main.vi ma zawartą w sobie subVi któa ma pola tekstowe. Ja ten program exportuje do Main.exe i teraz innym programem napisanym w Labview chce dostać się do tych pól tekstowych (kontrolek) i odczytać ich zawartości lub zmienić je z poziomu tego programu.
Awatar użytkownika
dajpanspokój
Posty: 145
Rejestracja: 05 lis 2015 08:15
Wersja środowiska: LabVIEW 2016

Re: Wyłuskanie subVI z exe'ka

Post autor: dajpanspokój »

Wyciaganie subvi z binarnego pliku to jest jakies totalne hakowanie i jesli to jest mozliwe to musialbys poszukac w jakichs bardzo ciemnych zakatkach internetow:)
Jak pracowalem jako tester aplikacji labview, to sobie pomoglem piszac apke w labview, ktora steruje myszka, klika na przyciski, wpisuje cos w pola, kopiuje z innych pol i sprawdza czy to co tam jest napisane jest zgodne z prawda.
Uzywalem do tego AutoIt https://www.autoitscript.com/site/autoit/downloads/, które mozna wywolywac z aplikacji labview.
Po zainstalowaniu uruchom vi, ktory zalaczylem.

W twoim przypadku, aplikacja, która stworzysz otworzy exe, przesunie myszke w miejsce x,y (tam gdzie jest kontrolka tekstowa), kliknie, wywola wciskanie klawiszy na klawiaturze, przesunie myszke na druga kontrolke tekstowa, zaznaczy wszystko (ctrl+a), potem skopiuje (ctrl+c), potem odczyta tekst ze schowka i w ten sposob dostaniesz sie do tekstu w kontrolce.
Załączniki
AutoIt Example.vi
(21.35 KiB) Pobrany 548 razy
Obrazek
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Wyłuskanie subVI z exe'ka

Post autor: jogurt_owocowy »

ziajek444
Posty: 4
Rejestracja: 04 lip 2017 08:53
Wersja środowiska: LabVIEW 2016

Wyłuskanie subVI z exe'ka

Post autor: ziajek444 »

'dajpanspokój' rozbawiłeś mnie. Przejrzę twoję rozwiązanie, tak samo jak 'jogurta'. Mimo to najpierw napisze jak to rozwiązałem. Nie mam dostępu do kodu aplikacji którą muszę 'hakować' ale skoro jest exekiem skompilowanym w LV, to musi mieć plik .ini .
Do pliku .ini dopisałem dwie linijki, jedną włączającą nasłuch programu i drugą ustawiającą port. (Ważne jest aby plik .ini i plik .exe miały tą samą nazwę).
Po włączeniu programu mam otwarty port.
Teraz druga część. W programie sterującym połączyłem się lokalnie (na tym samym komputerze) przez określony port. LV ma funkcję otwierającą aplikację która zwraca referencję to tego pliku. Takową referencję przekazałem do funkcji która łączy się z subVI, podałem w niej nazwę subVI którą chciałem wyłuskać. Otrzymując w ten sposób referencję do tej subVI. Reszta to już tylko property node. Wuala.

btw. Dzięki za pomoc, Bardzo przyjazne komunity jest na tym forum.
I jeszcze jedna sprawa, jak bym nie rozwiązał tego, to bym sięgnął po czarną magię. Czyli c++. Stamtąd można dostać się wszędzie, hehe :D . (Serio :| )
Awatar użytkownika
dajpanspokój
Posty: 145
Rejestracja: 05 lis 2015 08:15
Wersja środowiska: LabVIEW 2016

Wyłuskanie subVI z exe'ka

Post autor: dajpanspokój »

Nice, jestem glupi i nie wiedzialem ze tak sie da. Super sprawa do testowania aplikacji!
Obrazek
ODPOWIEDZ