Questions tagged [hopper]

Hopper is an interactive disassembler similar to IDA, available for macOS, Windows and Linux

Filter by
Sorted by
Tagged with
0
votes
0answers
79 views

Why decrement a hex value in assembly code?

I am running a disassembly of a firmware image for a Cortex-M4 and the entry point is doing something strange. EntryPoint: 00001000 db 0x00 ; '.' 00001001 db 0xff ; '.' 00001002 ...
0
votes
1answer
70 views

Not able to find Hard coded strings in the mac executable file

I know that there is a string called "Activate your subscription" used in this particular app. But Im not able to find this string from its executable. I tried strings myapp and also searched for same ...
1
vote
0answers
44 views

Is there any way to execute Hopper scripts from command line?

What should I do if I have a batch of binaries to decompile with Hopper? I know how to run a Hopper script in the UI interface, is there any way to run Hopper scripts from command line? Or any other ...
1
vote
1answer
144 views

When I write into a memory address in gdb, is it an absolute address or PC-relative address?

Recently I tried to use Hopper Disassembler to do the reverse engineering on a Mac application. After decompiling the executable file, I got a bunch of cstrings defined in the specific location. For ...
3
votes
2answers
1k views

Basic actions in hopper disassembler

I have some questions about some hopper disassembler features. Is there a way to add a structure definition to the database ? How ? Is there a way to assign a type (especially structure or structure ...
1
vote
0answers
370 views

Patching an ipa (iPhone app) using Hopper Disassembler

I have learned in the past to patch some iOS apps to bypass jailbreak detection. Today, I decided to change the UI elements in the Spotify app on iOS Platform (ios 11). I downloaded a .ipa file of ...
2
votes
0answers
100 views

Hopper: What does stack[xxxx] mean?

When using the 'decompiler' tool in Hopper on the start function of an application it shows this: What does the stack[2043] mean, is it 2043 bytes from the top of high memory and its assigning it to ...
3
votes
2answers
878 views

How to use Hopper Debugger Server

I am assuming that Hopper Debugger Server is meant to allow you to remotely debug an potentially malicious app. For example, I would like to debug an app that is running on a VM or on a separate ...
2
votes
1answer
343 views

Macho - remove a LOAD COMMAND from iOS binary

I want to remove a LOAD_COMMAND from my iOS app binary. I tried jtool: jtool -rC 3 my_app_binary This worked when I was removing a dynamic library. But it generated an empty binary file and the ...
1
vote
1answer
133 views

mov dword ptr[eax], 1 is invalid in Hopper Disassembler?

I'm trying to Patch a 32bit ELF file with Hopper disassembler The ASM code I use is like the following mov dword ptr [eax], 15 But when I enter that expression, Hopper consider it as invalid? It ...
0
votes
1answer
142 views

Is it possible to export/import type definitions in Hopper

Can I export my type definitions from one Hopper project and import them to another? I would like to define the data types used for a target just once, then export/import them when reversing new ...
2
votes
1answer
2k views

Entry point for STM32 firmware

I'm trying to disassemble a firmware for a DIY project, open hardware but closed firmware. My question is how to initialize the disassembler properly (Hopper Disassembler). The values I try to figure ...
3
votes
1answer
3k views

Changing strings in Hopper Disassembler

I am currently learning and I wanted to ask, how can I change a text (string) from inside an app I am reversing? For example "To begin, please login". I have found the XREF to the string location but ...
0
votes
1answer
168 views

How relaunch iOS app once ASLR has been disabled?

On a jailbroken iOS device, I have successfully decrypted an app, and disabled ASLR, thanks to the hundredth of tutorials available. But then, none explain how relaunch the app once ASLR has been ...
6
votes
2answers
958 views

How find all subroutine calls using Hopper?

How one can find all subroutine calls once an iOS app has been load into Hopper ? If I understand correctly, a subroutine is identified by a unique address. So in the binary, all calls to this ...
3
votes
1answer
324 views

How does the 'graphic views' on Hopper Disassembler work?

I would like to understand better what is that information on "graphic views" at the inspector of Hopper Disassembler. I've checked the tutorial but it just skips this section. Thanks.
-1
votes
1answer
310 views

Disassembling code with Hopper

I'm trying to figure out what this code is doing. The first thing that I don't understand is the condition that tests if arg0's value is 0x2. I read that 0x2 in ASCII is STX (Start of text). Here's ...
0
votes
1answer
125 views

Changing NSUserDefaults of a mac or iOS binary executable

I have an executable of a mac or ios app. This app uses a value stored for a key in NSUserDefaults to change app's flow. It looks something like below code, If( value set in user details ) ...
4
votes
2answers
1k views

Decoding the wire protocol (over RS232) for custom hardware <-> windows application?

Background I have a hardware device with an RS232 port, and a Windows (XP) application that it talks to. No OS-level drivers beyond basic serial, so all the decoding is done in the app. I have the ...
1
vote
0answers
371 views

Hopper remote debugging

I have hopper on my Mac and work fine for disassemble, now I want to debug an exe file, but I have a problem... with ida you can remote debugging, is there any method where I have hopper on my Mac (...
8
votes
2answers
2k views

Hopper on Linux — how to use GDBserver

I'm looking for a good front-end to GDB and looks like Hopper is a good alternative. Unfortunately, I wasted several hours but still couldn't make it working with gdbserver. Here are the steps I'm ...
2
votes
1answer
151 views

Unknown variable from asm code

During translating some asm code into pseudocode I've found two variables: $rbp-0xb4 and $rbp-0xb8 function check_password(arg0) { var_18 = *0x28; //stack checksum? if (parse_cereal(var_D0, ...
3
votes
1answer
1k views

Wapiflapi reverse engeneering exercices

Right now I'm trying to solve r5 from here I've already tried to understand pseudo-code from Hooper function check_password { var_28 = arg0; if (strlen(var_28) != strlen("...
1
vote
1answer
860 views

Setting Breakpoints at functions decoded by Hopper/IDA Pro in an iOS app

So, its been very interesting to reverse engineer an iOS application and I have made significant improvement into learning how to read disassembly and understand them. Now I was trying to debug the ...
2
votes
1answer
3k views

What does Hopper's Debugger Server do?

Hopper offers a GDB/LLDB Debugger Server companion to the standard program. I'm unclear on what this should / can be used for. When I run the debugger server on the same machine that I'm using I see ...
1
vote
0answers
55 views

Basic Concept misunderstood? [duplicate]

First of all, it may be that I am just not getting how things work. Stultus sum. I am using a Mac with OSX (10.9), therefore with x86_64 architecture. I wanted to play around a bit with compilers ...
1
vote
1answer
81 views

Signed/unsigned representation of ints in decompiled code in Hopper

Hopper allows you to change the representation of numbers in the disassembly window so that: 0000be84 str r3, [r11, #0xfffffff0] becomes: 0000be84 str r3, [r11, #-0x10]...
3
votes
1answer
987 views

Interacting with command line programs in Hopper disassembler (Mac OS 10.9)

To test the debugging capabilities of Hopper, I wrote a simple C++ command line application, and tried to run it on the remote debugging server (with gdb). However, I learned after I failed to be able ...
5
votes
1answer
1k views

Load dSYM symbols in Hopper

Can I load dSYM symbols into Hopper? (I searched extensively in the menus etc. but couldn't find such an option) Context: I want to see how a program I created using Xcode was compiled into machine ...
34
votes
5answers
5k views

What is the reason for this method to call itself?

While reversing a 32bit Mach-O binary with Hopper, I noticed this peculiar method. The instruction on 0x0000e506 seems to be calling an address right below the instruction. What would be the reason ...
10
votes
1answer
888 views

Re-run autoanalysis in Hopper?

I have loaded a raw binary (ARM firmware image) into Hopper, and manually marked the entry point as code. But now I'd like to have Hopper do auto-analysis (recursive traversal) starting from that code ...
11
votes
2answers
2k views

Encrypted Mach-o binary cannot be disassembled/traced with GDB

I'm trying to analyze an encrypted Mach-O binary (non-iPhone one), and I am observing the following strange behaviors: when I load this binary into GDB and try to disassemble the code at the address ...
6
votes
1answer
809 views

Importing external libraries in Hopper scripts?

Can external libraries be used in Hopper scripts? I'd like to add PDB support to Hopper using pdbparse, but I haven't been able to get it to use external libraries. Alternatively, I suppose one could ...