导航:首页 > 源码编译 > 反编译论坛

反编译论坛

发布时间:2022-01-12 07:15:09

① 如何反编译一个MOD

这样怎么能够放在一起运行呢:我们可以使用一套固定的名称索引起来,而另一些名称可能当时的猜测是错误的,后来进入Mojang参与Minecraft开发的Searge。

Minecraft Forge,一套主流的Minecraft Mod API,如果Mod开发者想要提供其他Mod的兼容支持,那么就需要链接其他Mod的类,包括默许反编译等行为。当然:毕竟这些名称是从无到有猜测出来的,总有一些名称当时猜不出来。

首先,Mojang并不为其开发的Minecraft游戏提供源代码,同时,而非混淆的代码(deobf和sources)是供开发者使用的。

详细说来,此时因为开发环境使用的是未混淆名,所以引入的其他Mod也必须使用未混淆名,也就是题主所看到的deobf(提供编译后的后缀名为.class的文件)和source(直接提供后缀名为.java的源代码)两个JAR,所以其实这个映射表,针对Minecraft的修改行为(也就是我们通常所说的Mod和插件)从Minecraft发布不久就有人着手去做了,后来Mojang在Minecraft的最终用户许可协议(EULA)中明确表示了对Mod的支持。半混淆名又名SRG Name,以纪念MCP的领导者,运行Minecraft的时候把混淆名同样变成半混淆名,这样Mod就可以使用半混淆名正常工作了。

所以正如题主所见。这个映射表就应该是这个样子的:

不过这样就出现了一个问题,打包Mod和运行Mod的时候都使用这套名称不就可以了?所以映射表就变成了这样:

半混淆名有着形如func_xxxxxx_x或者field_xxxxxx_x的形式,我们要从Minecraft这一游戏本身说起。然而在开发Mod的时候:编译并打包Mod的时候把其中的未混淆名变成半混淆名,在直接Mod文件并运行的时候,其中的代码已经使用的是半混淆名了,其提供的游戏文件也是混淆过的,其中的类没有包名,在运行的时候使用的正是这套方式,就把上面提到的一些无意义的字母组合(又称Notch Name),一般情况下不会发生变动,类名方法名等也全都是abcdef这种无意义的字母组合。

不过。但是,旧的Mod使用的是修改前的名称,而新制作的Mod使用的是修改后的名称,Minecraft的Mod数量也非常之多,目前至少有上万个Minecraft Mod活跃在各个论坛社区中。

在Minecraft发布不久就出现了专门反编译和反混淆Minecraft代码的组织,这一组织就是MCP(Mod Coder Pack),MCP提供的若干个映射表?机智的人民群众很快就想到了一个办法,变成了有意义的方法名类名(又称MCP Name)等,是经常修改和补充的简单来说,就是题主看到的混淆代码(universal)是供玩家使用的

② exe反编译易语言

不行。
若要破解易语言写的程序,你可以用monkeycz写的E-Code Explorer进行反编译,再结合OD,但也不会转换成.e的源码。它只是在分析和解密易程序,都是汇编语言,所以楼主的要求,没什么可能实现了。呵。

③ 什么叫做反编译啊

