 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
FloSoft
Anmeldungsdatum: 22.04.2005 Beiträge: 3
|
Verfasst am: 22.04.2005, 12:04 Titel: Aus P-Code Basic-Code wiederherstellen? |
|
|
Hallo,
kennt von euch jemand ein Programm mit dem man aus der "kompilierten" QBasic3.5 Exe wieder Basiccode erzeugen kann? Der Debasic-Decompiler funktioniert zwar, nur würde mich dieser knapp 700 Euro kosten (hab eine Exe kostenlos decompiliert gekriegt, als beispiel)
Der Code den der 1.0x Compiler damals generiert hat ist ja nur P-Code, also theoretisch umkehrbar (bis auf diverse Konstrukte/Layout natürlich, aber das lässt sich dann ja rekonstruieren)
Grüße
Euer Neuankömmling FloSoft |
|
Nach oben |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 22.04.2005, 15:50 Titel: |
|
|
Ich wusste gar ned, dass so was überhaupt möglich is. Laut QBMonFAQ gehts nämlich überhaupt ned.
Ich habe schon Disassembler gesehen, aber von ASM zu QB ist es ein weiter weg...
Übrigens halte ich einen solchen Decompiler auch rechtlich für nicht ganz unbedenklich...
Übrigens: Du solltest von 3.5 auf 4.5 umsteigen (downloadbar unter www.qbasic.de => Donwloads => Compiler), oder war das nur ein Tippfehler ? _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
 |
Devilkevin aka Kerstin

Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 22.04.2005, 17:18 Titel: |
|
|
Dusky_Joe hat Folgendes geschrieben: | Ich wusste gar ned, dass so was überhaupt möglich is. Laut QBMonFAQ gehts nämlich überhaupt ned.
Ich habe schon Disassembler gesehen, aber von ASM zu QB ist es ein weiter weg...
Übrigens halte ich einen solchen Decompiler auch rechtlich für nicht ganz unbedenklich...
Übrigens: Du solltest von 3.5 auf 4.5 umsteigen (downloadbar unter www.qbasic.de => Donwloads => Compiler), oder war das nur ein Tippfehler ? |
Denke auch das nicht möglcih ist.
Das Programm was er meint "übersetzt" wahrscheinlich nur den Asm Code in Basic . Rechtlich gesehen naja
Wens nicht anders geht (was ich vermute) zieh dir das 700€ Prog ausm Netz auch wen ich sowas eigentlich ablehene.
/Edit: 700€ für ein Programm finde ich naja , da kostet ja sogar die gesamte Office Reihe + 5 Updates weniger  _________________ www.piratenpartei.de |
|
Nach oben |
|
 |
