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 完全不知道是什么 #在这里快速ID1 ID2 回复#
应该早子程序名称吧 本帖最后由 9zhmke 于 2019-4-4 10:23 编辑
不会看,从批处理的语法来看,子程序名是hwids ,ID1、2是参数,但到底是什么参数也没看懂,可能是前面个搜索得到的结果吧。 确实看不懂。 用devcon.exe获取所有设备硬件id,存入变量all,read读取这个变量的最后一行并截取最后一行的第一个字符串,应该是个数字! 把这个数字赋值给id1,安装指定驱动包后再重复这个过程,并赋值给id2,然后比较id1跟id2,如果安装过后数字变大了,还继续安装驱动? 第一段大概意思就是获取驱动压缩包文件名,解压到tmp目录,目录名称就是driver_net类似的名字,然后使用dpinst.exe安装这个目录的适合的驱动,然后判断,最后删除这个临时目录! my9823 发表于 2019-4-4 12:31
第一段大概意思就是获取驱动压缩包文件名,解压到tmp目录,目录名称就是driver_net类似的名字,然后使用dpi ...
请问第二段 第三段代码是什么意思?辛苦了 搞懂这一句,应该就明白含义了。
ENVI-ret %1=%&Q%
后缀-ret[回溯级别] //回溯指定级别(默认1)再操作PE变量名,如函数返回
这里就是回写函数第一个参数的变量值。
比如:
CALL hwids &&ID1
就是回写&&ID1变量的值
CALL hwids &&ID2
就是回写&&ID2变量的值 红毛樱木 发表于 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 sparkguo 发表于 2019-4-4 16:18
老师,这段什么意思呢?
_SUB autorun (应该是网克有关的)
REGI $HKLM\SYSTEM\CurrentControlSe ...
大兄弟,你这里一段代码都是简单的单挑命令,直接看PECMD2012帮助就行了 好的,一会儿去查一查帮助里面怎么说的 用7z解压到temp,devcon获取硬件id,然后匹配安装驱动 还要有破解版dpinst.exe来装 这个是计算器脚本中的一部分,是我提供的公式!是由弦长和高计算圆心角弧长和半径的!当时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%是参数 半径等于弦长一半的平方与上高的平方的和除以2倍的高? 下表是度数弦长的一半除以半径,根据反正弦得出度数,下边在周长乘以度数除以360度 安智论坛有手机上的,兄弟软件
页:
[1]