反编译
计算机软件反向工程(Reversepengineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,作为自己开发软件时的参考,或者直接用于自己的软件产品中。

④ 安卓反编译apk代码没修改只是把软件名字改了

首先要说明一点,反编译是个灰色地带,是会触犯版权问题的。完全正当的用途不多,比如恶意软件的分析。
如果你真的想学反编译,去吾爱破解论坛上,认真把上面的教程都学一遍。这绝对不是什么简单的事情,需要大量的工作经验作为支撑。换句话说,如果你没有相应语言足够的实战开发经验,学反编译无异于蛇吞象。
安卓app是使用JAVA进行开发的,对安卓app的反编译就是对JAVA程序进行反编译。而JAVA的由于其本身原理的原因,从JAVA程序反编译为代码是比较简单的,不容易出错,并且整个过程是傻瓜式的。不像其他语言,比如C++,程序会彻底变为机器语言,就不容易直接使用软件恢复成代码了。
因此,为了保证自己的代码不被他人反编译,我们开始使用代码混淆技术。简单的例子,某个方法名本来是setUserName(String userName),这样的名字别人一看就知道是用来干嘛的,而使用了混淆之后,这个方法的名字就有可能变为c(String s),这样就不能够知道这个方法是做什么的了。换句话说,混淆能够急剧地增加反编译者的工作量,使之无法修改和获取自己app的真正代码。
总结一下,反编译不是闹着玩的,也不是修改一个所谓的“名字”就能够完成任务的。如果想要真正地修改APP,必须从头开始,把混淆的代码都恢复成原本的代码,至少,你也得知道被混淆之后的代码中,哪里是干嘛的。
同时也希望题主不要以身试法。

⑤ 怎么反编译D-Link路由器固件程序并发现它的后门

基于上面的字符信息可以看出,这个/bin/webs二进制程序是一个修改版的thttpd,提供路由器管理员界面操作功能。看起来是经过了台湾明泰科技(D-Link的一个子公司)的修改。他们甚至很有心计的将他们很多自定义的函数名都辅以“alpha”前缀:

明泰科技的自定义函数
这个alpha_auth_check函数看起来很有意思!
这个函数被很多地方调用,最明显的一个是来自alpha_httpd_parse_request函数:

调用alpha_auth_check函数
我们可以看到alpha_auth_check函数接收一个参数(是存放在寄存器$s2里);如果alpha_auth_check返回-1(0xFFFFFFFF),程序将会跳到alpha_httpd_parse_request的结尾处,否则,它将继续处理请求。
寄存器$s2在被alpha_auth_check函数使用前的一些操作代码显示,它是一个指向一个数据结构体的指针,里面有一个char*指针,会指向从HTTP请求里接收到的各种数据;比如HTTP头信息和请求地址URL:

$s2是一个指向一个数据结构体的指针
我们现在可以模拟出alpha_auth_check函数和数据结构体的大概样子:
struct http_request_t
{
char unknown[0xB8];
char *url; // At offset 0xB8 into the data structure
};

int alpha_auth_check(struct http_request_t *request);

alpha_auth_check本身是一个非常简单的函数。它会针对http_request_t结构体里的一些指针进行字符串strcmp比较操作,然后调用check_login函数,实际上就是身份验证检查。如果一旦有字符串比较成功或check_login成功,它会返回1;否者,它会重定向浏览器到登录页,返回-1;

alpha_auth_check函数代码片段
这些字符串比较过程看起来非常有趣。它们提取请求的URL地址(在http_request_t数据结构体的偏移量0xB8处),检查它们是否含有字符串“graphic/” 或 “public/”。这些都是位于路由器的Web目录下的公开子目录,如果请求地址包含这样的字符串,这些请求就可以不经身份认证就能执行。
然而,这最后一个strcmp却是相当的吸引眼球:

alpha_auth_check函数中一个非常有趣的字符串比较
这个操作是将http_request_t结构体中偏移量0xD0的字符串指针和字符串“xmlset_roodkcableoj28840ybtide”比较,如果字符匹配,就会跳过check_login函数,alpha_auth_check操作返回1(认证通过)。
我在谷歌上搜索了一下“xmlset_roodkcableoj28840ybtide”字符串,只发现在一个俄罗斯论坛里提到过它,说这是一个在/bin/webs里一个“非常有趣”的一行。我非常同意。
那么,这个神秘的字符串究竟是和什么东西进行比较?如果回顾一下调用路径,我们会发现http_request_t结构体被传进了好几个函数:

事实证明,http_request_t结构体中处在偏移量 0xD0处的指针是由httpd_parse_request函数赋值的:

检查HTTP头信息中的User-Agent值

将http_request_t + 0xD0指针指向头信息User-Agent字符串
这代码实际上就是:
if(strstr(header, "User-Agent:") != NULL)
{
http_request_t->0xD0 = header + strlen("User-Agent:") + strspn(header, " \t");
}

知道了http_request_t偏移量0xD0处的指针指向User-Agent头信息,我们可以推测出alpha_auth_check函数的结构:
#define AUTH_OK 1
#define AUTH_FAIL -1

int alpha_auth_check(struct http_request_t *request)
{
if(strstr(request->url, "graphic/") ||
strstr(request->url, "public/") ||
strcmp(request->user_agent, "xmlset_roodkcableoj28840ybtide") == 0)
{
return AUTH_OK;
}
else
{
// These arguments are probably user/pass or session info
if(check_login(request->0xC, request->0xE0) != 0)
{
return AUTH_OK;
}
}

return AUTH_FAIL;
}

换句话说,如果浏览器的User-Agent值是 “xmlset_roodkcableoj28840ybtide”(不带引号),你就可以不经任何认证而能访问web控制界面,能够查看/修改路由器的 设置(下面是D-Link路由器(DI-524UP)的截图,我没有 DIR-100型号的,但DI-524UP型号使用的是相同的固件):

访问型号DI-524UP路由器的主界面
基于HTML页上的源代码信息和Shodan搜索结果,差不多可以得出这样的结论:下面的这些型号的D-Link路由器将会受到影响:
DIR-100
DI-524
DI-524UP
DI-604S
DI-604UP
DI-604+
TM-G5240
除此之外,几款Planex路由器显然也是用的同样的固件程序:
BRL-04UR
BRL-04CW

⑥ 百度云os系统怎样反编译状态栏

1、下载网络os,放到厨房里面合并apk和odex(这一步的主要目的是为了让反编译工作顺利进行)
2、提取合并后的framework-res.apk和Baisystemui.apk
3、设置framework-res.apk为构架环境
4、反编译Baisystemui.apk
5、打开res、value目录下的drawables.xml文件,搜索
<item type="drawable" name="status_bar_background">#ff000000</item>
6、找一个透明的状态栏图片,重命名为status_bar_background.png,把这个图片放到res、drawable-hdpi目录下面
本帖隐藏的内容7、找到res\layout下面的status_bar_expanded_switch.xml文件,打开,找到第6、12、33行,找到那句话
layout="@yi:layout/yi_list_item_header"
需要做的就是把它改为:
layout="@layout/switch_activity_item"
然后,保存,回编译。

⑦ 怎么反编译settings.apk

事项:
1.反编译系统文件必须是从官方提取的.APK文件。(因为APK只能实现一次反编译,就是说如果这个文件已经反编译过了,就不能再次反编译,就算你反编译了也不能回编译。)
2.编译工具论坛上很多可以自己搜索下载,存放的位置文件夹最好不带中文。
3.覆盖原文件时一定要切记,先移动到系统文件夹下,然后修改权限,然后在覆盖原来APK(不然会怎么样,我相信大家懂的{:soso_e144:} )
4.就算附件中有反编译工具也要自己搭建好java环境(因为一切反编译的工具都是建立在JAVA环境的基础上的)

开始教程:
1.关于JAVA、环境变量,请搜索教程帖
2.环境变量设置成功后,就是提取你手机上的Settings.apk。
3.进行反编译,(我想有一定美化基础的应该很会简单的),反编译后得到Settings文件夹打开然后\res\values-zh-rCN\找到strings文件,右键打开,打开方式选择看你习惯。

修改好以后选择保存,回编译。
回编译好的APK用鼠标右键单击 选择用好压打开然后将resources.arsc 拖拽出来。然后在把JU1.1的Settings.APK提取出来也用好压打开,将刚才拖拽的resources.arsc 文件在拖拽到JU得APK中。然后点覆盖。然后在将其移动到SYSTEM\APP里 就OK了(记得修改权限)

这个需要在手机上操作
打开RE管理器,打开里面的system,找到build.prop.长按弹出对话框,选择:使用文本编辑器打开(右上角要改为读写哦)
第四行的:ro.build.display.id= 等号后面就是你想要输入的不要过长哦~
第八行的:ro.build.version.release= 同上

修改完成后,点击左虚拟键,也就是设置键,选择:保存并退出。
你会在build.prop下面发现它的备份文件,删除,重启,OK~全部完成~

⑧ MOT能反编译吗M16C/R8C瑞萨单片机论坛

我能,如,M16C_26,M16C_28,M16C_62等系列! 每个系列举例一个型号:M30260xxx, M30280xxxx, M3062x或M3062L等,F汇编出来直接在原机运行!还有C51系列,AVR系列,TI的DSP生成的OUT文件都能F汇编! Q1580708025Q

⑨ 有没有可以反编译安卓数据包的软件(obb格式)

安卓手机上有一款软件叫 apktool 的反编译软件应该可以解决你的问题 去论坛找找看

提供机锋地址:http://bbs.gfan.com/forum.php?mod=viewthread&tid=6028134

祝你成功

忽然发现我看错了 是obb数据包啥

obb是外部扩展的资源文件,加密

要在linux下面,挂载obb文件,必须知道它的密码,要具备的知识太多了

⑩ .Net Reflector反编译工具如何将注释显示出来

显示不出来,编译的时候去掉了。只有查看源代码或者用VS等引用类库才能看到。

阅读全文

与反编译论坛相关的资料

热点内容
服务器一直崩应该用什么指令 浏览:916
cm202贴片机编程 浏览:724
php构造函数带参数 浏览:175
解压电波歌曲大全 浏览:336
为啥文件夹移到桌面成word了 浏览:858
命令符的安全模式是哪个键 浏览:758
编程中学 浏览:956
单片机求助 浏览:993
ug加工侧面排铣毛坯怎么编程 浏览:271
程序员有关的介绍 浏览:736
支付宝使用的什么服务器 浏览:210
安卓看本地书用什么软件好 浏览:921
经传软件滚动净利润指标源码 浏览:522
萤石云视频已加密怎么解除 浏览:574
一命令四要求五建议 浏览:30
qq文件夹迁移不了 浏览:19
液体粘滞系数测定不确定度算法 浏览:332
轻栈源码 浏览:426
把图片压缩到500k 浏览:35
命令你自己 浏览:369