无忧启动论坛

标题: ljycslg大神的PE 代码看不明白,求助 [打印本页]

作者: sparkguo    时间: 2019-4-4 09:50
标题: 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
#在这里快速ID1 ID2 回复#
应该早子程序名称吧
作者: 9zhmke    时间: 2019-4-4 10:22
本帖最后由 9zhmke 于 2019-4-4 10:23 编辑

不会看,从批处理的语法来看,子程序名是hwids ,ID1、2是参数,但到底是什么参数也没看懂,可能是前面个搜索得到的结果吧。
作者: xmzhqw    时间: 2019-4-4 10:27
确实看不懂。
作者: my9823    时间: 2019-4-4 12:18
用devcon.exe获取所有设备硬件id,存入变量all,read读取这个变量的最后一行并截取最后一行的第一个字符串,应该是个数字!
作者: my9823    时间: 2019-4-4 12:22
把这个数字赋值给id1,安装指定驱动包后再重复这个过程,并赋值给id2,然后比较id1跟id2,如果安装过后数字变大了,还继续安装驱动?
作者: my9823    时间: 2019-4-4 12:31
第一段大概意思就是获取驱动压缩包文件名,解压到tmp目录,目录名称就是driver_net类似的名字,然后使用dpinst.exe安装这个目录的适合的驱动,然后判断,最后删除这个临时目录!
作者: sparkguo    时间: 2019-4-4 15:42
my9823 发表于 2019-4-4 12:31
第一段大概意思就是获取驱动压缩包文件名,解压到tmp目录,目录名称就是driver_net类似的名字,然后使用dpi ...

请问第二段 第三段代码是什么意思?辛苦了
作者: 红毛樱木    时间: 2019-4-4 16:12
搞懂这一句,应该就明白含义了。
ENVI-ret %1=%&Q%
后缀-ret[回溯级别]    //回溯指定级别(默认1)再操作PE变量名,如函数返回
这里就是回写函数第一个参数的变量值。
比如:
CALL hwids &&ID1
就是回写&&ID1变量的值
CALL hwids &&ID2
就是回写&&ID2变量的值
作者: sparkguo    时间: 2019-4-4 16:18
红毛樱木 发表于 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
sparkguo 发表于 2019-4-4 16:18
老师,这段什么意思呢?
_SUB autorun (应该是网克有关的)
     REGI $HKLM\SYSTEM\CurrentControlSe ...

大兄弟,你这里一段代码都是简单的单挑命令,直接看PECMD2012帮助就行了
作者: sparkguo    时间: 2019-4-4 16:36
好的,一会儿去查一查帮助里面怎么说的
作者: 2010eflying    时间: 2019-4-6 00:17
用7z解压到temp,devcon获取硬件id,然后匹配安装驱动
作者: 2010eflying    时间: 2019-4-6 00:18
还要有破解版dpinst.exe来装
作者: ge    时间: 2019-4-6 06:33
这个是计算器脚本中的一部分,是我提供的公式!是由弦长和高计算圆心角弧长和半径的!当时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
半径等于  弦长一半的平方与上高的平方的和除以2倍的高?
作者: my9823    时间: 2019-4-6 07:04
下表是度数弦长的一半除以半径,根据反正弦得出度数,下边在周长乘以度数除以360度
作者: my9823    时间: 2019-4-6 07:26
安智论坛有手机上的,兄弟软件

Screenshot_2019-04-06-07-24-43-701_com.android.browser.png (26.91 KB, 下载次数: 45)

Screenshot_2019-04-06-07-24-43-701_com.android.browser.png





欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3