导航:首页 > 源码编译 > node包反编译

node包反编译

发布时间:2023-08-14 10:12:19

⑴ 如何将dtb反编译成dts

由于device tree会将一个node的信息分布在各个文件里,查看起来很不方便,比如如下例子,ldb在三个文件中都有配置:


imx6qdl-sabresd.dtsi:


&ldb {

status = "okay";

.......

};


imx6qdl.dtsi:


ldb: ldb@020e0008 {

#address-cells = <1>;

#size-cells = <0>;

......

};


imx6q.dtsi:


&ldb {

compatible = "fsl,imx6q-ldb", "fsl,imx53-ldb";

.......

}


其实device tree编译之后最终是会被全部放在一个.dtb结尾的文件,

比如这里是imx6q-sabresd-ldo.dtb,用如下命令就可以看到整个ldb node的内容,而且也可以作为编译之后的检查。

[kris@ecovacs:~/kernel_imx/scripts/dtc]$

./dtc -I dtb -O dts ../../arch/arm/boot/dts/imx6q-sabresd-ldo.dtb > ~/f.dts

⑵ 混淆的class文件怎么进行反编译

一般情况下java应用的开发者为了保护代码不被别人抄袭,在生成class文件的时候都java文件进行了混淆,这种class文件用反编译工具得到的结果很难看懂,并且不能进行编译。
从研究的角度,浅析如何读懂这种反编译过来的文件。
例子一:赋值
反编译过来的代码如下:
Node node;
Node node1 = _$3.getChildNodes().item(0);
node1;
node1;
JVM INSTR swap ;
node;
getChildNodes();
0;
item();
getChildNodes();
0;
item();
getNodeValue();
String s;
s;
原始语句:
Node node;
Node node1 = currDocument.getChildNodes().item(0);
node = node1;
String s = node.getChildNodes().item(0).getChildNodes().item(0).getNodeValue();
注解:
JVM INSTR swap ; //赋值语句
练习:
String s1;
String s8 = node.getChildNodes().item(1).getChildNodes().item(0).getNodeValue();
s8;
s8;
JVM INSTR swap ;
s1;
10;
Integer.parseInt();
int i;
i;

例子二:不带参数创建对象
反编译过来的代码如下:
JVM INSTR new #244 ;
JVM INSTR p ;
JVM INSTR swap ;
CrossTable();
CrossTable crosstable;
crosstable;
原始语句:
CrossTable crosstable = new CrossTable();
注解:
练习:
JVM INSTR new #246 ;
JVM INSTR p ;
JVM INSTR swap ;
Database();
Object obj;
obj;
例子三:带参数创建对象
反编译过来的代码如下:
JVM INSTR new #262 ;
JVM INSTR p ;
JVM INSTR swap ;
String.valueOf(s2);
StringBuffer();
s.substring(j, i);
append();
s6;
append();
toString();
s2;

原始语句:
s2 = (new StringBuffer(String.valueOf(s2))).append(s.substring(j, i)).append(s6).toString();
注解:
此语句实际上是:s2 += s.substring(j, i) + s6;
练习:
例子四:for循环
反编译过来的代码如下:
int k = 0;
goto _L4
_L8:
...
k++;
_L4:
if(k < as.length) goto _L8; else goto _L7
原始语句:
for(int k=0;k < as.length;k++)
{
...
}
注解:
例子五:while循环
反编译过来的代码如下:
String s1 = "";
goto _L1
_L3:
JVM INSTR new #262 ;
JVM INSTR p ;
JVM INSTR swap ;
String.valueOf(s1);
StringBuffer();
_$2(resultset, s, l);
append();
toString();
s1;
_L1:
if(resultset.next()) goto _L3; else goto _L2
原始语句:
String s1 = "";
while(resultset.next())
{
s1 = s1 + resultSetToString(resultset, s, l);
}

⑶ 微信小程序反编译没保存

没保存就需要重新编写。
小程序反编译,如果没有保存的话是没有办法找回的,需要重新编写才可以。要想拿到微信小程序源码,先要拿到小程序的包,用反编译脚本跑一下,微信小程序代码包里的所有文件、所有资源就出来了(除了project.config.json小程序配置文件)。
操作时需准备工具:1、nodejs环境,这是反编译脚本的运行环境,下方有地址。2、小程序包解密工具,PC版解包无需模拟器,附件中有这个。3、反编译脚本下载,附件中有这个。4、微信PC端,运行小程序,自己下载电脑端微信。

阅读全文

与node包反编译相关的资料

热点内容
算法设计的最终形态是代码 浏览:260
程序员社团招新横幅 浏览:236
拖鞋解压视频大全 浏览:885
租服务器主机链接软件叫什么 浏览:854
交叉编译工具的linux版本号 浏览:154
python开发应用软件 浏览:30
hdl综合器与c编译器的区别 浏览:897
编译原理最左推导代码 浏览:700
加密三 浏览:128
通过编译链接后形成的可执行程序 浏览:680
怎么用matlab编程 浏览:781
解压助眠小动物吃东西 浏览:341
外圆倒角60度编程视频 浏览:491
vcc编译没问题运行跳不见 浏览:750
ada编译成dll 浏览:473
单片机代码跳掉 浏览:450
程序员谈薪水压价 浏览:864
荣耀10青春版支持方舟编译啊 浏览:161
最优估计pdf 浏览:829
androiddrawtext字体 浏览:672