导航:首页 > 源码编译 > obj反编译

obj反编译

发布时间:2022-02-22 01:04:18

‘壹’ 反编译后,关于Object的困惑!

ghgb

‘贰’ 什么软件能将C语言的执行文件反汇编为汇编源代码

可以使用Linux下的objmp命令来反汇编。
常用命令:
objmp -x obj:以某种分类信息的形式把目标文件的数据组成输出;<可查到该文件的的所有动态库>
objmp -t obj:输出目标文件的符号表
objmp -h obj:输出目标文件的所有段概括
objmp -j ./text/.data -S obj:输出指定段的信息(反汇编源代码)
objmp -S obj:输出目标文件的符号表,当gcc -g时打印更明显
objmp -j .text -Sl stack1 | more
-S 尽可能反汇编出源代码,尤其当编译的时候指定了-g这种调试参数时,效果比较明显。隐含了-d参数。
-l 用文件名和行号标注相应的目标代码,仅仅和-d、-D或者-r一起使用
使用-ld和使用-d的区别不是很大,在源码级调试的时候有用,要求编译时使用了-g之类的调试编译选项。
-j name 仅仅显示指定section的信息

‘叁’ webpack打包过的代码怎么反编译回来

javaScript Document
function show(str)
{
var str1="td"+str;
var str="show"+str;
for (var i=1; i<18; i++)
{
var obj = document.getElementById('show' + i.toString());
if (obj) obj.style.display = 'none';
}
document.getElementById(str).style.display="block";
}

‘肆’ 混淆的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);
}

‘伍’ .Net环境下如何引用*.obj文件高程出手相救!

一:你可以在“解决方案资源管理器”窗口中的“项目”下的“引用”节点上右键——“添加引用”,然后点“浏览”找到你要加入引用的程序,并点击“确认”。
另外,在使用时,你要引用它的命名空间(using namespace)

二:如果你是用“引用其他DLL”的方法去写的这个程序,那么你没有办法将你所引用的DLL放到你的程序里而不需要被引用的DLL的。
除非你反编译你引用的那个DLL,并将它原样放到你的程序中。

‘陆’ asm转换成obj的原理是什么

你以为得到源码是那么容易的。。。
自己去看看汇编原理就明白了。
特别是,程序是怎么编译成可执行程序的。

而且,obj是C语言的目标文件,
和汇编有多大关系呢?反编译出来估计你也很难看懂。

如果实在想看,弄个ollydbg打开它,慢慢研究

‘柒’ 编写的C语言文件程序 保存以后生成.obj 和.exe的可执行文件。。怎么在其他电脑里读出来啊

可以直接运行的,exe是可执行文件,不需要安装c语言软件(你的系统都是c语言编的)。
.C的文件直接用记事本打开编辑,这个你肯定知道。
.OBJ的就不知道了,这个一般不用看的。

‘捌’ java反编译后得到的源码 很混乱 怎么办

不是每个反编译都能完美的,用eclipse规范下代码,然后不符合的语法的方法,自己换成适合当前jdk版本支持的就可以了,反编译还是得花力气在代码的上,偷懒有限啊。

阅读全文

与obj反编译相关的资料

热点内容
安卓手机系统怎么终止系统更新 浏览:701
程序员需要注重养生吗 浏览:402
php框架网页 浏览:914
sed脚本执行系统命令 浏览:911
linux选中命令 浏览:138
outlook发件加密 浏览:259
h3c历史命令 浏览:507
曙光服务器怎么创建用户 浏览:721
命令文案例 浏览:798
识别什么花app 浏览:820
线上app是什么意思 浏览:45
单片机屏蔽部分端口 浏览:329
苹果版app是什么 浏览:745
云服务器能更换地址 浏览:76
linux预读算法 浏览:558
视频用什么app编辑 浏览:70
编译原理清华实验 浏览:978
闲蛋app人气怎么样 浏览:275
javacatch用法 浏览:861
京峰教育python 浏览:986