FloSoft
Anmeldungsdatum: 22.04.2005 Beiträge: 3
|
Verfasst am: 22.04.2005, 19:17 Titel: |
|
|
Ich meinte schon 3.5, das Programm wurde damit geschrieben und dann mit einem qbasic compiler 1.0x kompiliert, darum ist das so ziemlich möglich den p-code (also kein "maschinencode" sondern "vorinterpretiertercode") deshalb ists auch scheinbar möglich. Kann schon sein das der das programm einfach disassembliert und dann basic code draus schreibt, schaut aber nicht so aus, hier mal der rohoutput des programms das er mir decompiliert hat (soweit ich die paar bugs die sich einschleichen behoben hat hat man wirklich brauchbaren basic code erhalten!
Code: |
REM G Parameters 3C30 , 4931 , 1850
REM *******
100 REM Creating HAUPT.DEB by decompiling HAUPT.DCE
DIM SHARED L140$(49),L163$(49),L142$(86),L103(9),I58(8)
COMMON SHARED I15,L16,I17,I20$,I30,I32,L35,L40,I42,L47$,L55
COMMON SHARED I56,I58(),I59,I60,L63$,L65$,L66$,L68$,I70,L72$,L73$
COMMON SHARED I74,I76,L78$,L80$,I82,L84$,L86$,L88$,L90$,L92$,L94$
COMMON SHARED L96$,I98,L101$,I102,L103(),L104$,I105,L107$,I109,L111$,L112$
COMMON SHARED L113$,L114$,L115$,L117$,L118$,L120$,L122$,L124$,L125$,L127$,L128$
COMMON SHARED L130$,I132,L134$,L135$,L137$,L139,L140$(),L142$(),L143,L144,L149
COMMON SHARED L151$,L152$,L153$,L154$,L155$,L156$,L157$,L158$,L163$(),L164,L167
COMMON SHARED L170,L172$,L173$,L176$,L177$,L178$,L179$,L180$,L181$,L182$,L183$
COMMON SHARED L184,I185,I197,I199,L200$,L201$,L203$,L205$,L207$,L209$,L211$
COMMON SHARED L212$,L214$,L216$,L218$,L220$,L222$,L224$,L226$,L228$,L229$,L231$
COMMON SHARED L233$,L235$,L236$,L238$,L240$,L242$,L244$,L245$,L247$,L248$,L249$
COMMON SHARED L250$,L251$,L252$,L253$,L254$,L255$,L256$,L257$,L258$,L259$,L260$
COMMON SHARED L261$,L262$,L263$,L264$,L265$,L266$,L267$,L268$,L270$,L272$,L273$
COMMON SHARED L274$,L275$,L276$,L277$,L278$,L279$,L280$,L281$,L282$,L283$,I284
COMMON SHARED L285$,I286,L287$,I288,L289$,I290,L291$,L292$,L293$,L294$,L295$
COMMON SHARED L296$,L297$,L298$,L300$,L301$,I303,L304$,L305$,I306,I307,L309$
COMMON SHARED L315$,L318$,L320$,L322$,L324$
110 KEY 15,CHR$(8) + CHR$(50)
120 KEY 16,CHR$(40) + CHR$(50)
130 KEY 17,CHR$(8) + CHR$(33)
140 KEY 18,CHR$(40) + CHR$(33)
150 KEY(9) ON
160 KEY(10) ON
170 KEY(15) ON
180 KEY(16) ON
190 KEY(17) ON
200 KEY(18) ON
210 ON KEY(9) GOSUB 1270'????
220 ON KEY(10) GOSUB 1450'????
230 ON KEY(15) GOSUB 1640'????
240 ON KEY(16) GOSUB 1640'????
250 ON KEY(17) GOSUB 1810'????
260 ON KEY(18) GOSUB 1810'????
270 ON ERROR GOTO 290'????
REM Programmstart
280 GOTO 1990'????
REM ErrorRoutine
290 I15 = ERR
300 L16 = ERL
310 I17 = I15
320 IF I17 <> 24 THEN GOTO 390
330 LOCATE 24,10
340 IF ((I20$ <> "j") AND (I20$ <> "J")) = 0 THEN GOTO 370
350 INPUT "DRUCKER EINGESCHALTET ";I20$
360 GOTO 340'????
370 RESUME
380 GOTO 1270'????
390 IF I17 <> 25 THEN GOTO 470
400 LOCATE 24,10
410 IF ((I20$ <> "j") AND (I20$ <> "J")) = 0 THEN GOTO 450
420 PRINT ERDEV$; " bereit ? (fortsetzen mit J)";
430 LINE INPUT "";I20$
440 GOTO 420'????
450 RESUME
460 GOTO 1270'????
470 IF I17 <> 27 THEN GOTO 540
480 LOCATE 24,10
490 IF ((I20$ <> "j") AND (I20$ <> "J")) = 0 THEN GOTO 520
500 INPUT "PAPIER EINLEGEN ";I20$
510 GOTO 490'????
520 RESUME
530 GOTO 1270'????
540 IF I17 <> 52 THEN GOTO 640
550 LOCATE 24,5
560 PRINT "FEHLER = "; I15; "IN ZEILE = "; L16;
570 PRINT " FLKZ%="; I30; " NR: "; I32
580 PRINT TAB(20); "PROGRAMM BEENDET!! "
590 ON ERROR GOTO 0
600 RESET
610 CLEAR
620 SYSTEM
630 GOTO 1270'????
640 IF I17 <> 55 THEN GOTO 680
650 CLOSE #I32
660 RESUME
670 GOTO 1270'????
680 IF I17 <> 63 THEN GOTO 1010
690 L35 = ERL
700 IF L35 <> 3560 THEN GOTO 810
710 LOCATE 24,15
720 PRINT "FEHLER="; I15; CHR$(7); " SATZNUMMER="; L40;
730 PRINT "IN ZEILE = "; L16
740 GOTO 770'????
750 I42 = I42
760 I42 = I42 + 1
770 IF I42 <= 20000 THEN GOTO 750
780 RESET
790 RESUME 4040
800 GOTO 1010'????
810 IF L35 <> 3589 THEN GOTO 920
820 LOCATE 24,15
830 PRINT "FEHLER="; I15; CHR$(7); " SATZNUMMER="; L40;
840 PRINT "IN ZEILE = "; L16
850 GOTO 880'????
860 I42 = I42
870 I42 = I42 + 1
880 IF I42 <= 20000 THEN GOTO 860
890 RESET
900 RESUME 4040
910 GOTO 1010'????
920 LOCATE 24,10
930 PRINT "FEHLER = "; I15; "IN ZEILE = "; L16;
940 LOCATE 25,20
950 PRINT "PROGRAMM BEENDET!! "
960 ON ERROR GOTO 0
970 RESET
980 CLEAR
990 SYSTEM
1000 GOTO 1270'????
1010 IF I17 <> 68 THEN GOTO 1080
1020 LOCATE 24,10
1030 IF ((I20$ <> "j") AND (I20$ <> "J")) = 0 THEN GOTO 1060
1040 INPUT "DRUCKER EINGESCHALTET ";I20$
1050 GOTO 1030'????
1060 RESUME
1070 GOTO 1270'????
1080 IF I17 <> 75 THEN GOTO 1200
1090 LOCATE 24,10
1100 IF ((L47$ = "head.sys") OR (L47$ = "HEAD.SYS")) = 0 THEN GOTO 1140
1110 PRINT "Systemdatei wird bereits bearbeitet, in Zeile"; L16;
1120 RESUME
1130 GOTO 1190'????
1140 PRINT "FEHLER = "; I15; " in DATEI = "; L47$; "PROGRAMM BEENDET!! "
1150 ON ERROR GOTO 0
1160 RESET
1170 CLEAR
1180 SYSTEM
1190 GOTO 1270'????
1200 LOCATE 24,10
1210 PRINT "FEHLER = "; I15; "IN ZEILE = "; L16;
1220 PRINT TAB(20); "PROGRAMM BEENDET!! "
1230 ON ERROR GOTO 0
1240 RESET
1250 CLEAR
1260 SYSTEM
1270 KEY(9) OFF
1280 KEY(10) OFF
1290 KEY(15) OFF
1300 KEY(16) OFF
1310 KEY(17) OFF
1320 KEY(18) OFF
REM Code Segments: Value Refs Int 3Fs Type
REM 0000 8 0
1330 CALL S2000
1340 ON ERROR GOTO 0
1350 SHELL "WINDOW.EXE"
1360 ON ERROR GOTO 290'????
1370 CALL S2100
1380 KEY(9) ON
1390 KEY(10) ON
1400 KEY(15) ON
1410 KEY(16) ON
1420 KEY(17) ON
1430 KEY(18) ON
1440 RETURN
1450 KEY(9) OFF
1460 KEY(10) OFF
1470 KEY(15) OFF
1480 KEY(16) OFF
1490 KEY(17) OFF
1500 KEY(18) OFF
1510 CALL S2000
1520 ON ERROR GOTO 0
1530 SHELL "MICROTEX"
1540 CALL S2100
1550 ON ERROR GOTO 290'????
1560 KEY(9) ON
1570 KEY(10) ON
1580 KEY(15) ON
1590 KEY(16) ON
1600 KEY(17) ON
1610 KEY(18) ON
1620 Return
1630 KEY(9) OFF
1640 KEY(10) OFF
1650 KEY(15) OFF
1660 KEY(16) OFF
1670 KEY(17) OFF
1680 KEY(18) OFF
1690 CALL S2000
1700 ON ERROR GOTO 0
1710 SHELL "buchwin"
1720 CALL S2100
1730 ON ERROR GOTO 290'????
1740 KEY(9) ON
1750 KEY(10) ON
1760 KEY(15) ON
1770 KEY(16) ON
1780 KEY(17) ON
1790 KEY(18) ON
1800 RETURN
1810 KEY(9) OFF
1820 KEY(10) OFF
1830 KEY(15) OFF
1840 KEY(16) OFF
1850 KEY(17) OFF
1860 KEY(18) OFF
1870 CALL S2000
1880 ON ERROR GOTO 0
1890 SHELL "fokowin"
1900 CALL S2100
1910 ON ERROR GOTO 290'????
1920 KEY(9) ON
1930 KEY(10) ON
1940 KEY(15) ON
1950 KEY(16) ON
1960 KEY(17) ON
1970 KEY(18) ON
1980 RETURN
1990 GOTO 2090
2000 SUB S2000 (Might have parameters referred to as P6, P8...etc)
2010 DEF SEG = L55
2020 GOTO 2050'????
2030 I58(I56) = PEEK(0)
2040 I56 = I56 + 1
2050 IF I56 <= 3999 THEN GOTO 2030
2060 DEF SEG
2070 END SUB
2080 REM The subroutine just ended had 0 bytes worth of parameters
2090 GOTO 2190
2100 SUB S2100 (Might have parameters referred to as P6, P8...etc)
2110 DEF SEG = L55
2120 GOTO 2140'????
2130 POKE I59 ,I58(I59)
2140 I59 = I59 + 1
2150 IF I59 <= 3999 THEN GOTO 2130
2160 DEF SEG
2170 END SUB
2180 REM The subroutine just ended had 0 bytes worth of parameters
Rem Start/Main
2190 I32 = 1
2200 L47$ = "HEAD.SYS"
2210 I60 = 240
2220 OPEN L47$ FOR RANDOM ?? AS #I32 LEN=I60
2230 FIELD #1,240 AS L63$
2240 GET #1,1
2250 L65$ = L63$
2260 CLOSE #1
2270 L66$ = MID$(L65$,1,2)
2280 L68$ = MID$(L65$,3,8)
2290 I70 = CVI(MID$(L65$,11,2))
2300 L72$ = MID$(L65$,13,4)
2310 L73$ = MID$(L65$,17,9)
2320 I74 = CVI(MID$(L65$,26,2))
2330 I76 = CVI(MID$(L65$,28,2))
2340 L78$ = MID$(L65$,30,30)
2350 L80$ = MID$(L65$,60,30)
2360 I82 = CVI(MID$(L65$,90,2))
2370 L84$ = MID$(L65$,92,2)
2380 L86$ = MID$(L65$,94,2)
2390 L88$ = MID$(L65$,96,2)
2400 L90$ = MID$(L65$,98,2)
2410 L92$ = MID$(L65$,124,5)
2420 L94$ = MID$(L65$,102,2)
2430 L96$ = MID$(L65$,73,1)
2440 I98 = CVI(MID$(L65$,113,2))
2450 L101$ = MID$(L65$,129,108)
2460 FOR I102 = 1 TO 8
2470 L103(I102) = MID$(L65$,I102 + 63,1)
2480 NEXT
2490 I105 = VAL(L103$(8))
2500 IF ((I105 > 8) OR (I105 <= 0)) = 0 THEN GOTO 2520'????
2510 I105 = 1
2520 OPEN L88$ + "BILDSCHI.DAT" FOR INPUT ?? AS #1
2530 LINE INPUT #1,L107$
2540 RESET 'CLOSE #1?
2550 L55 = INT(22)
2560 I109 = 1
2570 I32 = 2
2580 L47$ = L84$ + "NOTA.SYS"
2590 I60 = 240
2600 OPEN L47$ FOR RANDOM ?? AS #I32 LEN=I60
2610 FIELD #2,240 AS L111$
2620 GET #2,I109
2630 L112$ = L111$
2640 RESET 'CLOSE #1?
2650 L113$ = MID$(L112$,1,4)
2660 L114$ = MID$(L112$,5,7)
2670 L115$ = MID$(L112$,26,1)
2680 L117$ = MID$(L112$,27,1)
2690 L118$ = MID$(L112$,50,5)
2700 L120$ = MID$(L112$,55,3)
2710 I32 = 2
2720 L47$ = L94$ + "NOTA.SYS"
2730 I60 = 240
2740 OPEN L47$ FOR RANDOM ?? AS #I32 LEN=I60
2750 FIELD #2,240 AS L111$
2760 GET #2,I109
2770 L112$ = L111$
2780 RESET
2790 L122$ = MID$(L112$,12,7)
2800 L124$ = MID$(L112$,19,7)
2810 L125$ = MID$(L112$,28,1)
2820 L127$ = MID$(L112$,29,1)
2830 L128$ = MID$(L112$,30,20)
2840 L130$ = MID$(L112$,58,3)
2850 I132 = CVI(MID$(L112$,61,2))
2860 L134$ = MID$(L112$,64,7)
2870 KEY(9) ON
2880 KEY(10) ON
2890 KEY(15) ON
2900 KEY(16) ON
2910 KEY(17) ON
2920 KEY(18) ON
2930 L135$ = ""
2940 L137$ = L88$ + "DR1.DAT"
2950 OPEN L137$ FOR INPUT ?? AS #1
2960 GOTO 2990'????
2970 LINE INPUT #1,L140$(L139)
2980 L139 = L139 + 1
2990 IF L139 <= 20 THEN GOTO 2970
3000 RESET
3010 GOTO 3080'????
3020 L142$(L139 + 11) = ""
3030 L143 = LEN(L140$(L139))
3040 GOTO 3060'????
3050 L142$(L139 + 11) = L142$(L139 + 11) + CHR$(VAL(MID$(L140$(L139),L144,3)))
3060 L144 = L144 + 3
3070 IF L144 <= L143 THEN GOTO 3050
3080 L139 = L139 + 1
3090 IF L139 <= 8 THEN GOTO 3020
3100 GOTO 3180'????
3110 L142$(L139 + -10 + 22) = ""
3120 L149 = LEN(L140$(L139))
3130 GOTO 3160'????
3140 IR122 = ( L142$(L139 + -10 + 22) )
3150 IR122 = IR122 + CHR$(VAL(MID$(L140$(L139),L144,3)))
3160 L144 = L144 + 3
3170 IF L144 <= L149 THEN GOTO 3140
3180 L139 = L139 + 1
3190 IF L139 <= 18 THEN GOTO 3110
3200 L142$(20) = L140$(9)
3210 L142$(21) = L140$(10)
3220 L142$(31) = L140$(19)
3230 L142$(32) = L140$(20)
3240 L137$ = L88$ + "BS.DAT"
3250 OPEN L137$ FOR INPUT ?? AS #1
3260 GOTO 3310'????
3270 LINE INPUT #1,L140$(L139)
3280 IF ((L139 < 40) AND (INSTR(L140$(L139)," ") > 0)) = 0 THEN GOTO 3310'????
3290 L140$(L139) = MID$(L140$(L139),1,INSTR(L140$(L139)," ") - 1)
3300 L139 = L139 + 1
3310 IF L139 <= 48 THEN GOTO 3270
3320 RESET
3330 GOTO 3400'????
3340 L163$(L139) = ""
3350 L164 = LEN(L140$(L139))
3360 GOTO 3380'????
3370 L163$(L139) = L163$(L139) + CHR$(VAL(MID$(L140$(L139),L144,3)))
3380 L144 = L144 + 3
3390 IF L144 <= L164 THEN GOTO 3370
3400 L139 = L139 + 1
3410 IF L139 <= 6 THEN GOTO 3340
3420 GOTO 3490'????
3430 L163$(L139) = ""
3440 L167 = LEN(L140$(L139))
3450 GOTO 3470'????
3460 L163$(L139) = L163$(L139) + CHR$(VAL(MID$(L140$(L139),L144,3)))
3470 L144 = L144 + 3
3480 IF L144 <= L167 THEN GOTO 3460
3490 L139 = L139 + 1
3500 IF L139 <= 17 THEN GOTO 3430
3510 GOTO 3580'????
3520 L163$(L139) = ""
3530 L170 = LEN(L140$(L139))
3540 GOTO 3560'????
3550 L163$(L139) = L163$(L139) + CHR$(VAL(MID$(L140$(L139),L144,3)))
3560 L144 = L144 + 3
3570 IF L144 <= L170 THEN GOTO 3550
3580 L139 = L139 + 1
3590 IF L139 <= 37 THEN GOTO 3520
3600 IF VAL(L163$(22)) <> 0 THEN GOTO 3620'????
3610 L163$(22) = L140$(22)
3620 OPEN "ANSCHR.DAT" FOR INPUT AS #1
3630 LINE INPUT #1,L176$
3640 LINE INPUT #1,L142$(33)
3650 LINE INPUT #1,L142$(34)
3660 LINE INPUT #1,L179$
3670 LINE INPUT #1,L142$(35)
3680 LINE INPUT #1,L142$(36)
3690 LINE INPUT #1,L182$
3700 LINE INPUT #1,L183$
3710 CLOSE
3720 L184 = LEN(L176$ + L142$(34) + L142$(35) + L142$(36))
3730 GOTO 3750'????
3740 I185 = I185 + ASC(MID$(L176$ + L142$(34) + L142$(35) + L142$(36),L139,1))
3750 L139 = L139 + 1
3760 IF L139 <= L184 THEN GOTO 3740
3770 R0 = I185
3780 IF ((I185 = 0) OR (R0 <> VAL(L92$))) = 0 THEN GOTO 4030'????
3790 CLS
3800 LOCATE 10,10
3810 PRINT " ********************************************* "
3820 LOCATE 11,10
3830 PRINT " ***** ***** "
3840 LOCATE 12,10
3850 PRINT " ***** UNZULŽSSIGE VERSIONSMANIPULATION ***** "
3860 LOCATE 13,10
3870 PRINT " ***** PROGRAMMDATEIEN ELIMINIERT ***** "
3880 LOCATE 14,10
3890 PRINT " ***** --- R A U B K O P I E ??? --- ***** "
3900 LOCATE 15,10
3910 PRINT " ***** ***** "
3920 LOCATE 16,10
3930 PRINT " ********************************************* "
3940 SHELL "ATTRIB.EXE -R *.EXE"
3950 SHELL "FLAG *.EXE /SRW "
3960 KILL "*.EXE"
3970 GOTO 3990'????
3980 PRINT CHR$(7)
3990 I197 = I197 + 1
4000 IF I197 <= 5000 THEN GOTO 3980
4010 SYSTEM
4020 I199 = ( -(LEN(L142$(33) + L142$(34) + L179$ + L142$(35) + L142$(36)) - 70)) * 0.5
4030 L200$ = L142$(33) + L142$(34) + SPACE$(I199) + L179$ + L142$(35) + SPACE$(I199) + L142$(36)
4040 L142$(39) = CHR$(64)
4050 L142$(48) = CHR$(21)
4060 L142$(57) = CHR$(189)
4070 L142$(40) = CHR$(91)
4080 L142$(49) = CHR$(142)
4090 L142$(58) = CHR$(216)
4100 L142$(41) = CHR$(92)
4110 L142$(50) = CHR$(153)
4120 L142$(59) = CHR$(218)
4130 L142$(42) = CHR$(93)
4140 L142$(51) = CHR$(154)
4150 L142$(60) = CHR$(219)
4160 L142$(43) = CHR$(123)
4170 L142$(52) = CHR$(132)
4180 L142$(61) = CHR$(204)
4190 L142$(44) = CHR$(124)
4200 L142$(53) = CHR$(148)
4210 L142$(62) = CHR$(206)
4220 L142$(45) = CHR$(125)
4230 L142$(54) = CHR$(129)
4240 L142$(63) = CHR$(207)
4250 L142$(46) = CHR$(126)
4260 L142$(55) = CHR$(225)
4270 L142$(64) = CHR$(222)
4280 GOSUB 5640
4290 L245$ = CHR$(27)
4300 L247$ = CHR$(95)
4310 L248$ = STRING$(1,7)
4320 L249$ = CHR$(13)
4330 L250$ = CHR$(8)
4340 L252$ = CHR$(VAL(L140$(42)))
4350 L254$ = L163$(25)
4360 L256$ = L163$(26)
4370 L258$ = L163$(27)
4380 L260$ = L163$(28)
4390 L262$ = L163$(29)
4400 L264$ = L163$(30)
4410 L266$ = L163$(31)
4420 L268$ = L163$(32)
4430 L270$ = " A N W A L T "
4440 L272$ = " N O T A R "
4450 L274$ = L163$(33)
4460 L276$ = L163$(34)
4470 L278$ = L163$(35)
4480 L280$ = L163$(36)
4490 L282$ = L163$(37)
4500 I284 = VAL(L140$(38))
4510 I286 = VAL(L140$(39))
4520 I288 = VAL(L140$(40))
4530 I290 = VAL(L140$(41))
4540 L292$ = L140$(7) + STRING$(2," ")
4550 L142$(77) = MID$(L292$,1,1)
4560 L142$(79) = MID$(L292$,2,1)
4570 IF L142$(79) <> " " THEN GOTO 4590'????
4580 L142$(79) = L142$(77)
4590 L296$ = L140$(8) + STRING$(4," ")
4600 L142$(83) = MID$(L296$,1,2)
4610 L142$(85) = MID$(L296$,3,2)
4620 IF L142$(85) <> " " THEN GOTO 4640'????
4630 L142$(85) = L142$(83)
4640 L301$ = L140$(21)
4650 CLS
4660 OPEN "HAUPT.DAT" FOR INPUT AS #1
4670 FOR I303 = 1 TO 23
4680 LINE INPUT #1,L304$
4690 LOCATE I303,1
4700 PRINT L304$
4710 NEXT
4720 CLOSE #1
4730 L305$ = ""
4740 L305$ = INKEY$
4750 IF ((L305$ <> L252$) AND (L305$ <> "")) = 0 THEN GOTO 4740'????
4760 I306 = ASC(L305$)
4770 IF I306 <= 90 THEN GOTO 4790
4780 I306 = I306 - 32
4790 I306 = I306 - 64
4800 I307 = I306
4810 IF I307 <> 1 THEN GOTO 4870
4820 IF L103$(1) <> "1" THEN GOTO 4850
4830 CHAIN "AKTE"
4840 GOTO 4860'????
4850 CHAIN "HAUPT"
4860 GOTO 5640'????
4870 IF I307 <> 2 THEN GOTO 4930
4880 IF L103$(1) <> "1" THEN GOTO 4910
4890 CHAIN "ADR"
4900 GOTO 4920'????
4910 CHAIN "HAUPT"
4920 GOTO 5640'????
4930 IF I307 <> 3 THEN GOTO 4960
4940 CHAIN "STAM"
4950 GOTO 5640'????
4960 IF I307 <> 4 THEN GOTO 5000
4970 SHELL "SERVICE"
4980 CHAIN "HAUPT"
4990 GOTO 5640'????
5000 IF I307 <> 5 THEN GOTO 5060
5010 IF L103$(2) <> "1" THEN GOTO 5040
5020 CHAIN "FIBU"
5030 GOTO 5050'????
5040 CHAIN "HAUPT"
5050 GOTO 5640'????
5060 IF I307 <> 6 THEN GOTO 5090
5070 CHAIN "SERVICEM"
5080 GOTO 5640'????
5090 IF I307 <> 7 THEN GOTO 5150
5100 IF L103$(4) <> "1" THEN GOTO 5130
5110 CHAIN "MV"
5120 GOTO 5140'????
5130 CHAIN "HAUPT"
5140 GOTO 5640'????
5150 IF I307 <> 8 THEN GOTO 5210
5160 IF L103$(7) <> "1" THEN GOTO 5190
5170 CHAIN "UN"
5180 GOTO 5200'????
5190 CHAIN "HAUPT"
5200 GOTO 5640'????
5210 IF I307 <> 9 THEN GOTO 5270
5220 IF L103$(6) <> "1" THEN GOTO 5250
5230 CHAIN "TERMIN"
5240 GOTO 5270'????
5250 CHAIN "HAUPT"
5260 GOTO 5640'????
5270 IF I307 <> 10 THEN GOTO 5330
5280 IF L103$(5) <> "1" THEN GOTO 5310
5290 CHAIN "BRAGO"
5300 GOTO 5320'????
5310 CHAIN "HAUPT"
5320 GOTO 5640'????
5330 IF I307 <> 11 THEN GOTO 5360
5340 CHAIN "KURZB"
5350 GOTO 5640'????
5360 IF I307 <> 12 THEN GOTO 5390
5370 CHAIN "TEXT"
5380 GOTO 5640'????
5390 IF I307 <> 13 THEN GOTO 5420
5400 CHAIN "LISTEA"
5410 GOTO 5640'????
5420 IF I307 <> 14 THEN GOTO 5460
5430 SHELL "TERMINAL DATEXP"
5440 CHAIN "HAUPT"
5450 GOTO 5640'????
5460 IF I307 <> 15 THEN GOTO 5500
5470 SHELL "UA.EXE"
5480 CHAIN "HAUPT"
5490 GOTO 5640'????
5500 IF I307 <> 16 THEN GOTO 5560
5510 IF ((VAL(L163$(22)) > 9) OR (VAL(L163$(22)) < 1)) = 0 THEN GOTO 5540
5520 CHAIN "HAUPT"
5530 GOTO 5550'????
5540 CHAIN "NOTAR"
5550 GOTO 5640'????
5560 IF I307 <> 17 THEN GOTO 5620
5570 RESET
5580 CLEAR
5590 CLS
5600 SYSTEM
5610 GOTO 5640'????
5620 CHAIN "HAUPT"
5630 SYSTEM
5640 RETURN
5650 END
'Symbol Address Symbol Address Symbol Address Symbol Address
'I15 3AB0 IE L16 3AB2 E I17 3AB6 IE I20$ 3AB8 SI
'I30 3ABC I I32 3ABE IE L35 3AC0 E L40 3AC4
'I42 3AC8 IE L47$ 3ACA SE L55 3AAC E I56 3ACE IE
'I58 1B6A IA I59 3AD0 IE I60 3AD2 IE L63$ 3AD4 SE
'L65$ 3AD8 SE L66$ 3ADC SE L68$ 3AE0 SE I70 3AE4 IE
'L72$ 3AE6 SE L73$ 3AEA SE I74 3AEE IE I76 3AF0 IE
'L78$ 3AF2 SE L80$ 3AF6 SE I82 3AFA IE L84$ 3AFC SE
'L86$ 3B00 SE L88$ 3B04 SE L90$ 3B08 SE L92$ 3B0C SE
'L94$ 3B10 SE L96$ 3B14 SE I98 3B18 IE L101$ 3B1A SE
'I102 3B1E I L103$ 1B46 SA L104$ 1B66 S I105 3B20 IE
'L107$ 3B22 S I109 3B26 IE L111$ 3B28 SE L112$ 3B2C SE
'L113$ 3B30 SE L114$ 3B34 SE L115$ 3B38 SE L117$ 3B3C SE
'L118$ 3B40 SE L120$ 3B44 SE L122$ 3B48 SE L124$ 3B4C SE
'L125$ 3B50 SE L127$ 3B54 SE L128$ 3B58 SE L130$ 3B5C SE
'I132 3B60 IE L134$ 3B62 SE L135$ 3B66 SE L137$ 3B6A SE
'L139 3B6E E L140$ 1864 SA L142$ 19EC SEA L143 3B72 E
'L144 3B76 E L149 3B7A E L151$ 1888 S L152$ 1A3C SE
'L153$ 188C S L154$ 1A40 SE L155$ 18B0 S L156$ 1A68 SE
'L157$ 18B4 S L158$ 1A6C SE L163$ 1928 SEA L164 3B7E E
'L167 3B82 E L170 3B86 E L172$ 1980 SE L173$ 18BC S
'L176$ 3B8A S L177$ 1A70 SE L178$ 1A74 SE L179$ 3B8E S
'L180$ 1A78 SE L181$ 1A7C SE L182$ 3B92 S L183$ 3B96 S
'L184 3B9A E I185 3B9E IE I197 3BA0 IE I199 3BA2 IE
'L200$ 3BA4 SE L201$ 1A8A SE L203$ 1AAE SE L205$ 1AD2 SE
'L207$ 1A8E SE L209$ 1AB2 SE L211$ 1AD6 SE L212$ 1A92 SE
'L214$ 1AB6 SE L216$ 1ADA SE L218$ 1A96 SE L220$ 1ABA SE
'L222$ 1ADE SE L224$ 1A9A SE L226$ 1ABE SE L228$ 1AE2 SE
'L229$ 1A9E SE L231$ 1AC2 SE L233$ 1AE6 SE L235$ 1AA2 SE
'L236$ 1AC6 SE L238$ 1AEA SE L240$ 1AA6 SE L242$ 1ACA SE
'L244$ 1AEE SE L245$ 3BA8 SE L247$ 3BAC SE L248$ 3BB0 SE
'L249$ 3BB4 SE L250$ 3BB8 SE L251$ 190C S L252$ 3BBC SE
'L253$ 198C SE L254$ 3BC0 SE L255$ 1990 SE L256$ 3BC4 SE
'L257$ 1994 SE L258$ 3BC8 SE L259$ 1998 SE L260$ 3BCC SE
'L261$ 199C SE L262$ 3BD0 SE L263$ 19A0 SE L264$ 3BD4 SE
'L265$ 19A4 SE L266$ 3BD8 SE L267$ 19A8 SE L268$ 3BDC SE
'L270$ 3BE0 SE L272$ 3BE4 SE L273$ 19AC SE L274$ 3BE8 SE
'L275$ 19B0 SE L276$ 3BEC SE L277$ 19B4 SE L278$ 3BF0 SE
'L279$ 19B8 SE L280$ 3BF4 SE L281$ 19BC SE L282$ 3BF8 SE
'L283$ 18FC S I284 3BFC IE L285$ 1900 S I286 3BFE IE
'L287$ 1904 S I288 3C00 IE L289$ 1908 S I290 3C02 IE
'L291$ 1880 S L292$ 3C04 SE L293$ 1B22 SE L294$ 1B2A SE
'L295$ 1884 S L296$ 3C08 SE L297$ 1B3A SE L298$ 1B42 SE
'L300$ 18B8 S L301$ 3C0C SE I303 3C14 I L304$ 3C10 S
'L305$ 3C16 SE I306 1854 IE I307 3C1A IE L309$ 1B4A S
'L315$ 1B4E S L318$ 1B56 S L320$ 1B62 S L322$ 1B5E S
'L324$ 1B5A S
'Symbol Address Symbol Address Symbol Address Symbol Address
'I306 1854 IE L140$ 1864 SA L291$ 1880 S L295$ 1884 S
'L151$ 1888 S L153$ 188C S L155$ 18B0 S L157$ 18B4 S
'L300$ 18B8 S L173$ 18BC S L283$ 18FC S L285$ 1900 S
'L287$ 1904 S L289$ 1908 S L251$ 190C S L163$ 1928 SEA
'L172$ 1980 SE L253$ 198C SE L255$ 1990 SE L257$ 1994 SE
'L259$ 1998 SE L261$ 199C SE L263$ 19A0 SE L265$ 19A4 SE
'L267$ 19A8 SE L273$ 19AC SE L275$ 19B0 SE L277$ 19B4 SE
'L279$ 19B8 SE L281$ 19BC SE L142$ 19EC SEA L152$ 1A3C SE
'L154$ 1A40 SE L156$ 1A68 SE L158$ 1A6C SE L177$ 1A70 SE
'L178$ 1A74 SE L180$ 1A78 SE L181$ 1A7C SE L201$ 1A8A SE
'L207$ 1A8E SE L212$ 1A92 SE L218$ 1A96 SE L224$ 1A9A SE
'L229$ 1A9E SE L235$ 1AA2 SE L240$ 1AA6 SE L203$ 1AAE SE
'L209$ 1AB2 SE L214$ 1AB6 SE L220$ 1ABA SE L226$ 1ABE SE
'L231$ 1AC2 SE L236$ 1AC6 SE L242$ 1ACA SE L205$ 1AD2 SE
'L211$ 1AD6 SE L216$ 1ADA SE L222$ 1ADE SE L228$ 1AE2 SE
'L233$ 1AE6 SE L238$ 1AEA SE L244$ 1AEE SE L293$ 1B22 SE
'L294$ 1B2A SE L297$ 1B3A SE L298$ 1B42 SE L103$ 1B46 SA
'L309$ 1B4A S L315$ 1B4E S L318$ 1B56 S L324$ 1B5A S
'L322$ 1B5E S L320$ 1B62 S L104$ 1B66 S I58 1B6A IA
'L55 3AAC E I15 3AB0 IE L16 3AB2 E I17 3AB6 IE
'I20$ 3AB8 SI I30 3ABC I I32 3ABE IE L35 3AC0 E
'L40 3AC4 I42 3AC8 IE L47$ 3ACA SE I56 3ACE IE
'I59 3AD0 IE I60 3AD2 IE L63$ 3AD4 SE L65$ 3AD8 SE
'L66$ 3ADC SE L68$ 3AE0 SE I70 3AE4 IE L72$ 3AE6 SE
'L73$ 3AEA SE I74 3AEE IE I76 3AF0 IE L78$ 3AF2 SE
'L80$ 3AF6 SE I82 3AFA IE L84$ 3AFC SE L86$ 3B00 SE
'L88$ 3B04 SE L90$ 3B08 SE L92$ 3B0C SE L94$ 3B10 SE
'L96$ 3B14 SE I98 3B18 IE L101$ 3B1A SE I102 3B1E I
'I105 3B20 IE L107$ 3B22 S I109 3B26 IE L111$ 3B28 SE
'L112$ 3B2C SE L113$ 3B30 SE L114$ 3B34 SE L115$ 3B38 SE
'L117$ 3B3C SE L118$ 3B40 SE L120$ 3B44 SE L122$ 3B48 SE
'L124$ 3B4C SE L125$ 3B50 SE L127$ 3B54 SE L128$ 3B58 SE
'L130$ 3B5C SE I132 3B60 IE L134$ 3B62 SE L135$ 3B66 SE
'L137$ 3B6A SE L139 3B6E E L143 3B72 E L144 3B76 E
'L149 3B7A E L164 3B7E E L167 3B82 E L170 3B86 E
'L176$ 3B8A S L179$ 3B8E S L182$ 3B92 S L183$ 3B96 S
'L184 3B9A E I185 3B9E IE I197 3BA0 IE I199 3BA2 IE
'L200$ 3BA4 SE L245$ 3BA8 SE L247$ 3BAC SE L248$ 3BB0 SE
'L249$ 3BB4 SE L250$ 3BB8 SE L252$ 3BBC SE L254$ 3BC0 SE
'L256$ 3BC4 SE L258$ 3BC8 SE L260$ 3BCC SE L262$ 3BD0 SE
'L264$ 3BD4 SE L266$ 3BD8 SE L268$ 3BDC SE L270$ 3BE0 SE
'L272$ 3BE4 SE L274$ 3BE8 SE L276$ 3BEC SE L278$ 3BF0 SE
'L280$ 3BF4 SE L282$ 3BF8 SE I284 3BFC IE I286 3BFE IE
'I288 3C00 IE I290 3C02 IE L292$ 3C04 SE L296$ 3C08 SE
'L301$ 3C0C SE L304$ 3C10 S I303 3C14 I L305$ 3C16 SE
'I307 3C1A IE
|
Natürlich, die ganzen Variablennamen und Co sind natürlich futsch
/edit leider gibts das programm nicht im netz, sonst hätte ichs zum testen schonmal runtergeladen, vor allem wenn mans nur einmal braucht was solls, kaufen kann mans wenn mans dann wirklich ständig braucht immer noch |
|
Nach oben |
|
 |
Devilkevin aka Kerstin

Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 22.04.2005, 19:58 Titel: |
|
|
Ich sage es nur ungern:
Ich glaube kaum das jemand so ein Prog kennt, geschweige den ein solches Programmieren könnte. Geh zu nem Kumpel der Kazza der eMule hat der solls dir Saugen. Aber ansonsten solltest du die Programme immer kaufen  _________________ www.piratenpartei.de |
|
Nach oben |
|
 |
FloSoft
Anmeldungsdatum: 22.04.2005 Beiträge: 3
|
Verfasst am: 22.04.2005, 22:20 Titel: |
|
|
Programmbeschreibung die ich erhalten habe:
Zitat: | It works through the EXE file byte by byte. It recognises certain combinations of bytes that often signal such things as For/Next loops. It does not always recognise these - gets it wrong sometimes - there are so many of them. Its good at recognising the Basic functions (> 99% of them) and if it is compiled to run with a run time module then each of these has a code which the decompiler picks up. Unfortunately this code changes slightly between versions of the compiler which causes some problems. It does not recognise the functions in older programs that were compiled to run as a stand alone module.
There is a lot more to it I've just simplified it here. I exploit any weekness that I can spot in the .EXE file.
|
Der code der da rauskam funktioniert, hab ihn nun umgeschrieben (die goto-konstrukte aufgelöst, die sprungadressen korrigiert)
Die Datei funktioniert exakt wie das Originalprogramm (ließ sich wieder kompilieren/ausführen)
Der Decompiler funktioniert
Ihr seit nicht zufällig ka so 100 leute, dann könnten wir das programm zusammen anschaffen, er hat gemeint das er mir den source dazugibt, da ich ihn nach einer API gefragt habe. |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|