アプリ判定

 投稿者:しばっち  投稿日:2019年 9月18日(水)19時30分40秒
  実行ファイル(exe,dll)がwin32(x86)かwin64(x64)かを判定します。

http://foma-zakki.cocolog-nifty.com/zakki/2010/08/win-win32-ka-73.html#_ga=1.182028135.1709505233.1471867811



OPTION CHARACTER BYTE
LET A$=REPEAT$(CHR$(0),2048)
FILE GETNAME F$,"実行ファイル|*.EXE;*.DLL"
IF F$="" THEN STOP
OPEN #1:NAME F$
FOR I=1 TO 2048
   CHARACTER INPUT #1,IF MISSING THEN EXIT FOR:A$(I:I)
NEXT I
CLOSE #1
LET X86$=HEXCHR$("504500004C01")
LET X64$=HEXCHR$("504500006486")
FOR I=1 TO 2043
   LET X$=A$(I:I+5)
   IF X$=X86$ THEN
      PRINT "WIN32(x86)"
      STOP
   ELSEIF X$=X64$ THEN
      PRINT "WIN64(x64)"
      STOP
   END IF
NEXT I
PRINT "不明"
END

EXTERNAL FUNCTION HEXCHR$(X$)
OPTION CHARACTER BYTE
IF MOD(LEN(X$),2)=1 THEN LET X$=X$ & "0"
FOR I=1 TO LEN(X$) STEP 2
   LET S$=S$&CHR$(BVAL(MID$(X$,I,2),16))
NEXT I
LET HEXCHR$=S$
END FUNCTION
 

戻る