sparkguo 发表于 2019-4-4 09:50:03

ljycslg大神的PE 代码看不明白,求助

本帖最后由 sparkguo 于 2019-4-4 10:48 编辑

最近对PE 有点兴趣,在论坛里面下载了一个高手的PE拆开学习了一下,发现ljycslg 大神的PE 有些看不懂,代码如下:
_SUB Insdriver   (应该是安装驱动的代码)
   NAME &&fname=%~1
   FIND [ $custom=%&fname% | $custom_64=%&fname% ], CALL hwids &&ID1
   FIND# $Z=Z%2, EXEC =!%programfiles%\7-zip\7z.exe x %1 -o%temp%\pe-driver\%&fname% # EXEC =!%programfiles%\7-zip\7z.exe x %1 -o%2
   FIND# $Z=Z%2, EXEC =!dpinst.exe /S /Path %temp%\pe-driver\%&fname% # EXEC =!dpinst.exe /S /Path %2
   WAIT 500
   FIND [ $custom=%&fname% | $custom_64=%&fname% ], CALL hwids &&ID2
   FIND |%&ID1%<%&ID2%, EXEC -hide -wait dpinst.exe /S /Path %temp%\pe-driver\%&fname%
   FIND# $DRIVERS_USB=%&fname%, EXEC =!dpinst.exe /S /Path %temp%\pe-driver\%&fname%
   FIND# $Z=Z%2, FILE %temp%\pe-driver
_END

_SUB hwids (完全看不懂)
    EXEC* &&all=!devcon findall *
    READ-,0,&&line,%&all%
    MSTR &&Q=<1>%&line%
    ENVI-ret %1=%&Q%
_END


_SUB autorun (应该是网克有关的)
   REGI $HKLM\SYSTEM\CurrentControlSet\Control\PEBootServerAddr,&&ServerAddr
   REGI $HKCU\Software\TightVNC\Control\ReverseConnectionHistory\0=%&ServerAddr%
   exec =!tftp -i %&ServerAddr% get pxeautorun.txt %windir%\system32\pxeautorun.cmd
   wait 500
   ifex %windir%\system32\pxeautorun.cmd, exec pxeautorun.cmd %&ServerAddr%
   exit file
_END

以上三段代码麻烦老师们逐句注释一下
ID1 ID2 完全不知道是什么

D_M_GuYing 发表于 2019-4-4 10:01:12

#在这里快速ID1 ID2 回复#
应该早子程序名称吧

9zhmke 发表于 2019-4-4 10:22:13

本帖最后由 9zhmke 于 2019-4-4 10:23 编辑

不会看,从批处理的语法来看,子程序名是hwids ,ID1、2是参数,但到底是什么参数也没看懂,可能是前面个搜索得到的结果吧。

xmzhqw 发表于 2019-4-4 10:27:13

确实看不懂。

my9823 发表于 2019-4-4 12:18:12

用devcon.exe获取所有设备硬件id,存入变量all,read读取这个变量的最后一行并截取最后一行的第一个字符串,应该是个数字!

my9823 发表于 2019-4-4 12:22:33

把这个数字赋值给id1,安装指定驱动包后再重复这个过程,并赋值给id2,然后比较id1跟id2,如果安装过后数字变大了,还继续安装驱动?

my9823 发表于 2019-4-4 12:31:00

第一段大概意思就是获取驱动压缩包文件名,解压到tmp目录,目录名称就是driver_net类似的名字,然后使用dpinst.exe安装这个目录的适合的驱动,然后判断,最后删除这个临时目录!

sparkguo 发表于 2019-4-4 15:42:37

my9823 发表于 2019-4-4 12:31
第一段大概意思就是获取驱动压缩包文件名,解压到tmp目录,目录名称就是driver_net类似的名字,然后使用dpi ...

请问第二段 第三段代码是什么意思?辛苦了

红毛樱木 发表于 2019-4-4 16:12:35

搞懂这一句,应该就明白含义了。
ENVI-ret %1=%&Q%
后缀-ret[回溯级别]    //回溯指定级别(默认1)再操作PE变量名,如函数返回
这里就是回写函数第一个参数的变量值。
比如:
CALL hwids &&ID1
就是回写&&ID1变量的值
CALL hwids &&ID2
就是回写&&ID2变量的值

sparkguo 发表于 2019-4-4 16:18:35

红毛樱木 发表于 2019-4-4 16:12
搞懂这一句,应该就明白含义了。
ENVI-ret %1=%&Q%
后缀-ret[回溯级别]    //回溯指定级别(默认1)再操作 ...

老师,这段什么意思呢?
_SUB autorun (应该是网克有关的)
   REGI $HKLM\SYSTEM\CurrentControlSet\Control\PEBootServerAddr,&&ServerAddr
   REGI $HKCU\Software\TightVNC\Control\ReverseConnectionHistory\0=%&ServerAddr%
   exec =!tftp -i %&ServerAddr% get pxeautorun.txt %windir%\system32\pxeautorun.cmd
   wait 500
   ifex %windir%\system32\pxeautorun.cmd, exec pxeautorun.cmd %&ServerAddr%
   exit file
_END

红毛樱木 发表于 2019-4-4 16:29:02

sparkguo 发表于 2019-4-4 16:18
老师,这段什么意思呢?
_SUB autorun (应该是网克有关的)
   REGI $HKLM\SYSTEM\CurrentControlSe ...

大兄弟,你这里一段代码都是简单的单挑命令,直接看PECMD2012帮助就行了

sparkguo 发表于 2019-4-4 16:36:09

好的,一会儿去查一查帮助里面怎么说的

2010eflying 发表于 2019-4-6 00:17:13

用7z解压到temp,devcon获取硬件id,然后匹配安装驱动

2010eflying 发表于 2019-4-6 00:18:20

还要有破解版dpinst.exe来装

ge 发表于 2019-4-6 06:33:56

这个是计算器脚本中的一部分,是我提供的公式!是由弦长和高计算圆心角弧长和半径的!当时M大给我写了一个类似的东西!我没有看明白!最后是由5大完成的吧?反正当时我和5大说过!他说有时间看看!
_SUB MyFUN *
        SET &&h=%~1
        SET &&c=%~2
        CALC &&h=%&h%#15g
        CALC &&c=%&c%#15g
        CALC &&r=((%&c%/2)^2+%&h%^2)/(2*%&h%)#15g
        CALC &&a=2*deg(arcsin((%&c%/2)/%&r%))#15g
        CALC &&l=2*%&r%*pi*%&a%/360#15g
_END
MyFUN %&z9% %&z6%MyFUN是过程%&z9% %&z6%是参数

my9823 发表于 2019-4-6 07:02:08

半径等于弦长一半的平方与上高的平方的和除以2倍的高?

my9823 发表于 2019-4-6 07:04:32

下表是度数弦长的一半除以半径,根据反正弦得出度数,下边在周长乘以度数除以360度

my9823 发表于 2019-4-6 07:26:25

安智论坛有手机上的,兄弟软件
页: [1]
查看完整版本: ljycslg大神的PE 代码看不明白,求助