Fortran Coder

查看: 8886|回复: 5
打印 上一主题 下一主题

[绘图界面库] 读取MAC地址,winXP可以用,win7运行不了,求教

[复制链接]

2

帖子

1

主题

0

精华

新人

F 币
15 元
贡献
7 点
跳转到指定楼层
楼主
发表于 2014-7-6 10:42:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
读取MAC地址,winXP可以用,但是到了win7运行不了,求教

源程序如下:
[Fortran] 纯文本查看 复制代码
c      subroutine machostnm
       USE MSFLIB
       LOGICAL(4)  result
         character  sult(17)
 c        write(*,*) '     '
         write(*,'(1x,a16\)')  ' 正在验证用户... '
result = SYSTEMQQ('ipconfig /all >ipconfig.txt')
       result = SYSTEMQQ('find  "Physical Address" ipconfig.txt >
&massage.txt')
       result = SYSTEMQQ('for /f "skip=1 tokens=2 delims=:" %a in
      & (massage.txt) do @echo %a>a.txt')
       result = SYSTEMQQ('for /f "tokens=* delims=- " %a in (a.txt)
      & do @echo %a>mac地址.txt')
       result = SYSTEMQQ('find  "Host Name" ipconfig.txt >
      &massage.txt')
       result = SYSTEMQQ('for /f "skip=1 tokens=2 delims=:" %a in
      & (massage.txt) do @echo %a>a.txt')
       result = SYSTEMQQ('for /f "tokens=* delims=- " %a in (a.txt)
      & do @echo %a>host用户名.txt')
       result = SYSTEMQQ('del ipconfig.txt')
       result = SYSTEMQQ('del massage.txt')
       result = SYSTEMQQ('del a.txt')
       ! 物理网卡地址在  mac地址.txt  文件中
open(12,file='mac地址.txt')
         read(12,'(17a1)')  (sult(i),i=1,17)
         close(12,status='delete')
         write(111,*) sult
 c         write(*,'(A28,17a1\)')  'mac地址:',(sult(i),i=1,17)
         open(12,file='host用户名.txt')
         read(12,'(17a1)',err=123)  (sult(i),i=1,17)
         close(12,status='delete')
 123        write(*,'(1x,A12,17a1\)')  ' 用户名:',(sult(i),i=1,17)
         return
       end

win xp下面用得好好的,到了win7就用不了。

这是一个程序加密的子程序,把授权的电脑MAC地址写入源程序,电脑MAC地址跟程序一致才能运行。

现在系统都逐步升级到win7 win8,导致原有程序无法运行或无法加密。

求教论坛高手。

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

712

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
607 元
贡献
311 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

沙发
发表于 2014-7-6 16:56:17 | 只看该作者
win7有更高的权限,所以你的代码可能无法得到。

说实话,即便你的代码可以跑。也很容易破解。只要写一个假的mac地址到临时文件,设置为只读即可。

另外,mac地址也可以更改,很容易的。

所以,我劝你另谋蹊径。

2

帖子

1

主题

0

精华

新人

F 币
15 元
贡献
7 点
板凳
 楼主| 发表于 2014-7-6 20:25:34 | 只看该作者
chuxf 发表于 2014-7-6 16:56
win7有更高的权限,所以你的代码可能无法得到。

说实话,即便你的代码可以跑。也很容易破解。只要写一个假 ...

请教大师: WIN 7系统下面,fortran如何读取系统MAC地址?

712

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
607 元
贡献
311 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

地板
发表于 2014-7-6 21:46:35 | 只看该作者
语法里没有这些内容的规定。你得自己想办法。

就像我上面说的那样,MAC地址很容易修改,所以根本不保险。我建议你读取硬盘序列号或CPUID更合适。

1961

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1350 元
贡献
570 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

5#
发表于 2014-7-6 22:49:11 | 只看该作者
你试试把
find  "Physical Address" ipconfig.txt >
修改为
find  "物理地址" ipconfig.txt >


find  "Host Name" ipconfig.txt >
修改为
find  "主机名" ipconfig.txt >

反正我这里 ipconfig 的输出是中文的。改成搜索中文之后,就可以得到结果了。
      

135

帖子

15

主题

0

精华

版主

F 币
1159 元
贡献
637 点

爱心勋章管理勋章

6#
发表于 2014-7-9 19:46:05 | 只看该作者
据我所知iwin7 下面是中文的 你用中文的试试
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-4-25 13:41

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表